Is there an easy way to test the map changes?

Hi
I am recently developing my own map on windows 10 using UE 4.19.2 and Carla 0.9.0. I am using the branch "fix_vs2017_build_solution" because the master branch can't be built on my machine.
I use "make launch" to build the new CarlaUE4.exe. I found that this cmd can't load the new changes in the map. So now every time I want to test the map, I have to "make clean" first then "make launch".
I also tried to "Play" the map using the UE editor, then start the PythonAPI to connect to it. However, I found that Cara becomes extremely slow.
Is there an easier way to test the map? E.g., can I hit "play" in UE editor and then manually control a car in the map inside the editor?
I also found that, if I add a new map, e.g., "Town04", even if I added this map to the project's package settings,( follow the discussion in #808 ) I still can't use this new map.  If I use ./CarlaUE4.exe /Game/Maps/Town04, it complains that the map can't be found.
Thanks

@TheNihilisticRobot thanks! That really helps!

hi @TheNihilisticRobot can you list the differences between those modes? I changed the gamemode to CarlaGameMode, it worked. But if I compiled the binaries using this mode, the pythonAPI couldn't connect to the server. I also tried to use "CarlaUE4.exe -carla-server", this didn't work, either. So now I don't know how to make this work...
What mode is the default for the carla-server?  How can I make my compiled binary run as the server by default?

@TheNihilisticRobot  Thank you so much for the speedy reply! It works again ;)


Fall back to the older setuptools-scm template style

setuptools-scm changed their template style for versions.
Lets fall back to the older template style if the new style does not exist.
Resolves #327

Specifically the versions that contain the fix and is specified in the toml file https://github.com/tox-dev/sphinx-autodoc-typehints/blob/main/pyproject.toml#L3

Good luck. Requiring modern python packaging standards is the minimum for any reasonable python project.


[Feature Request]: CJS support

Package
All Lucia packages
Describe the problem
based on our conversation in #365 :
I'm trying to use Lucia in a NestJS application and I have to do some eval trickery to avoid the following error when importing lucia:
Error [ERR_REQUIRE_ESM]: require() of ES Module<EMAIL_ADDRESS>from [...]/dist/src/lucia/lucia.service.js not supported.
Instead change the require of index.js in [...]/dist/src/lucia/lucia.service.js to a dynamic import() which is available in all CommonJS modules.

I'm aware this issue is to do with TypeScript when compilerOptions.module is set to "CommonJS" but since that can't be changed in Nest, CJS support would be nice.
Describe the proposed solution

A bundler can be used to build to UMD as discussed here: https://stackoverflow.com/a/63121798/13398960
vite's build.lib option can be configured to output UMD: https://vitejs.dev/config/build-options.html#build-lib

Alternatives considered
I'm currently using a hacky workaround for all Lucia related imports using eval:
export const lucia = <C extends Configurations>(config: C): Promise<Auth<C>> =>
  (eval("import('lucia-auth')") as Promise<typeof import('lucia-auth')>).then(
    ({ default: lucia }) => lucia(config),
  );

Additional information
If this is fixed I'd be happy to create a NestJS integration. I have most of the necessary code already done.

My bad it seems that you only need to change compilerOptions.module to "UMD", will open a PR soon

I've decided to only support ESM. It's the standard and the future, and newer frameworks/libraries are starting to drop CJS support as well. Supporting both import resolutions is a nightmare in general, and I don't think it's worth the trouble. Super sorry that it took quite some time to respond!


initSession and getLatestReferringParams both return empty JSONObject

I'm using android branch sdk 2.5.7
there are two activity in my app
LoginActivity and MainActivity
LoginActivity is default activity which run first when app is opened.
android manifest :
<activity
            android:name=".LoginActivity"
            android:launchMode="singleTop"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustPan">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <data
                    android:host="open"
                    android:scheme="xxxxx" />
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
            </intent-filter>
        </activity>

im initialising Branch sdk in custom application class
public class MyApp extends Application {
@Override
    public void onCreate() {
        super.onCreate();
        Branch.getAutoInstance(this);
    }
}

in MainActivity im initialising Branch session

@Override
    public void onStart() {
        super.onStart();
        Branch branch = Branch.getInstance();

        branch.initSession(new Branch.BranchReferralInitListener() {
            @Override
            public void onInitFinished(JSONObject referringParams, BranchError error) {
                try {
                    if (error == null) {
                        PrintLog.i("MyApp", "" + referringParams.toString()); // here it is an empty dictionary
                    } else {
                        PrintLog.i("MyApp", "error " + error.getMessage());
                    }
                } catch (JSONException e) {
                }
            }
        }, this.getIntent().getData(), this);
    }

    @Override
    public void onNewIntent(Intent intent) {
        this.setIntent(intent);
    }

if user is already logged in then LoginActivity opens MainActivity automatically else user has to login first then MainActivity is opened and this is where im having problem if app is opened by a branch link
if app is opened via a branch link and if user is not logged in then after logging-in in MainActivity after initSession or getLatestReferringParams returns empty jsonobject
if user is already logged in then everything is working fine, i cannot figure out what im doing wrong as in docs it is mentioned that i can call getLatestReferringParams to get deeplinking params anytime if app is opened by a branch link

Hey @nishantpardamwar -- You can see functional examples for how to retrieve data properly in the following repos: https://github.com/BranchMetrics/Android-Branch-Refer-A-Friend-Example - https://github.com/BranchMetrics/Branch-Example-Deep-Linking-Branchster-Android - https://github.com/BranchMetrics/android-branch-deep-linking/tree/master/Branch-SDK-TestBed -- Once you call initSession, init'ing a new session will return an empty payload. You can use getLatestReferringParams (as you saw in the docs) after init session to grab the latest params which are stored in shared preferences, but upon onStop() (navigating away from your app) this function will return an empty payload as well. We suggest using singleTask for deep linking activities vs singleTop, btw. Please play with our example projects to gain an understanding of how to grab branch link data, and note the differences. If you require additional assistance and or think you have discovered a bug, please write in to<EMAIL_ADDRESS>for 1:1 support :).


Add support for VBE_DISPI_INDEX_X_OFFSET

Adds support for horizontal offset in Bochs VESA BIOS Extension.
Should fix issue #1088.

I don't believe this change is correct. The vga code copies memory linearly (and thus only supports offsets on the y axis). See https://github.com/copy/v86/blob/master/src/rust/cpu/vga.rs
Note that virtual width/height are also not supported. Writes to the corresponding registers (6 and 7) are ignored, and reads simply return full width/height.

I don't believe this change is correct. The vga code copies memory linearly (and thus only supports offsets on the y axis). See https://github.com/copy/v86/blob/master/src/rust/cpu/vga.rs

This PR does not change the linear memory layout in VGA RAM.
What it changes is the calculation of the fixed offset in VGA memory this.svga_offset where this linear block of memory begins.
As you pointed out, this.svga_offset can currently only be a multiple of the horizontal screen size, in vga.js lines 2126-2136 it is effectively calculated as:
this.svga_offset = this.svga_offset_y * this.svga_width;

This PR only extends this calculation to:
this.svga_offset = this.svga_offset_y * this.svga_width + this.svga_offset_x;

This does not change the linear nature of the memory block that starts at this.svga_offset, only the fixed offset where it starts.

Note that virtual width/height are also not supported. Writes to the corresponding registers (6 and 7) are ignored, and reads simply return full width/height.

Yes, and I have not changed that, this PR is independent of virtual width and height. I understand that SVGA in V86 is linear-only.
Let's take a step back and look at what motivated this PR.
To better see this defect I've made two new 1280x960 screenshots, both show a maximized terminal window running the top command (to compare it's best to open these two screenshots in separate browser tabs).
Before this PR:

After this PR:

It helps to zoom in into the top-right corner of the first screenshot, notice the top scanline and the 1px Y-offset:

This looks exactly like the visual glitch I would expect if an offset into VGA memory was off by some value X_OFFSET being less than X_WIDTH (the length of a single scanline which is 1280 in this case). If the difference was larger than X_WIDTH then we would seen only a section or even nothing in the first screenshot, but we see all lines (although shifted by X_OFFSET).
When I looked into this I noticed two things:

the "cut" on the right side is at X = 1024, and
Alpine attempts to write 1024 into the VBE_DISPI_INDEX_X_OFFSET register when setting this 1280x960 video mode.

Hence I included VBE_DISPI_INDEX_X_OFFSET in the calculation of this.svga_offset as described above, which worked and eventually led to this PR.
I've looked over the rust code but fail to see how it is affected by this PR other than being passed a different value in argument svga_dest_offset (being this.svga_offset) which it simply uses as the linear offset for the copy destination buffer. My rust knowledge is probably insufficient, I'd kindly ask you to point me more directly to the problem that this PR causes in cpu/vga.rs.

Bochs handles VBE_DISPI_INDEX_Y_OFFSET and VBE_DISPI_INDEX_X_OFFSET structurally the same as in my interpretation (the details are a bit different because Bochs implements VBE_DISPI_INDEX_VIRT_WIDTH), see:
https://sourceforge.net/p/bochs/code/HEAD/tree/trunk/bochs/iodev/display/vga.cc#l1180
In addition, when the SVGA gets switched into enabled state in the handler of VBE_DISPI_INDEX_ENABLE, Bochs resets offset_x (VBE_DISPI_INDEX_X_OFFSET) and offset_y to 0, I think that's a good idea and missing from this PR, if you want I can add similar code to this PR at the equivalent spot in vga.js.

I see, thanks for the explanation. I was under the impression that fixing the bug required virtual size support, and that x offset only made sense in conjunction with virtual size support. Alpine's behaviour here is a bit weird, but I see how the fix is correct.

In addition, when the SVGA gets switched into enabled state in the handler of VBE_DISPI_INDEX_ENABLE, Bochs resets offset_x (VBE_DISPI_INDEX_X_OFFSET) and offset_y to 0, I think that's a good idea and missing from this PR, if you want I can add similar code to this PR at the equivalent spot in vga.js.

Yes, feel free to include that change in this PR, then I'll merge.

I added the three lines to the PR.
It's a big pleasure for me to contribute to this great project!

Alpine's behaviour here is a bit weird, but I see how the fix is correct.

I was also wondering why it's doing that.
IIRC that X_OFFSET changes when you modify the screen resolution in Alpine, and it didn't appear plausible to me in any way.
However, this PR fixes that, all screen resolutions in Apline work now.

It's a big pleasure for me to contribute to this great project!

Appreciate your contributions :-)


Replying with 0 results for a multi-select external option display previous successful results

(Filling out the following details about bugs will help us solve your issue sooner.)
Reproducible in:
pip freeze | grep slack
python --version
sw_vers && uname -v # or `ver`

The slack_bolt version
slack-bolt==1.9.1
slack-sdk==3.10.1
Python runtime version
Python 3.8.10
OS info
#36~20.04.1-Ubuntu SMP Fri Aug 27 08:06:32 UTC 2021
Steps to reproduce:
(Share the commands to run, source code, and project settings (e.g., setup.py))

Create a socket mode app with shortcut (e.g. test-open for below source)
Run the app below and trigger the shortcut
Type in for the multi-select. It will generate 1, then 2 options and then 0 options.

#!/usr/bin/env python3
import json
import os
import tempfile
import time

from slack_bolt import App
from slack_bolt.adapter.socket_mode import SocketModeHandler

bot_token = os.environ['BOT_TOKEN']
app = App(token=bot_token)
count = 0

@app.shortcut('test-open')
def test_open(ack, shortcut, client):
    client.views_open(
        trigger_id=shortcut['trigger_id'],
        view={
            'type': 'modal',
            'callback_id': 'view-response',
            'title': {'type': 'plain_text', 'text': 'Test update'},
            'close': {'type': 'plain_text', 'text': 'Close'},
            'submit': {'type': 'plain_text', 'text': 'Send'},
            'blocks': [
                {
                    'type': 'section',
                    'block_id': 'test-section',
                    'text': {
                        'type': 'plain_text',
                        'text': 'Enter something'
                    },
                    'accessory': {
                        'action_id': 'action',
                        'type': 'multi_external_select',
                        'placeholder': {
                            'type': 'plain_text',
                            'text': 'Type something'
                        },
                        'min_query_length': 1
                    }
                }
            ],
        }
    )

@app.options('action')
def handle_options(ack, body):
    global count
    count = (count + 1) % 3  # Returns 0 results every 3 times.
    opts = []
    for i in range(count):
        opts.append({
            'text': {
                'type': 'plain_text',
                'text': f'Sample {i}'
            },
            'value': f'sample-{i}'
        })
    if len(opts) == 0:
        print('Sending 0 options')
    ack(options=opts)

if __name__ == '__main__':
    handler = SocketModeHandler(app, os.environ["APP_TOKEN"])
    handler.start()

Expected result:
When the multi-select option display 0 results I expect it to return "Nothing could be found."
Actual result:
The options listed are based on the previous successful results.
This behavior confuses users as the results don't match what they were searching.
I'm not sure if this is a bolt-python issue, or something else (I never got to doing something this advanced when I had to write the websocket or REST code)
Requirements
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

Hey @prziborowski - That's interesting. Based on what your code is doing here in sending an empty opts array every 3 times, this seems related to the default behavior of the multi_external_select, not bolt-js. It appears to be caching previously results as you point out. If you return an empty opts the first time, we do receive the "Nothing could be found" message, but only then.
I agree, that's confusing. I'm not sure that there is a workaround for this at the moment to get the behavior you want, since this is outside of bolt-js, but I will take this feedback to the team internally. 🙇

Did the team come back with any reply on whether this is intended behavior or not?
For now I've worked around it by returning a result that states "Please try a broader query." and hope no one clicks on that.

@prziborowski - Thank you for looping back on this. I submitted this behavior as feedback and it's looking like it's a bug. I'm going to signal boost with our technical architecture team to see if we can confirm.
Thanks for sharing your workaround - that will be helpful for anyone looking around whose noticed the same issue.
Also, FYI the maintainers are trying out a new flow with github-actions to see whether we can get more threads / issues to resolution by surfacing them proactively. Since we're commenting again on this thread, it's no longer considered stale!

I guess the bot doesn't like the lack of updates.
Did the technical architecture team come back with a response on whether it will be considered a bug?
Thank you.

Hi @prziborowski, we've checked this issue again and found that this is a bolt-python bug. We'll fix this quickly and release a new patch versions shortly. We're so sorry for keeping you waiting here for a while.


boxplot download too slow: trying shrinking image size?

image size only too big with pdf (~7mb) - scaling width/height does not lower size without cutting out parts of the plot. png works fine (~140kb), changed png to first option


Health and Metrics port numbers clash

The issue is that in some scenarios port 8080 and 8081 are already in use by other services on the system. When this happens the bpfman-agent container fails to deploy
# kubectl describe pods -n bpfman bpfman-daemon-4cs8d

Events:
  Type     Reason     Age                From               Message
  ----     ------     ----               ----               -------
  Normal   Scheduled  21s                default-scheduler  Successfully assigned bpfman/bpfman-daemon-4cs8d to wsfd-advnetlab47.anl.lab.eng.bos.redhat.com
  Normal   Pulling    21s                kubelet            Pulling image "quay.io/fedora/fedora-minimal:latest"
  Normal   Pulled     20s                kubelet            Successfully pulled image "quay.io/fedora/fedora-minimal:latest" in 207ms (207ms including waiting)
  Normal   Created    20s                kubelet            Created container mount-bpffs
  Normal   Started    20s                kubelet            Started container mount-bpffs
  Normal   Pulling    19s                kubelet            Pulling image "quay.io/bpfman/bpfman:latest"
  Normal   Started    17s                kubelet            Started container bpfman
  Normal   Created    17s                kubelet            Created container bpfman
  Normal   Pulled     17s                kubelet            Successfully pulled image "quay.io/bpfman/bpfman:latest" in 1.908s (1.908s including waiting)
  Normal   Pulling    17s                kubelet            Pulling image "quay.io/bpfman/bpfman-agent:latest"
  Normal   Pulled     14s                kubelet            Successfully pulled image "quay.io/bpfman/bpfman-agent:latest" in 2.977s (2.977s including waiting)
  Normal   Pulling    14s                kubelet            Pulling image "quay.io/bpfman/csi-node-driver-registrar:v2.9.0"
  Normal   Pulled     14s                kubelet            Successfully pulled image "quay.io/bpfman/csi-node-driver-registrar:v2.9.0" in 246ms (246ms including waiting)
  Normal   Created    14s                kubelet            Created container node-driver-registrar
  Normal   Started    14s                kubelet            Started container node-driver-registrar
  Warning  BackOff    11s (x2 over 12s)  kubelet            Back-off restarting failed container bpfman-agent in pod bpfman-daemon-4cs8d_bpfman(b0e1ffb4-811e-4843-9c6a-5f050a39a8f3)
  Normal   Created    0s (x3 over 14s)   kubelet            Created container bpfman-agent
  Normal   Started    0s (x3 over 14s)   kubelet            Started container bpfman-agent
  Normal   Pulled     0s (x2 over 13s)   kubelet            Container image "quay.io/bpfman/bpfman-agent:latest" already present on machine

# cat /var/log/pods/bpfman_bpfman-daemon-4cs8d_b0e1ffb4-811e-4843-9c6a-5f050a39a8f3/bpfman-agent/3.log
2024-01-11T04:11:06.859284438-05:00 stderr F {"level":"info","ts":"2024-01-11T09:11:06Z","logger":"controller-runtime.metrics","msg":"Metrics server is starting to listen","addr":":8080"}
2024-01-11T04:11:06.859563984-05:00 stderr F {"level":"error","ts":"2024-01-11T09:11:06Z","logger":"setup","msg":"unable to start manager","error":"error listening on :8081: listen tcp :8081: bind: address already in use","stacktrace":"main.main\n\t/usr/src/bpfman/bpfman-operator/cmd/bpfman-agent/main.go:100\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:250"}

The developer/user then needs to rebuild the bpfman images with different port numbers and push them to their own registry then re-use these new container images to deploy bpfman as was done here.
A baseline proposal would be to change the port numbers being used in the baseline images to something less common.
An additional proposal would be to move the building of images to a local script similar to what's provided in other projects (like submariner/shipyard to allow a user to easily build images and push them to a local registry or a registry of their choosing.

Thanks for opening this!
I think the best way forward would be to just be to make the bpfman agent/operator health and metrics ports configurable by the user via the bpman-confimap, and the bpfman-operator deployment yaml right?

I think the best way forward would be to just be to make the bpfman agent/operator health and metrics ports configurable by the user via the bpman-confimap, and the bpfman-operator deployment yaml right?

Yeah - that would be ideal. I wasn't sure if this was possible and was working within the realms of what's in the bpfd-agent ATM, which is the expectation the flag params to be set in the pod spec in order to  use these params in the controller manager creation right at the start:
So in the pod spec:
          command: [/bpfd-agent]
          args:
            - "--health-probe-bind-address=:8091"
            - "--metrics-bind-address=<IP_ADDRESS>:8090"

On bpfd-agent launch:
	flag.StringVar(&metricsAddr, "metrics-bind-address", ":8080", "The address the metric endpoint binds to.")
	flag.StringVar(&probeAddr, "health-probe-bind-address", ":8081", "The address the probe endpoint binds to.")
	flag.Parse()
...

	mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{
		Scheme:                 scheme,
		MetricsBindAddress:     metricsAddr,
		Port:                   9443,
		HealthProbeBindAddress: probeAddr,
		LeaderElection:         false,
		// Specify that Secrets's should not be cached.
		ClientDisableCacheFor: []client.Object{&v1.Secret{}},
	})

So adding a config-map option would be much more flexible. I'm not sure if backwards compatibility is something that needs to be considered at this stage...


Optimize plotting (i.e. core classes)

Description
Optimize core classes > plotting speed.
Plus, ticking off tasks from: https://github.com/dominiquesydow/dynophores/issues/8
Todos

[x] Optimize core classes (calling occurrence/distance data) > optimize plotting (static/interactive)
[x] Allow CLI dynoviz create without dcd
[x] Add cloud names to nglview
[x] Add nglview/TrajectoryPlayer to user notebook
[x] Load nglview from Dynophore, not PML file
[x] Update package scope in README in docs/
[x] Update unit tests
[x] Update notebooks

Questions
None
Status

[x] Ready to go

Codecov Report

Merging #15 (45467c9) into master (b23453b) will decrease coverage by 3.25%.
The diff coverage is 72.72%.


[Question] There's any plan to support Laravel 11?

I am just wondering :)
Your package is quite helpful and I am currently evaluating the migration to L11.

Hi @jeffersonsouza,
First and foremost, I sincerely apologize for the delayed response. Life and work have been keeping me quite busy, but I truly appreciate your patience.
Thank you so much for raising this issue and for your interest in seeing the package support Laravel 11! I'm glad to hear that you find the package helpful, and I appreciate your initiative in evaluating the migration to Laravel 11.
I also want to express my gratitude for the Merge Request you submitted. I'm happy to inform you that it has been reviewed and approved. Your contribution is invaluable, and it’s thanks to efforts like yours that open-source projects continue to thrive.
If you have any additional suggestions, ideas, or feedback, please don't hesitate to share. Your input is always welcome!
Thanks again for your support and contribution.
Best regards,
@AliReaza


Return the height of any element

Hi,
Thanks for the great library, it really works pretty well!
Can you return the height of any element ? This will be very helpful if we have for example table and text that should be placed under table. ( table can be different sizes)
For now, I can't find any solution and I need to work with source code to get such info.
Do you have any ideas or did you try it before?
Thanks in advance.

Hi @Morozov90
Thanks for the feedback.
Theoretically, it's possible to determine an approximation, but PowerPoint is the ultimate determiner of the table size.  I'm not sure of the level of demand for this feature, so you may end up forking it for this feature.
Check out the version-3.0 branch - the new table generation code for auto-paging determines the height as it executes. You could pick up the size at the end of the method.

[Closing due to age]

I have same thing to do with PPTXGenJs. I have two tables with dynamic number rows base on HTML tables. So I want to add table one after another. For that I need the first table height, So the second table will append with  Y(position) =  First Table Y + First Table Height.
Thaks In Advance


feat(app-detailed-view): Make a GET to the API to retrieve an app by its ID (AEROGEAR-8466)

Motivation
https://issues.jboss.org/browse/AEROGEAR-8466
What
Added logic to make a GET request to the API and fetch a single app by its ID.
Why
It is required so that we the UI can fetch live, dynamic content from the server.
How
Added new function to DataService.js and updated Redux store to handle new state changes.
Verification Steps

Make sure the API is running.
On the landing page, click one of the app rows to bring you to the app detailed page.
Open the developer console and monitor the output from the redux-logger.
If you see a log with action type APP_SUCCESS then the UI has successfully retrieved the app information from the server.

Checklist:

[x] Code has been tested locally by PR requester
[ ] Changes have been successfully verified by another team member

Progress

[x] Finished task

Coverage remained the same at 95.875% when pulling 1a1a9d4eb9c635b8c21b1e78b0a2e6c4929056fe on craicoverflow:AEROGEAR-8466 into 15e03208881af9909782dd2d8520fa71d5d7eb7d on aerogear:master.

@damienomurchu since this and https://github.com/aerogear/mobile-security-service/pull/91 are closely related which do you think should get merged first? Should one of these PRs also do the job of binding the live data to your table or should this be in a 3rd PR?

@craicoverflow Ideally I would see the live binding of the data included in this PR (it's a part of this task, imo). It may be easier to do it in a 3rd PR though, as otherwise this PR will be blocked until #91 gets merged in (which may not be until later/ tomorrow)

@craicoverflow Ideally I would see the live binding of the data included in this PR (it's a part of this task, imo). It may be easier to do it in a 3rd PR though, as otherwise this PR will be blocked until #91 gets merged in (which may not be until later/ tomorrow)

Grand, good to know. I will finish this when yours is merged (makes most sense IMO)

@craicoverflow did you mean to close this one?

Yep. Couldn't make it a draft so closed and created another as a draft.
On Mon, 11 Mar 2019 at 15:11, Laura Fitzgerald<EMAIL_ADDRESS>wrote:

@craicoverflow https://github.com/craicoverflow did you mean to close
this one?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aerogear/mobile-security-service/pull/93#issuecomment-471579720,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALMx5aBpd_-RrrJScyoI7kG-8KceRFrWks5vVnIBgaJpZM4boZtm
.

--
ENDA PHELAN
ASSOCIATE SOFTWARE ENGINEER
Red Hat Waterford https://www.redhat.com/
Communications House
Cork Road, Waterford
E<EMAIL_ADDRESS><EMAIL_ADDRESS>https://red.ht/sig


Batch add device issue

Is there any plan to add a new batch add device feature?

Now I need to use chirpstack，add an entire floor of equipment. About a hundred and fifty.

You can use excel to automate the creation of devices via http rest api
https://habr.com/ru/articles/569468/

I added the devices in bulk using the api,But the Application key is not added in bulk, what should I do?

There is a separate query in the api to add ApplicationKey.

@brocaar

[ ] - OK to close?


p4merge.bin: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

Issue description
p4merge is unable to start due to missing library.
Steps to reproduce
$ nix-env -i p4v
$ p4merge

results in:
/nix/store/ncg8s6hk1r0drb1lx55s1p40a4lz6bv5-p4v-2017.3.1601999/bin/p4merge.bin: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

Technical details
$ nix run nixpkgs.nix-info -c nix-info -m
- system: `"x86_64-linux"`
- host os: `Linux 4.19.82, NixOS, 19.09.1125.d628521d0b7 (Loris)`
- multi-user?: `yes`
- sandbox: `yes`
- version: `nix-env (Nix) 2.3`                                                                                - channels(philipp): `""`
- channels(root): `"nixos-19.09.1125.d628521d0b7"`
- nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

cc @nathyong @nioncode

Fixed by backporting #71301


Remote control of spool; support downing specific ports; spool expiration

This branch adds 3 primary features:

The ability to down specific ports of a service.
Optionally (gated by a config flag), POSTs to /spool/<service>/<port>/<query> will up or down a service remotely.
Spool files can have an expiration date; if hacheck reads the file after its expiration, we delete it. We also keep track of creation time.

This branch also includes my changes from #23 so I could run tests.

Rebased on top of my new version of #23 to get py26 tox support; fixed my py26 issues. Hopefully travis will be green now.

@solarkennedy @jolynch @jnb Any of you want to take a look at this?

lgtm

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


Hey bug

super excited for this plugin! Mind  fixing this bug, and telling me more about the cosmetics and level system?

You need an SQL because the plugin uses it

Oh please let this work this looks way to cool! COSMETICS LEVELS RANKINGS BEST SW EVER!
It’s weird I’m so excited and so nervous

Create SQL with xampp in here


Update correct links

Updated a few older links. Also https://otplib.yeojz.dev/api do not exists but it is referred on the website and in docs Should it be completely removed? I can update that as well.

Thanks for the MR!
There is supposed to be a doc. However, I think the build process for the docs i think broke
I'll merge this for now until the build process is fixed.


API support for custom Fields

Issue Type

[x ] Question

Description
Does the API support custom fields ? Retrieving, Updating , Adding , etc
Operating System
Windows 10
Install

[x ] docker

DefectDojo Version
v2
Steps to Reproduce
Sample Scan File (if applicable)
Screenshots (optional)
Console Logs (optional)

Yo, @jbryanmiller, man, if you still need this functionality,
You can use metadata API.

You can add metadata to project and it will be displayed in product page.

So, you can use such custom field later.


Apache Tika Document Parser: Fix failure due to XPathFactoryConfigurationException

Fixes #2209.
When using the ApacheTikaDocumentParser in production, pulling it in as dependency causes the following code (which is internally used by the Tika parser)
XPathFactory factory = XPathFactory.newInstance();

to always fail with:
javax.xml.xpath.XPathFactoryConfigurationException:
  No XPathFctory implementation found for the object model:
    http://java.sun.com/jaxp/xpath/dom

Upgrading Apache Tika to the latest version (3.0.0) fixed this problem. Looking at their changelog, I would suspect that the removal on xerces2 dependency fixed this issue (xerces2 is a library providing a XPathFactory implementation). Their breaking changes seem to don't cause problems, JDK 11 requirement is already met due to LangChain4j requirement I think.
Note: One unit test was failing for test-file.pptx, saving the .ppt as .pptx fixed this. I think there was some hidden text.

@langchain4j I have fixed the build.
Checking the release notes of commons-logging (see https://commons.apache.org/proper/commons-logging/changes-report.html), dependencies using commons-logging:1.2 and commons-logging:1.3.3 should be find with commons-logging:1.3.4 as well.
The Java 23 build fails unrelated:
Failed to execute goal on project langchain4j-open-ai: Could not resolve dependencies for project dev.langchain4j:langchain4j-open-ai:jar:0.37.0-SNAPSHOT: Failed to collect dependencies at dev.ai4j:openai4j:jar:0.24.0 -> com.squareup.retrofit2:converter-jackson:jar:2.9.0: Failed to read artifact descriptor for com.squareup.retrofit2:converter-jackson:jar:2.9.0: Could not transfer artifact com.squareup.retrofit2:converter-jackson:pom:2.9.0 from/to central (https://repo.maven.apache.org/maven2): /home/runner/.m2/repository/com/squareup/retrofit2/converter-jackson/2.9.0/converter-jackson-2.9.0.pom.part (No such file or directory) -> [Help 1]

@kpavlov could you please help here? 🙏

Please, run make format to fix formatting


Update modal docs

Simplify modal snippets
Use id for data-target
Unify the id positions

Closes #30055

Imo, this PR removes a little too much. I think people like it to just copy-paste the whole modal.

I do not think so. The first snippet in the "Scrolling long content" section makes no sense. Also, the current snippets of the size options don't work already because there are no content in the .modal-content. To make all snippets that can be copied successfully need too long line.

I'm in between personally; I see @ysds's and @MartijnCuppens's points.
/CC @mdo to the rescue :P

FWIW i don't mind the cuts here


Move to electron GitHub organization

:truck: The plan is to move all Electron-related repositories to the electron organization on April 4th, 2016.
:house: This will be the home for any future Electron-related repositories as well. The Atom organization will only contain Atom-related projects.
:file_folder: :dash:  The following repositories will be moved over:

electron
brightray
libchromiumcontent
electron.atom.io
electron-quick-start
node fork
node-mksnapshot
node-chromium-pickle
chromium-breakpad
asar-require
asar

:busts_in_silhouette: All organization teams will be migrated by then so people with push access to any of these repositories will be invited to a new team in the electron organization.
:mega: Please comment with any concerns and feel free to @-mention people to make them aware of this change.
/cc @zeke @zcbenz @jlord

Could you not use the electron name from what appears to be an inactive Github account or was the selection of the electronjs intentional without that factor?

@baconface we're working on it :)

Could you not use the electron name from what appears to be an inactive Github account or was the selection of the electronjs intentional without that factor?

We are now going with just electron for the organization name 👍 ⚡

@kevinsawicki Can you create an electron-archive org and move these repos to it:

https://github.com/electron/compile-cache
https://github.com/electron/electron-manifesto

Can you create an electron-archive org and move these repos to it:

👍 done, https://github.com/electron-archive

@kevinsawicki include debian-sysroot-image-creator to the electron org repo list.

@deepak1556 added 👍

Going to start doing this over the next couple hours, starting with the smaller repos and moving over brightray, libchromiumcontent, and electron last.

The repositories have been moved over, closing this out :ship:


Update circulating supply

Update the circulating number

Codecov Report

Merging #292 (eb53738) into develop (de3e9f8) will increase coverage by 17.77%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           develop     #292       +/-   ##
============================================
+ Coverage    71.81%   89.59%   +17.77%
============================================
  Files           68       33       -35
  Lines         2264     1086     -1178
  Branches       336      151      -185
============================================
- Hits          1626      973      -653
+ Misses         638      113      -525

Flag
Coverage Δ

batch-submitter
?

contracts
89.59% <ø> (ø)

core-utils
?

data-transport-layer
?

message-relayer
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

packages/data-transport-layer/src/utils/eth-tx.ts

packages/message-relayer/src/relay-tx.ts

...ckages/data-transport-layer/src/utils/contracts.ts

...ckages/data-transport-layer/src/utils/constants.ts

packages/core-utils/src/provider.ts

...kages/data-transport-layer/src/utils/validation.ts

packages/core-utils/src/common/misc.ts

packages/core-utils/src/common/index.ts

.../src/services/l2-ingestion/handlers/transaction.ts

packages/data-transport-layer/src/utils/common.ts

... and 25 more

Continue to review full report at Codecov.

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


chore(main): release 0.1.1

:robot: I have created a release beep boop
0.1.1 (2023-05-01)
Bug Fixes

add release environment in actual release as well for sharing the token (fcf5fa3)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/JeroenKnoops/outside-collaborators-delta-run/releases/tag/v0.1.1 :sunflower:


Legacy GLSL: Invalid for loop syntax

I'm trying to use glslangValidator and SPIRV-Cross to transpile shaders for use with (amongst others) WebGL 1 (GLSL ES 2.0). However, the resulting glsl code contains for loop syntax that's not supported for this version. The initializer/condition/continue expressions can be empty, or the continue block can be an expression using the comma operator. I'm guessing this would also fail for any legacy glsl version that doesn't support dynamic loops.
Below is a test source glsl file, converted using the following commands:
glslangValidator test.glsl -e main -o test.spv -G -S frag
spirv-cross test.spv --output test_conv.glsl --version 200 --es

The test case contains an explicit use of the command operator, but it can also be introduced by glslang when not explicit in the source code (which is my real use case).
#version 310 es
precision highp float;

layout (constant_id = 0) const int COUNT = 16;

layout (location = 0) out vec4 fragOut;

void main()
{
	float total = 0.0;
	float someOther = 1.0;

	for (int i = 0; i < COUNT; ++i, someOther = float(i)) {
		total += someOther;
	}

	fragOut = vec4(total);
}

The following for-loop is generated:
mediump int i = 0;
for (; i < COUNT; i++, someOther = float(i))
{
	total += someOther;
}

Expected result:
for (mediump int i = 0; i < count; i++)
{
	total += someOther;
	someOther = float(i);
}

ESSL 1.0 is extremely strict here, and there isn't much I can do. The SPIR-V you give to SPIRV-Cross must be sanitized to confirm to the requirements of ESSL 1.0. It is not safe, or possible, to do this transformation in the general case. I will not implement wild hacks to make this work for a subset of possible cases.

Understood, thanks for the update! Perhaps a warning message or something could be helpful. Looks like I'll have to dig into the glslang conf file a bit more, although this seems to be pretty experimental still.

It's worth noting that glslang may actively generate the above ESSL issue when compiling HLSL code that might otherwise directly translate to valid ESSL:
glslangValidator.exe -S frag -e frag -o test.spv -V -D test.hlsl
spirv-cross test.spv --output test_conv.glsl --version 200 --es

// test.hlsl
float test[16];
float frag()
{
	float accumulator = 0;
	for (int i = 0; i < 16; ++i)
		accumulator += test[i];
	return accumulator;
}

// test_conv.glsl
...
void main()
{
    highp float _67;
    _67 = 0.0;
    for (int _66 = 0; _66 < 16; _67 += _31.test[_66], _66++)
    {
    }
    gl_FragData[0] = _67;
}

Which will fail to compile due to the loop body being moved into the step portion of the for-loop.
This is caused by the optimization process when translating hlsl->spv which appears to partly be necessary for producing valid spv bytecode. I was able to track the issue down to the CreateLocalMultiStoreElimPass that gets registered in SpvTools.cpp here.
Commenting out the above line will resolve the issue with for-loops, but will produce additional syntax errors when going from spv to glsl. That said, I have had more success correcting those issues with post-processing scripts than I had trying to correct the for-loop syntax which can otherwise get quite complicated when applying the above conversions.
This probably won't be an issue for much longer since we are finally moving towards more widely adopted alternatives, but I figured I'd add some extra info here since this thread is the first result that comes up when searching for the above issue.


QuickStartContextProvider: updating allQuickStarts is not working

Found this when I was trying to update allQuickStarts in the context based on the chosen language. When I changed it didn't rerender. So I had to use QuickStartContainer.

QuickStartContainer is preferred method for consuming QS, closing for now as we haven't seen this issue pop up in the wild.


chore(main): release zeta-icons 0.8.0

:robot: I have created a release beep boop
0.8.0 (2024-10-18)
✨ New Features

Icon updates 18-Oct-2024 (977faaa)

🪲 Bug Fixes

Fixed android icons (8fcfaa7)
Fixed android repo name (1b3d13a)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

zeta-icons-v0.8.0
:sunflower:


Request for App: Crowdfunded Investigative Reporting

Would be awesome to incentivize reporters to do investigative reporting. You'd also be able to hide the name of the reporter (for their safety) while still paying them directly and knowing that the resulting content came through them.

Is this open yet? 😄


CLOUD-52131 remove 'shell.' prefix from the message

@akanto pls review

Jenkins build failed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/2038/

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/2039/


Confusing naming and/or usage of Ratelimit->ResetTimeMillis

The documentation for rate limiting states that the reset time is a timestamp.
RateLimit-ResetTimeMillis as well as the examples in this repository suggests that the returned value would be the number of milliseconds until a reset.
The actual value returned is a unix timestamp approximately $IntervalMinutes in the future.
Unix timestamps are in seconds not milliseconds. So to avoid confusion the property should be renamed or at least
the example in the README should be updated to reflect that the returned value is a timestamp and not milliseconds until reset as is stated.
:)

Hello @leihog,
Thank you for your suggestion. Our team is reviewing it.
Have a nice day,

Hello @leihog,
This has been added in our latest release : 3.4.0
Have a nice day,


Warlock tooltip is incorrect

@SebastianTanoni Still not quite there. You renamed Summon Succubus to Summon Queen of Suffering but didn't update the Warlock's tooltip to match.


Problem with window size with aero snap

On windows 10, when I move the window to the corners of the screen, the size of the aero snap exceeds half the surface of the screen as well as the window.

I just double checked our implementation and it seems to be working fine for us. Does your embedded QT widget exceed the boundaries of the Windows window? If so, that might be why!

It does not matter I used another project. Thank.


Various doc enhancements

comments were addressed @pmeier @vfdev-5

Should we invert the logic and warn users on the transforms that do scale the values? This is outlier behavior and AFAIK only exhibited by ToTensor, which is why we deprecated it. Granted, ToImagePIL also does, but this out of necessity, since PIL does not support RGB float images.

Sorry I don't understand. We don't warn about anything right now, I just documented the behaviour of all transforms w.r.t. scaling vs non-scaling. I think we should document that for all of them, not just those that scale.


DataFrame.assign doesn't support "dependent" columns

What happened:
pandas' assign supports "dependent" columns, where later arguments to .assign can refer to earlier ones: https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.assign.html?highlight=assign#pandas.DataFrame.assign
import pandas as pd

x = pd.DataFrame({"A": [1, 2]})

x.assign(B=lambda df: df["A"], C=lambda df: df.A + df.B)

With dask, this raises
import pandas as pd
import dask.dataframe as dd

x = dd.from_pandas(pd.DataFrame({"A": [1, 2]}), npartitions=2)

x.assign(B=lambda df: df["A"], C=lambda df: df.A + df.B)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/tmp/ipykernel_351/661796857.py in <module>
      4 x = dd.from_pandas(pd.DataFrame({"A": [1, 2]}), npartitions=2)
      5
----> 6 x.assign(B=lambda df: df["A"], C=lambda df: df.A + df.B)

/srv/conda/envs/notebook/lib/python3.8/site-packages/dask/dataframe/core.py in assign(self, **kwargs)
   4307                 )
   4308             if callable(v):
-> 4309                 kwargs[k] = v(self)
   4310
   4311             if isinstance(v, Array):

/tmp/ipykernel_351/661796857.py in <lambda>(df)
      4 x = dd.from_pandas(pd.DataFrame({"A": [1, 2]}), npartitions=2)
      5
----> 6 x.assign(B=lambda df: df["A"], C=lambda df: df.A + df.B)

/srv/conda/envs/notebook/lib/python3.8/site-packages/dask/dataframe/core.py in __getattr__(self, key)
   4042             return self[key]
   4043         else:
-> 4044             raise AttributeError("'DataFrame' object has no attribute %r" % key)
   4045
   4046     def __dir__(self):

AttributeError: 'DataFrame' object has no attribute 'B'

What you expected to happen:
Same as pandas.
Minimal Complete Verifiable Example:
import pandas as pd
import dask.dataframe as dd

x = dd.from_pandas(pd.DataFrame({"A": [1, 2]}), npartitions=2)

x.assign(B=lambda df: df["A"], C=lambda df: df.A + df.B)

In pandas, we do that by assigning to the result as we iterate through the kwargs: https://github.com/pandas-dev/pandas/blob/8814de9fbc7d53c6db201eab717fd3d6b607654b/pandas/core/frame.py#L4480-L4484
        data = self.copy()

        for k, v in kwargs.items():
            data[k] = com.apply_if_callable(v, data)
        return data

I think something similar would work for dask, but I haven't checked.

@TomAugspurger, I'm new here, I would like to solve this issue.

I guess, updating each column once computed will work. Have made the changes as follows:

For each in **kwargs(either callable functions or series frame) update in place with all corresponding columns
Updated same df without copy

We still need the copy (that's part of the defined behavior of assign). We
need to assign the results of one kwarg to self before moving on to the
next one.
On Wed, Aug 25, 2021 at 4:07 AM Suriya Senthilkumar <
@.***> wrote:

I guess, updating each column once computed will work. Have made the
changes as follows:

For each in **kwargs(either callable functions or series frame)
update in place with all corresponding columns
Updated same df without copy

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/8081#issuecomment-905321516, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKAOIWFDF6UFWT5F3QROXDT6SXFHANCNFSM5CWWEPTQ
.

Updated! Processing kwargs and assigning to the df one by one, so previously added columns can be used for upcoming columns. please check my PR.


Reading/parser a DMN XML file

Hello,
following the example described in the FAQ:
DMNDialectDefinition dialect = new StandardDMNDialectDefinition();
DMNInterpreter interpreter = dialect.createDMNInterpreter(definitions);
String decisionName = ...;
RuntimeEnvironment runtimeEnvironment = RuntimeEnvironmentFactory.instance().makeEnvironment();
Object result = interpreter.evaluate(decisionName, runtimeEnvironment);

How can I parse a DMN file?
The variable definitions is of type TDefinitions, correct? How to work with it?
Could you describe an example where I make a parser from an xml DMN file, and then step variables to then perform the result evaluation?
Thanks, and congratulations for the project.

I will update the documentation with more info. In the meantime please have a look at AbstractDMNInterpreterTest.


satellite crashes and makes complete neovim unusable

Describe the bug
After opening a lua file with neovim myluafile.lu, satellite indicates me a problem with marks.lua line 28.
With every key stroke, errors appear and make neovim unusable.
I hope that I am not suspecting satellite wrongly but the output is
Failed to run `config` for satellite.nvim
...l/share/nvim/lazy/satellite.nvim/lua/satellite/async.lua:50: The coroutine failed with this message: ...vim/lazy/satellite.nvim/lua/satellite/handlers/marks.lua:28: attempt to call field 'list_contains' (a nil value)
stack traceback:
^I...vim/lazy/satellite.nvim/lua/satellite/handlers/marks.lua: in function 'mark_is_builtin'
^I...vim/lazy/satellite.nvim/lua/satellite/handlers/marks.lua:57: in function 'add_mark_to_bar'
^I...vim/lazy/satellite.nvim/lua/satellite/handlers/marks.lua:79: in function 'update'
^I...al/share/nvim/lazy/satellite.nvim/lua/satellite/view.lua:99: in function 'render_handler'
^I...al/share/nvim/lazy/satellite.nvim/lua/satellite/view.lua:170: in function <...al/share/nvim/lazy/satellite.nvim/lua/satellite/view.lua:164>
# stacktrace:
  - /satellite.nvim/lua/satellite/async.lua:50 _in_ **step**
  - /satellite.nvim/lua/satellite/async.lua:71 _in_ **execute**
  - /satellite.nvim/lua/satellite/async.lua:102 _in_ **render**
  - /satellite.nvim/lua/satellite/view.lua:263 _in_ **show_scrollbar**
  - /satellite.nvim/lua/satellite/view.lua:344 _in_ **refresh_bars**
  - /satellite.nvim/lua/satellite/view.lua:371 _in_ **enable**
  - /satellite.nvim/lua/satellite.lua:11 _in_ **enable**
  - /satellite.nvim/lua/satellite.lua:173 _in_ **setup**

To Reproduce
Steps to reproduce the behavior:

Open lua file with neovim myluafile.lua
Instantly see error messages which appear with every key stroke

Expected behavior
No errors
Screenshots

Additional context
If I am not wrong, this doesn't happen for older commits.

What's your neovim version? Nightly is currently required.

I was using 0.9.1. Switching to nightly did it for me.
Thank you for the fast reply! :-)

Me too!! I had to set marks.show_builtins to false for it to work. I'm using `v0.9.1' too but still getting the same errors.

You need to use nightly. v0.9.1 is not supported.


Overhaul for Wiki.js 2.x

This updates the Open Toolchain template with:

more documentation
correct text descriptions during deployment for English and German (removes incorrect template text descriptions for other languages)
updated toolchain

fixes variables passing

updated pipeline

fixes for new features
replaces MongoDB with PostgreSQL
fixes variables passing
Updates webhook API endpoint if required

updates bash installation script for Cloud Foundry

pulls latest release using GitHub API
injects dynamic variables into wiki/config.yml
adds debugging switch
adds separated variables YAML (manifest-vars.yml) for ease if used in manual deployment

@NGPixel waiting on PR code review, did not want to be presumptuous

Sorry for the delay. It's merged and I also added a link to this repo in the docs.


feat: Irrational π

This contains a port of @b-mehta's https://github.com/leanprover-community/mathlib3/commits/irrational-pi branch, with the conversion to Lean 4 performed by @b-mehta with his google hat on.
My contributions here are minimal!
Co-authored-by: Bhavik Mehta<EMAIL_ADDRESS>Co-authored-by: Bhavik Mehta<EMAIL_ADDRESS>

bot fix style

Question, is this Niven's proof? If so, then that reference should be in the docstring. But also, I'm having a difficult time matching notions between the article and this file. Is this the 1947 article?

This proof idea came from Question 10 here: https://www.dpmms.cam.ac.uk/study/IA/AnalysisI/2016-2017/sheet4.pdf.


impl cooking pot

cooking pot doesnt take fluids, instead use buckets. as fluid for recipes. but bucket is given back (empty bucket).
OR bottles... perhaps 2x water bottles for one recipe, another requires only 1. etc...
4 input slots ?

working on it now


Add shortest path, critical path also and some affordances to Graph template

Add shortest path, critical path also and some affordances to Graph template

add shortest path, critical path finding algorithms for Graph; - introduce weighted graph

The graph utilities are currently mainly used for our custom circuit vectorizer. We lay out the circuit gates in "levels" according to the dependency graph, and then process the gates in each level as a batch in parallel.
I agree this contribution looks good, but I'd want to know more about what it's planned to be used for, and to see some tests of the new routines to help ensure correctness.

Fair enough - @AlexanderViand-Intel - I will add some unit tests. Need more time for this.
@asraa - thanks for utility function notes; I can update them as well.


paragraphs are indented differently

Under each heading, the first paragraph isn’t indented; starting from the second they are indented by 2 characters. Expected:
1st paragraph

2nd paragraph

3rd paragraph

Actual:
1st paragraph

  2nd paragraph

  3rd paragraph

This seems to affect every page. Example: adduser(8)

Just verified: this issue is the same as https://github.com/Debian/debiman/issues/116, which is already fixed at mandoc HEAD, but there hasn’t been a new release since.

By “a new release” you mean debiman or mandoc?

Yes, I was referring to mandoc. I don’t think mandoc’s release is coupled to OpenBSD in any way.
@ischwarze can you answer this? :)


cdn issue

https://github.com/grommet/grommet/issues/2915

@arxii can you provide a few more details on the context of this? For instance, what browser are you on, what URL are you accessing, what your general network access speed is (speedtest).
I'm guessing the key issue indicated in your screenshot is the 20+ seconds to load two of the javascript bundles. Is that it?

Closing this due to inactivity. Site performance has been consistently fast. Please feel free to re-open if CDN performance becomes an issue.


Add Anytype icon

Description
Added icon for Anytype
Type of change

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?

[x] Update icons.jsx and app-icons.js

Test Configuration:

MacOS Sonoma 14.2
yabai v6.0.1
Übersicht v1.6 (82)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings

Changes to make to the documentation
None

Thanks! :)


Changed some CSS for readability + typo fix

Made the button background lighter so it's more readable. Added a text shadow to the emoticon for better readability. Removed some simple typo's
Issue it solved
Solved readability issues of the button and the emoticon next to 'CSS code for current background '. People with eyesight issues can use this website easier because of these changes. Also fixed some simple typo's like 'clik' to 'click'.
Which files you changed?
backgroundgen.css
index.html
Screenshots
Before:

After:

Thanks @lovelacecoding for this change, I have been not good with CSS, so I missed it. Sure this is good change for readability of the text.


Congratulation with success

Yesterday, Ukraine launched Tochka-U, hitting Donetsk and killing over 20 civilians.
That's a huge success for Ukraine.
What's more, photos of dead civilians in Donetsk were used as a photo of Kiev.

There is no place for this propaganda-driven issue here.
@vshymanskyy I suggest to just close this issue without any discussion

There is no place for this propaganda-driven issue here. @vshymanskyy I suggest to just close this issue without any discussion

Where did you get any propaganda? Donetsk was hit yesterday, and "Azov" is happy with Nazi flag.

You couldn't confirm that. Is it Azov and not the people with captured flags ("постанова")? Is this photo is taken in Donetsk? And what the heck this issue help this project?


Adding Model Window

This is a Small Template of the Model window when the user clicks some link a model window is brought into the screen.And its background is blured. Below you can have a look. Can I add this?

@SamarthKadam Complete it within 2 days and make PR ASAP!


Remove deprecation warnings for using wrapped_model=... instead of model=...

Resolves #420

Codecov Report

Merging #421 (5050af0) into dev (831e6b9) will decrease coverage by 1.57%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##              dev     #421      +/-   ##
==========================================
- Coverage   75.19%   73.62%   -1.58%
==========================================
  Files          12       12
  Lines        1008      819     -189
==========================================
- Hits          758      603     -155
+ Misses        250      216      -34

Impacted Files
Coverage Δ

src/builtins/ThresholdPredictors.jl
97.46% <ø> (+8.78%)
:arrow_up:

src/registry/src/info_dict.jl
75.00% <0.00%> (-25.00%)
:arrow_down:

src/model_search.jl
71.05% <0.00%> (-3.11%)
:arrow_down:

src/builtins/Transformers.jl
93.78% <0.00%> (-2.65%)
:arrow_down:

src/builtins/Constant.jl
60.71% <0.00%> (-2.15%)
:arrow_down:

src/utilities.jl
15.38% <0.00%> (-1.29%)
:arrow_down:

src/GaussianProcesses.jl
0.00% <0.00%> (ø)

src/registry/src/Registry.jl
0.00% <0.00%> (ø)

src/registry/src/check_registry.jl
0.00% <0.00%> (ø)

src/metadata.jl
80.00% <0.00%> (+0.21%)
:arrow_up:

... and 2 more

Continue to review full report at Codecov.

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


chore: add Gallardot for deps reviewer

Type of change:

[ ] Bugfix
[ ] New feature provided
[ ] Improve performance
[ ] Backport patches
[ ] Documentation
[ ] Refactor
[x] Chore
[ ] CI/CD or Tests

What this PR does / why we need it:
@Gallardot  helped us review a lot of PRs, I think we can add him as a default reviewer.

Pre-submission checklist:

[ ] Did you explain what problem does this PR solve? Or what new features have been added?
[ ] Have you added corresponding test cases?
[ ] Have you modified the corresponding document?
[ ] Is this PR backward compatible? If it is not backward compatible, please discuss on the mailing list first

wait for @Gallardot 's response.

Codecov Report

Merging #1942 (acbdb80) into master (e0a2b17) will not change coverage.
Report is 1 commits behind head on master.
The diff coverage is n/a.

:exclamation: Current head acbdb80 differs from pull request most recent head 39a93b2. Consider uploading reports for the commit 39a93b2 to get more accurate results

@@           Coverage Diff           @@
##           master    #1942   +/-   ##
=======================================
  Coverage   40.47%   40.47%
=======================================
  Files          92       92
  Lines        7100     7100
=======================================
  Hits         2874     2874
  Misses       3842     3842
  Partials      384      384

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Create Kubeflow Integration

What does this PR do?
Creates the Kubeflow integration
Motivation

Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Changelog entries must be created for modifications to shipped code
[ ] Add the qa/skip-qa label if the PR doesn't need to be tested during QA.
[ ] If you need to backport this PR to another branch, you can add the backport/<branch-name> label to the PR and it will automatically open a backport PR once this one is merged

Thanks, created DOCS-8876 for documentation team review


feat: dynamic size on floating buffer

LGTM! tested locally and the floats look way better.

It has a bug that I couldn't solve without resolving the preloading buffer hack where if you change the size of the content there would be a background buffer that started showing. Will try to solve both this and the hack in this pr #145

Closing this one since I did it in #145


Losing connection when entering in the search tab

Hello
I'm having "Remote connection closed" errors whenever I navigate to the search tab in the laucher screen.
I tried this with Nvidia Shield and Google Chromecast so I think it's an issue with all android devices.
Did you get this error too?

Yes, I had this problem. I never go to this kind of fields, but face this bug during my tests.
I think that I would fix this bug when the official specifications will be released by Google and not reserved to some big tech companies - this work come from reverse ingeniering and is not perfect

I think that change code1 could change rights then fix this bug but never tried :
https://github.com/louis49/androidtv-remote/blob/0e82d72ec067b6452e0e2266720ba5e023821bf6/src/remote/RemoteMessageManager.js#L46

Changing to what number please?

That's the thing: I don't know, I don't know what those numbers are - I did some reverse engineering - I never got the official protocol specs which are reserved for certain prestigious Google clients. It would be necessary to test from 0 to 1000 and see the result but I don't have time for that at the moment. If you ever investigate the subject, I'm curious to know the results.

I wrote a crutch: after I set up a successful connection with TV, I start to send anonymous pongs to the TV once every 5 seconds. Maybe this is not the best solution to the problem, but now at least it doesn't disconnect.


Update references to build 18945 to "2004"

For clarity, I think it would be helpful to change references to build 18945 to just "Windows 10, version 2004" now that it is a generally available build.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8b7e1d9a-fdaf-0a29-0746-e3a32826eb6b
Version Independent ID: 78e9b684-1121-6193-387f-fd8b6040cc0a
Content: Passwordless security key sign-in Windows - Azure Active Directory
Content Source: articles/active-directory/authentication/howto-authentication-passwordless-security-key-windows.md
Service: active-directory
Sub-service: authentication
GitHub Login: @iainfoulds
Microsoft Alias: iainfou

@vipulsparsh Thank you for your feedback . We will investigate and update the thread.

@loosus456 We have initiated a change request on this with the content team and t is awaiting review on the content author team end . Once it is approved the article will be updated automatically during their next release cycle. We will now close this issue. Should you have any further query, please feel free to tag me or the author of this article in your comments below.
Thank you.


Partial Match completion for Morse

Did you have thoughts about what this could look like? Do we show the complete set of possible matches (which can be quite large) or some subset of the list?

Just my $0.02 on this

First questions is what we're predicting.  For morse, I think 1 letter at a time makes sense. (Whole words seem harder, so do letters first)
Second is how to display to the user.  I was sort of thinking fish style?  like https://fishshell.com/assets/img/screenshots/autosuggestion.png. But there's lots of options here
As far as algorithm?  Sort letters by frequency, filter out not prefix-matching, grab the first?


Add librt and libdl to the ESMF libraries

Recently, Alexander Gruber (@alexgruber, I think), encountered an issue with GEOSldas when linking to ESMF:
[ 61%] Linking Fortran executable ../../../../bin/cub2latlon.x
/staging/leuven/stg_00024/GEOSldas_libraries/ESMA-Baselibs-6.2.4/src/Linux/lib/libesmf.so: error: undefined reference to 'shm_open'
/staging/leuven/stg_00024/GEOSldas_libraries/ESMA-Baselibs-6.2.4/src/Linux/lib/libesmf.so: error: undefined reference to 'shm_unlink'
collect2: error: ld returned 1 exit status
make[2]: *** [bin/cub2latlon.x] Error 1
make[1]: ***<EMAIL_ADDRESS>Error 2

This is the first time I've seen it. I think the fix is to add librt and libdl to the ESMF_LIBRARIES for GEOS.
This PR is where I'm tracking this, depending on how it works for @alexgruber (since, well, I can't reproduce it!)

This indeed did the trick for me!
Thanks for the (very!) quick fix!

I think we are good. Tests on Discover show this to be zero-diff for both Intel and GNU.


Make it possible to generate interfaces instead of types

Using version 0.14.5 we often used interfaces generated by the tool to great effect in our TypeScript code. I'll provide a short example:
Given the codegen.yml-file:
schema:
  - https://countries.trevorblades.com
overwrite: true
generates:
  src/app/countries-example.ts:
    documents: ./src/app/countries.graphql
    plugins:
      - typescript-common
      - typescript-client
      - typescript-apollo-angular

and the src/app/countries.graphql
query Countries {
  countries {
    name
  }
}

We can, in our Angular component, do this:
import { Component } from '@angular/core';

import { CountriesGQL, Countries } from './countries-example';
import { ApolloQueryResult } from 'apollo-client';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
})
export class AppComponent {
  public firstCountry: Countries.Countries;

  constructor(
    private countriesService: CountriesGQL
  ) {
    countriesService.fetch().subscribe((response: ApolloQueryResult<Countries.Query>) => {
      this.firstCountry = response.data.countries[0];
    });
  }
}

Now, when updating to 1.0.0 and having the following codegen.yml:
schema:
  - https://countries.trevorblades.com
overwrite: true
generates:
  src/app/countries-example.ts:
    documents: ./src/app/countries.graphql
    plugins:
      - typescript
      - typescript-operations
      - typescript-apollo-angular

graphql-code-generator generates types instead of interfaces.
This means that we have to do the following in our Angular component:
import { Component } from '@angular/core';
import { CountriesGQL, CountriesQuery } from './countries-example';
import { ApolloQueryResult } from 'apollo-client';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
})
export class AppComponent {
  public firstCountry: CountriesQuery['countries'][0];

  constructor(
    private countriesService: CountriesGQL
  ) {
    countriesService.fetch().subscribe((response: ApolloQueryResult<CountriesQuery>) => {
      this.firstCountry = response.data.countries[0];
    });
  }
}

Which looks worse IMO
Would it maybe be possible to get the tool to generate interfaces again? Maybe a configuration variable?
Any ideas? Are we missing something obvious?
Thanks for an amazing tool!

@felixandersen The issue here is not interfaces over types. They are almost identical in TypeScript.
The issue here is that you wish to use the pre 1.0 types we generated per each query.
We decided to drop it in order to support more environments (no namespaces now, so it's also possible to use it with Babel-TypeScript), and to get more maintainable code with less conflicts and mis-matches.
If you wish to get the types you had before, we created a plugin called typescript-compatibility that will generate the old-style namespaces and types for you.
I recommend to use more fragments in your GraphQL queries and then it will be easier to access nested fields and types.

Thanks for the clarification!


NeurIPS '14 | Generative adversarial nets.

Goodfellow I, et. al. Generative adversarial nets.

Reference
Rocca, Joseph. Understanding Generative Adversarial Networks (GANs).

Introduction
In this post, we will see that adversarial training is an enlightening idea, beautiful by its simplicity, that represents a real conceptual progress for Machine Learning and more especially for generative models (in the same way as backpropagation is a simple but really smart trick that made the ground idea of neural networks became so popular and efficient).
In the following parts, we will overcome the apparent magic of GANs in order to dive into ideas, maths and modelling behind these models.

Generating random variables
We remind some existing methods and more especially the inverse transform method that allows to generate complex random variables from simple uniform random variables (MCMC?).
Uniform random variables can be pseudo-randomly generated
Computers are fundamentally determinisitic. So, it is, in theory, impossible to generate numbers that are really random. However, a computer is able, using a pseudorandom number generator, to generate a sequence of numbers that approximately follows a uniform random distribution between 0 and 1.

The uniform case is a very simple one upon which more complex random variables can be built in different ways.

Random variables expressed as the result of an operation or a process
There exist different techniques that are aimed at generating more complex random variables. Among them we can find,

Inverse Transform Method.
Rejection Sampling.
Metropolis-Hasting (MH) algorithm.
...

All these methods rely on different mathematical tricks that mainly consist in representing the random variable we want to generate as the result of an operation (over simpler random variables) or a process.
Rejection Sampling expresses the random variables as the result of a process that

Sample not from the complex distribution but from a well-known simple distribution.
Accept or reject the sampled value depending on some condition.

Repeating this process until the sampled value is accepted, we can show that with the right condition of acceptance the value that will be efficiently sampled will follow the right distribution.
In the Metropolis-Hasting algorithm, the idea is to find a Markov Chain (MC) such that the stationary distribution of this MC corresponds to the distribution from which we would like to sample our random variable. Once this MC found, we can simulate a long enough trajectory over this MC to consider that we have reach a steady state and then the last value we obtain this way can be considered as having been drawn from the distribution of interest.

The inverse transform method
The idea of inverse transform method is simply to represent our complex random variables as the result of a function applied to a uniform random variable we know how to generate.
We consider in what follows a one dimensional example. Let X be a complex random variable we want to sample from and U be a uniform random variable over [0,1] we know how to sample from. We remind that a random variable is fully defined by its Cumulative Distribution Function (CDF). The CDF of a random variable is a function from the domain of definition of the random variable to the interval [0,1] and defined, in one dimension, such that

In the particular case of our uniform random variable U, we have

For simplicity, we will suppose here that the function CDF_X is invertible and its inverse is denoted

(the method can easily be extended to the non-invertible case by using the generalized inverse of the function but it is really not the main point we want to focus on here). Then if we define

we have

As we can see, Y and X have the same CDF and then define the same random variable. So, by defining Y as above (as a function of a uniform random variable) we have managed to define a random variable with the targeted distribution.
To summarize, inverse transform method is a way to generate a random variable that follows a given distribution by making a uniform random variable goes through a well designed "transform function" (inverse CDF). This notion of "inverse transform method" can, infact, be extended to the notion of "transform method" that consists, more generally, in generating random variables as function of some simpler random variables (not necessarily uniform and then the transform function is no longer the inverse CDF). Conceptually, the purpose of the "transform function" is to deform/reshape the initialial probability distribution:

The transform function takes from where the initial distribution is too high compared to the targeted distribution and puts it where it is too low.

Generative models
We try to generate very complex random variables...
The problem of generating a new image of dog is equivalent to the problem of generating a new vector following the desired probability distribution over the N dimensional vector space. So we are, in fact, facing a problem of generating a random variable with respect to a specific probability distribution.
At this point, we can mention two important things.

The "dog probability distribution" we mentioned is a very complex distribution over a very large space.
Even if we can assume the existence of such underlying distribution (there actually exists images that looks like dog and others that doesn’t) we obviously don’t know how to express explicitly this distribution.

Both previous points make the process of generating random variables from this distribution pretty difficult.
...so let's use transform method with a neural network as function!
How to directly generate complex random variables? As we know pretty well how to generate N uncorrelated uniform random variables, we could make use of the transform method. To do so, we need to express our N dimensional random variable as the result of a very complex function applied to a simple N dimensional random variable!

The transform function can’t be explicitly expressed and, then, we have to learn it from data.

As most of the time in these cases, very complex function naturally implies neural network modelling. Then, the idea is to model the transform function by a neural network that

Take as input a simple N dimensional uniform random variable.
Return as output another N dimensional random variable that should follow the right probability distribution, after training.

Once the architecture of the network has been designed (just like different architectures of VAEs), we still need to train it.

Generative Matching Networks
Training generative models
So far, we have shown that our problem of generating a new image of dog can be rephrased into a problem of generating a random vector in the N dimensional vector space that follows the "dog probability distribution" and we have suggested to use a transform method, with a neural network to model the transform function.
Now, we still need to train (optimize) the network to express the right transform function. To this purpose, we can suggest two different training methods:

The direct training method consists in comparing the true and the generated probability distributions and backpropagating the difference (the error) through the network. This is the idea that rules Generative Matching Networks (GMNs).
For the indirect training method, we do not directly compare the true and generated distributions. Instead, we train the generative network by making these two distributions go through a downstream task chosen such that the optimization process of the generative network with respect to the downstream task will enforce the generated distribution to be close to the true distribution. This last ide is the one behind Generative Adversarial Networks (GANs).

Comparing two probability distributions based on samples
However, we do not know how to express explicitly the true "dog probability distribution" and we can also say that the generated distribution is far too complex to be expressed explicitly. So, comparisons based on explicit expressions are not possible. However, if we have a way to compare probability distributions based on samples, we can use it to train the network. Indeed, we have a sample of true data and we can, at each iteration of the training process, produce a sample of generated data.
Although, in theory, any distance (or similarity measure) able to compare effectively two distributions based on samples can be used, we can mention in particular the Maximum Mean Discrepancy (MMD) approach. The MMD defines a distance between two probability distributions that can be computed (estimated) based on samples of these distributions.

Backpropagation of the distribution matching error
So, once we have defined a way to compare two distributions based on samples, we can define the training process of the generative network in GMNs. The idea of GMNs is to optimize the network by repeating the following steps:

Generate some uniform inputs.
Make these inputs go through the network and collect the generated outputs.
Compare the true "dog probability distribution" and the generated one based on the available samples (for example compute the MMD distance between the sample of true dog images and the sample of generated ones).
Use backpropagation to make one step of gradient descent to lower the distance (for example MMD) between true and generated distributions.

When following these steps we are applying a gradient descent over the network with a loss function that is the distance between the true and the generated distributions at the current iteration.

Generative Adversarial Networks
The "indirect" training method
The brilliant idea that rules GANs consists in replacing this direct comparison by an indirect one that takes the form of a downstream task over these two distributions. The training of the generative network is then done with respect to this task such that it forces the generated distribution to get closer and closer to the true distribution.
The downstream task of GANs is a discrimination task between true and generated samples. Or we could say a "non-discrimination" tasks as we want the discrimination to fail as much as possible. So, in a GAN architecture, we have a discriminator, that takes samples of true and generated data and that try to classify them as well as possible. Let's see on a simple example why the direct and indirect approaches we mentioned should, in theory, lead to the same optimal generator.

The ideal case: perfect generator and discriminator
In order to better understand why training a generator to fool a discriminator will lead to the same result as training directly  the generator to match the target distribution, let’s take a simple one dimensional example.
Suppose that we have a true distribution, for example a one dimensional gaussian, and that we want a generator that samples from this probability distribution. What we called “direct” training method would then consist in adjusting iteratively the generator (gradient descent iterations) to correct the measured difference/error between true and generated distributions. Finally, assuming the optimisation process perfect, we should end up with the generated distribution that matches exactly the true distribution.

For the “indirect” approach, we have to consider also a discriminator. We assume for now that this discriminator is a kind of oracle that knows exactly what are the true and generated distribution and that is able, based on this information, to predict a class (“true” or “generated”) for any given point. If the two distributions are far appart, the discriminator will be able to classify easily and with a high level of confidence most of the points we present to it. If we want to fool the discriminator, we have to bring the generated distribution close to the true one. The discriminator will have the most difficulty to predict the class when the two distributions will be equal in all points: in this case, for each point there are equal chances for it to be “true” or “generated” and then the discriminator can’t do better than being true in one case out of two in average.

At this point, it seems legit to wonder whether this indirect method is really a good idea. Indeed, it seems to be more complicated (we have to optimise the generator based on a downstream task instead of directly based on the distributions) and it requires a discriminator that we consider here as a given oracle but that is, in reality, neither known nor perfect.

The difficulty of directly comparing two probability distributions based on samples counterbalances the apparent higher complexity of indirect method.
It is obvious that the discriminator is not known. However, it can be learned!

The approximation: adversarial neural networks
Let’s now describe the specific form that take the generator and the discriminator in the GANs architecture.

The generator is a neural network that models a transform function. It takes as input a simple random variable and must return, once trained, a random variable that follows the targeted distribution.
As the generator is very complicated and unknown, we decide to model the discriminator with another neural network. This neural network models a discriminative function. It takes as input a point (in our dog example a N dimensional vector) and returns as output the probability of this point to be a “true” one.

Notice that the fact that we impose now a parametrised model to express both the generator and the discriminator (instead of the idealised versions in the previous subsection) has, in practice, not a huge impact on the theoretical argument/intuition given above:

we just then work in some parametrised spaces instead of ideal full spaces and, so, the optimal points that we should reach in the ideal case can then be seen as “rounded” by the precision capacity of the parametrised models.

Once defined, the two networks can then be trained jointly (at the same time) with opposite goals :

The goal of the generator is to fool the discriminator, so the generative neural network is trained to maximise the final classification error (between true and generated data).
The goal of the discriminator is to detect fake generated data, so the discriminative neural network is trained to minimise the final classification error.

So, at each iteration of the training process, the weights of the generative network are updated in order to increase the classification error (error gradient ascent over the generator’s parameters) whereas the weights of the discriminative network are updated so that to decrease this error (error gradient descent over the discriminator’s parameters).

These opposite goals and the implied notion of adversarial training of the two networks explains the name of “adversarial networks”: both networks try to beat each other and, doing so, they are both becoming better and better. The competition between them makes these two networks “progress” with respect to their respective goals. From a game theory point of view, we can think of this setting as a minimax two-players game where the equilibrium state corresponds to the situation where the generator produces data from the exact targeted distribution and where the discriminator predicts “true” or “generated” with probability 1/2 for any point it receives.

Mathematical details about GANs
Neural networks modelling essentially requires to define two things: an architecture and a loss function. We have already described the architecture of Generative Adversarial Networks. It consists in two networks:

A generative network G(.) that takes a random input z with density p_z and returns an output x_g = G(z) that should follow (after training) the targeted probability distribution.
A discriminative network D(.) that takes an input x that can be a “true” one (x_t, whose density is denoted p_t) or a “generated” one (x_g, whose density p_g is the density induced by the density p_z going through G) and that returns the probability D(x) of x to be a “true” data.

Let’s take now a closer look at the “theoretical” loss function of GANs. If we send to the discriminator “true” and “generated” data in the same proportions, the expected absolute error of the discriminator can then be expressed as

The goal of the generator is to fool the discriminator whose goal is to be able to distinguish between true and generated data. So, when training the generator, we want to maximise this error while we try to minimise it for the discriminator. It gives us

For any given generator G (along with the induced probability density p_g), the best possible discriminator is the one that minimises

In order to minimise (with respect to D) this integral, we can minimise the function inside the integral for each value of x. It then defines the best possible discriminator for a given generator

(in fact, one of the best because x values such that p_t(x)=p_g(x) could be handled in another way but it doesn’t matter for what follows). We then search G that maximises

Again, in order to maximise (with respect to G) this integral, we can maximise the function inside the integral for each value of x. As the density p_t is independent of the generator G, we can’t do better than setting G such that

Of course, as p_g is a probability density that should integrate to 1, we necessarily have for the best G

So, we have shown that, in an ideal case with unlimited capacities generator and discriminator, the optimal point of the adversarial setting is such that the generator produces the same density as the true density and the discriminator can’t do better than being true in one case out of two, just like the intuition told us. Finally, notice also that G maximises

Under this form, we better see that G wants to maximise the expected probability of the discriminator to be wrong.

Takeaways
The main takeaways of this article are:

Computers can basically generate simple pseudo-random variables (for example they can generate variables that follow very closely a uniform distribution).
There exists different ways to generate more complex random variables including the notion of “transform method” that consists in expressing a random variable as a function of some simpler random variable(s).
In machine learning, the generative models try to generate data from a given (complex) probability distribution.
Deep learning generative models are modelled as neural networks (very complex functions) that take as input a simple random variable and that return a random variable that follows the targeted distribution (“transform method” like).
These generative networks can be trained “directly” (by comparing the distribution of generated data to the true distribution): this is the idea of Generative Matching Networks.
These generative networks can also be trained “indirectly” (by trying to fool another network that is trained at the same time to distinguish “generated” data from “true” data): this is the idea of Generative Adversarial Networks.


usbreset does not properly reset 8dev_2100 dongle

Usbreset should completely power down the 8dev_dongle, however only a slight/short voltage drop is observed and in some cases it's impossible to reset the device if it hangs. This might be due to capacitors on 8dev_2100, which are not fully discharged during short power down. Power off duration should be increased.

usbreset doesn't perform the required functionality, therefore it's changed to "uhubctl" #5 . Voltage drop on capacitors reaches 50mV and less (fully discharged) with this command:
sudo uhubctl -p $( sudo uhubctl|grep 257f:0002|awk '{print($2)}'|sed 's/://' ) -a 2
If problem reoccurs in future - time between shutting down and powering port back on could be changed easily:
sudo uhubctl -p $( sudo uhubctl|grep 257f:0002|awk '{print($2)}'|sed 's/://' ) -a 2 -d <duration(seconds)>


Use current working directory for paths

I used path.resolve with the current working directory and the constructor options. This is easier for ESM projects, since you don't have to declare a dirname variable and can just type ./src/commands for example.
I've also used Prettier to format a _meta.json file, so new documentation pages can be added successfully.

Apologies for the delay. Got exams this week 😭
I'll have to test the resolving of paths with this approach next week since I don't want it to introduce breaking changes.

It's fine. I know about your exams.
This probably won't introduce anything breaking because path.resolve would still work when dirname is provided.

It's fine. I know about your exams.
This probably won't introduce anything breaking because path.resolve would still work when dirname is provided.

Even when appended with the current working directory?

Even when appended with the current working directory?

@notunderctrl Yeah, path.resolve is pretty good at this. Here's how I tested it:
const path = require('path');
const getPath = (p) => path.resolve(process.cwd(), p);

console.log(getPath('./src')); // Full path
console.log(getPath(`${__dirname}/src`)); // Full path


(readme.md): added Bandog to block explorers

Added Bandog to block explorers.
Link checked.
Layout checked.

Oops, sorry, I missed it in NFT tools! I should have moved it instead!


USB redirection not working to Windows 8.1 VM

Running xfreerdp from apt universe repository on Ubuntu 18.04 LTS. Trying to redirect the USB camera device which lsusb identifies as: Bus 001 Device 005: ID 04f2:b52c Chicony Electronics Co., Ltd to a Windows 8.1 VM in RDS 2016 virtual machine based deployment.
Running xfreerdp /v:10.1 /cert-ignore /u:user /d:d /p:p /load-balance-info:”tsv://VMResource.1.lbi” /f /sound /rfx /dvc:urbdrc,id,dev:04f2:b52c appears to run properly as no dvc or urbdrc errors appear, but the Windows VM does not recognize any USB devices that should be redirected.
The Windows VM is configured to allow all USB redirection, RemoteFX USB devices, etc, as detailed here: https://stackoverflow.com/a/34723097
Is there any specific direction I should be focus on troubleshooting?
FreeRDP log:
loading channel rdpdr
loading channel rdpsnd
loading channel drdynvc
connected to 10.1:3389
creating directory /root/.config/freerdp
creating directory /root/.config/freerdp/certs
creating directory /root/.config/freerdp/server
certificate_store_open: error opening [/root/.config/freerdp/known_hosts] for writing
Unable to find a match for unix timezone: Etc/UTC
expected PDU_TYPE_DEMAND_ACTIVE 0001, got 000a
connected to 10.1:3389
creating directory /root/.config/freerdp
creating directory /root/.config/freerdp/certs
creating directory /root/.config/freerdp/server
certificate_store_open: error opening [/root/.config/freerdp/known_hosts] for writing
Unable to find a match for unix timezone: Etc/UTC
Loading Dynamic Virtual Channel urbdrc
VID: 0x04F2 PID: 0xB52C
Regist Device: Vid: 0x04F2 Pid: 0xB52C InterfaceClass = 0xE
Closed from X11

Try freerdp2 from the repos or our nightly builds.

Closing due to lack of feedback.
Working on current nightly with my setup at least.
Please add some additional information to get this reopened.