Different Face Images Have Different Rotations, How To Standardise?

Hello, I'm having issues aligning 1 face from 2 different images into the same view, so that I can run distance-based comparisons with their face features.
I'm aiming to plot the images straight up, as though looking from a camera at eye-level.
However, I can't seem to get the rotation matrix right. The ranges for the x,y,x coordinates for 2 different meshes might also be different. I notice this most especially with the z-axis most frequently.

Do I have to do the rotation first, then normalise using the translation vector or is it the other way around?
Could you kindly take a look and point me in the right direction?
lmk3d, mesh, pose = model.get_all_outputs(I)

# Define the original face pose (Euler angles and translation)
original_yaw = np.deg2rad(pose[0][0][0])
original_pitch = np.deg2rad(pose[0][0][1])
original_roll = np.deg2rad(pose[0][0][2])
original_translation = pose[0][1]

original_mesh_vertices = mesh[0]

# Function to rotate vertices using Euler angles
def rotate_vertices(vertices, yaw, pitch, roll):
    R_yaw = np.array([[np.cos(yaw), -np.sin(yaw), 0],
                      [np.sin(yaw), np.cos(yaw), 0],
                      [0, 0, 1]])

    R_pitch = np.array([[np.cos(pitch), 0, np.sin(pitch)],
                        [0, 1, 0],
                        [-np.sin(pitch), 0, np.cos(pitch)]])

    R_roll = np.array([[1, 0, 0],
                       [0, np.cos(roll), -np.sin(roll)],
                       [0, np.sin(roll), np.cos(roll)]])

    # Combined rotation matrix
    R = np.dot(R_yaw, np.dot(R_pitch, R_roll))

    # Rotate vertices
    rotated_vertices = np.dot(R, vertices)

    return rotated_vertices

# Function to translate vertices
def translate_vertices(vertices, translation):
    translated_vertices = vertices + np.expand_dims(translation, axis=1)
    return translated_vertices

# Normalize face pose (rotate and translate vertices)
rotated_vertices = rotate_vertices(original_mesh_vertices, -original_yaw, -original_pitch, -original_roll)
normalized_vertices = translate_vertices(rotated_vertices, -original_translation)

Although I don't quite realize your question, but maybe I can give you a suggestion~
In file SingleImage.py there has a process of how author using the output of model to plot 3D mesh align with Input image, maybe there has the answer you need!


Invalid Token.

Applicaiton says token is invalid when it's not. I even changed my password in order to reset my token but it still won't work.

nvrm I found out the solution 😅

yes wiki always helps

I love wiki :pray:


AttributeError: module 'numpy.random' has no attribute 'bit_generator'

the imgaug raise AttributeError: module 'numpy.random' has no attribute 'bit_generator' ?
i don't know what errors is?
can you help me,thank you

That's an error introduced by numpy 1.18 that was released two days ago. They moved an interface to a different location without deprecating the old name. The problem is already fixed in master, so just install directly from github (or use numpy 1.17 for now).

@aleju Hi,I also meet this problem,and I installed imgaug from github directly, just as the follow
git clone https://github.com/aleju/imgaug  cd imgaug && python setup.py install
However,the problem is still occured.

Put this line at the top of your file:
import numpy numpy.random.bit_generator = numpy.random._bit_generator

@aleju Hi,I also meet this problem,and I installed imgaug from github directly, just as the follow
git clone https://github.com/aleju/imgaug cd imgaug && python setup.py install
However,the problem is still occured.

Sounds to me like it is using for some reason an older version of the library and not actually the one from master. You could also try import imgaug.augmenters as iaa; print(iaa.Cartoon()). That augmenter doesn't exist yet in the last pypi release, so you will probably get an error for that command too.
Try pip uninstall imgaug; pip install git+https://github.com/aleju/imgaug -- if you initially installed via pip and not conda. If you installed via conda you first have to run conda remove imgaug.
Also make sure that there is no folder imgaug in your current working directory that might be unintentionally imported. You can try running your script after uninstall to make sure that you get an import error for imgaug, i.e. that it is really uninstalled.

Thank you @chitholian
your method works on my code. I recommend it.

AttributeError: 'numpy.random._generator.Generator' object has no attribute 'uniformInt' I am getting this error

PLEASE how do i resolve this  'AttributeError: module 'numpy.random' has no attribute '_bit_generator' ?

I solved it by doing
import numpy numpy.random.BitGenerator = numpy.random.bit_generator.BitGenerator

sudo pip3 --update numpy


feat(Ecto.Migration.Runner): Support drop_if_exists for Ecto.Migratio…

…n.Constaints
@josevalim Adds support for dropping constraints if they exist.
https://www.postgresql.org/docs/9.6/sql-altertable.html

@tomciopp can you please add a test? We need a test for logging in migration_test and we need a test for both mysql / postgres to make sure they emit the proper expressions. Thanks!

Ok, will do.

@josevalim I believe that should do the trick. Let me know if I missed anything.

:heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:


Extend the multi-threaded example with graceful shutdown on a signal

For the love of God, I can't figure out how to do it. I need to write a multi-threaded TCP server that maintains connections and needs to shut down gracefully on SIGTERM, including sending close message to the clients before terminating.

Sorry for the delay, I did not received a notification.
I'll look into that.


bug(service): doesn't respond with gql result

New bug introduced between rc-1 and rc-2.
The indexer-service always responds with:
{"attestation": Null, "graphQLResponse": String("{\"message\":\"Not found\"}")}

Confirmed fixed through #228 and #243


Add chainermn.links.create_mnbn_model document

Follow up #6245 .

Jenkins, test this please.

Jenkins CI test (for commit 827c6950f0e04a48e82da6e752728dcecdc51eee, target branch master) succeeded!

Jenkins CI test (for commit 827c6950f0e04a48e82da6e752728dcecdc51eee, target branch master) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)


Angular v16 is not supported

I cannot use this extension with Angular v15. When I try to install it I get this error message:
λ npm i
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@angular/common
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer @angular/common@"15" from<EMAIL_ADDRESS>npm ERR! node_modules/@asymmetrik/ngx-leaflet-markercluster
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See d:\tools\nodejs\npm-cache\eresolve-report.txt for a full report.
npm ERR! A complete log of this run can be found in:
npm ERR!     d:\tools\nodejs\npm-cache_logs\2023-05-17T08_02_01_399Z-debug-0.log`

use npm i -f  for installation.

Just published a version explicitly compatible with ng16


Add fuzzing scripts

I've added fuzzing scripts to decode each format explicitly and one that runs the generic load_from_memory function.
I've got some crashes in incoming issues and PRs.

Thank you, I’m not aware of this fuzzing framework. Is it something which could be automatically run?

Hey @nwin! The framework is cargo-fuzz and can easily be run by using RUST_BACKTRACE=1 cargo fuzz run fuzzer_script_1 -- -max_len=10240.
I've got a few crashes which I am just triaging... :)

ping @nwin

ok, looks good, sorry for the delay :)


How to cite information missing on some resources

I noticed this doing demo's at AGU.  For most resources there is italics text below the how to cite that gives a the DOI citation format, such as

However for a few resources, such as this one
https://www.hydroshare.org/resource/49d795e48a8a42e289bc3ee7e859dd01/
the text is missing

I see this:
How to Cite
Black, S. ì. (2019). CUAHSI Binder, HydroShare, http://www.hydroshare.org/resource/49d795e48a8a42e289bc3ee7e859dd01
This resource is shared under the Creative Commons Attribution CC BY.
http://creativecommons.org/licenses/by/4.0/

It is the text "When permanently published ..." that is missing.

OK.  Sincere apologies.  This is a private/public issue.  The text in question shows up when a resource is made public, then disappears when it is made private.


event triggers repeatedly

Version
2.7.14
Reproduction link
codesandbox.io
Steps to reproduce
const vm = new Vue()
const fn = () => {
  console.log('hello world')
}

vm.$on('foo', fn)
vm.$on('foo', fn)
vm.$emit('foo')
// => "hello world" x 2

What is expected?
// => "hello world" x 2
What is actually happening?
// => "hello world" x 1

I recall this was rejected in the past but I can't find the issue anymore... Since in practice you never write that same statement twice, I don't think this will fix any problem. Do you have any real world scenario where this is necessary?

I think it should be deduplicated by Vue internally,  because it is also possible to use duplicate events inadvertently

because it is also possible to use duplicate events inadvertently

Which will then break if we fix this 😅
So, do you have any real world scenario use case? In practice people don't seem to do this and it seems to avoid a hard to spot duplication, so it looks better not to change the current behavior.

What is expected?
// => "hello world" x 2
What is actually happening?
// => "hello world" x 1

I'm confused. Do you actually expect "hello world" x 1 instead of "hello world" x 2?

they expect it to run it twice as it would make sense because there are 2 $on but at the same time writing twice $on() with the same function is unlikely to be intended

What is expected?
// => "hello world" x 2
What is actually happening?
// => "hello world" x 1

I'm confused. Do you actually expect "hello world" x 1 instead of "hello world" x 2?

Sorry, my description was wrong, I was expecting it to execute only once

You listened to an event twice then your callback run twice so I wouldn't say this is a bug. Changing this would be a breaking change which we will not accept at the moment.
Ps. Node.js's EventEmitter doesn't dedupe but DOM's EventTarget does dedupe so I'm not saying there is one single correct behavior. We just won't change it in Vue.

Huh, maybe I was wrong and it got accepted then? I can't recall anymore but I don't think it makes sense to change the behavior of this.$on() at this point as it doesn't exist in v3 anyway so this would just hurt existing projects that could be relying on the behavior


Problem about shuffle buffer size for unconditional GAN

I notice that the shuffle buffer size is 10000, and is not included in gin configurations. While the original imagenet datasets are sorted by classes, this means that the images are feeded to the unconditional GANs with class info. Could that contradicts the unconditional training, especially for SSGAN and S3GAN?

TensorFlow Datasets does not store images in original order.


Manually build headers error: Vim only works with 32 bit int or larger

Instructions: Replace the template text and remove irrelevant text (including this line)
Describe the bug
I tired to build this library with build/build-posix.sh on arch linux, only to find the generated headers has a bunch of errors in it.
The generated header files & static library can't be build to another program with the following commands because of the errors in it.
gcc -g -I./include test.c -o out -L./lib -lvim

To Reproduce

set environment variable cur_install to "/tmp/libvim-test-export"
run build/build-posix.sh
open vim.h under generated include path

Expected behavior
No errors
Screenshots

Environment (please complete the following information):

libvim version: last commit 9ade7d1e2ac54cb945724762cb8be9c68adef3f0
OS: Linux arch 5.13.9-arch1-1 #1 SMP PREEMPT Sun, 08 Aug 2021 11:25:35 +0000 x86_64 GNU/Linux
Terminal: alacritty (does that matter?)

I was having a similar error. I could fix it by compiling with the flag -DHAVE_CONFIG_H.


sample_nodules() works strange

from radio.preprocessing.utils import get_nodules_pixel_coords, show_slices
get_nodules_pixel_coords(batch)

returns dataframe with 8 nodules
from radio.preprocessing.utils import num_of_cancerous_pixels
num_of_cancerous_pixels(batch)

returns 1 scan with 2k nodules pixels
However when I'm trying to attach sample_nodules(batch_size=None, nodule_size=(16, 32, 32), share=1.0) to the current pipeline and calling
batch_crops = (dicom_dataset >> crops_sampling_pipeline).next_batch(20)
I'm getting nothing here despite I used share = 1.0
get_nodules_pixel_coords(batch_crops).head(1)

Hello, @theVmagnificient!
Thanks for the issue!
It does look strange. It seems to me, though, that there is some incidental shuffle=True that changes the order of iteration through the dataset. Another possibility is that batch is not the first batch, generated by corresponding pipeline.
In any case, it would very helpful if you could provide us with the full gist, that leads to this result.
Best,
Alex


chanfitness: Bugfix save initial peer online event

Uptime calculations rely on an initial online event to determine peer state which was removed in #3799. The change was appropriate for channel that are offline at start (since an event will be recorded if the peer comes online), but it introduces a race between peers coming online and existing channels being added to the store. If the peer comes online before the channel is added to the store, no online event is added (and the channel with an online peer appears to be offline). This change re-adds the channel online event in addChannel so that channels with already online peers have an initial online event.
This edge case of needing a first online event seems unavoidable, and buggy, so I am going to follow up with a refactor of the unit tests to better cover this code. The issue here is that it's difficult to test a whole set of events, so I'm going to add an interface for Subscribe.Client and test a full event flow.
For now, tested all possible scenarios with a local node:
On restart:

Existing channels with online peers: lifetime equals time since restart, uptime potentially less than lifetime if the peer takes long to reconnect
Existing channels with offline peers: lifetime equals time since restart, uptime is zero

New channels:

New channel with online peer: uptime and lifetime equal time since open
New channel with offline peer: zero uptime, lifetime set to time since open

Peer flaps:

Peer goes offline: lifetime continues to increase, offline stops increasing
Peer comes online: uptime and lifetime increase

Isn't this something that needs to be addressed in the startup sequence? Make sure the fitness subsystem is properly started before starting network connections.

Had a closer look at the start sequence and we start connections after the chanfitness subsystem, so channels that exist at startup will always have offline peers, and then add an online event if the peer re-connects on start.
The issue is actually with new channels, which don't record the online event for already online peers (looked like a race to me because my startup script kept confirming channels when it mines blocks on restart). Adding an online event is how the original PR had start online events, but my last bugfix moved it around and then deleted it (which made a worse bug).
With this fix: channels that exist on startup will not have their peers tracked as online yet, because their peers have not connected, so addChannel will not record an event, and new channels will appropriately have an online event added it their peer is online.

In that case, isn't it better to not add the online event in addChannel (where it is no-op for existing channels), but do it when a OpenChannelEvent is received?

In that case, isn't it better to not add the online event in addChannel (where it is no-op for existing channels), but do it when a OpenChannelEvent is received?

Yes it could also be there. I think it's more visible in addChannel, which is better than having it hidden in the large main loop? Even if we handled existing channels in the main loop through some sort of historic subscription and only had to call addChannel once (ie did not need to get the open channels and add them), I think I'd still want to keep it there.


suggestion] add a video demo

this mod sounds fun, but i dont see a demo.
and from my pov, a video demo usually = higher chance of me downloading a mod

It's a really small, simple mod. The Modrinth page and the video linked above showcase pretty much everything there is to know about it.

I'm glad I watched that video, because I assumed that you'd need to push a block in the the position above a stonecutter, and that's the only place it would work. Also that it would break it over time, not instantly.
So, it was nice to have that extra context, to know what this mod does in more detail.


Switch howto-radio-group over to shadow dom

@surma I noticed a number of e2e tests are failing with the same error. Here's one I just saw related to the radio group:
5) howto-radio-group should focus and select a radio on click:
     TypeError: Invalid locator
      at Object.check [as checkedLocator] (node_modules/selenium-assistant/node_modules/selenium-webdriver/lib/by.js:267:9)
      at Driver.findElement (node_modules/selenium-assistant/node_modules/selenium-webdriver/lib/webdriver.js:1016:18)
      at Context.<anonymous> (elements/howto-radio-group/howto-radio-group.e2etest.js:138:43)

Here's the line in question: https://github.com/GoogleChrome/howto-components/pull/110/files#diff-c2b287da3ee677beb5cbae63fa59eaf7R138
Because I'm seeing this test failure for pretty much all of the elements, I think maybe something is off with the testing lib. I'm going to go ahead and merge this PR and we can tackle the test fixes in another PR.


replication and transfur health glitch

all female latex players can only replicate, and all latex players that can replicate don't get health from transfurring humanoids

Attachment: https://cdn.discordapp.com/attachments/1037069864252227654/1062962121962442845/Minecraft_1.18.2___FPS__178___Mem__25_4170_16384MB___Ping__0_2023-01-12_06-11-34.mp4


Capturing HTTP traffic into a HAR file

Checklist

[X] I'm reporting a feature request
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2<IP_ADDRESS>. (update instructions)
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Description
HTTP Archive (HAR) is a JSON-based format capable of storing a log of HTTP(S) traffic. It can be readily generated by Chrome and Firefox developer tools. It would be tremendously useful if yt-dlp could generate this kind of file as well when capturing its own traffic. It would for example help when triaging unreproducible issues: if we ever get a report of an issue that fails to reproduce, we may be able to ask the user to attach a compressed .har file generated by yt-dlp to the ticket. The closest thing yt-dlp offers right now are the options --write-pages and --print-traffic, neither of which is readily suitable for short-to-medium-term storage.
However, since a dump of HTTP traffic can contain cookies, IP addresses and other sensitive data, we would have to either encrypt the HAR file or attempt to redact those data. We may also need a similar tool for redacting/encrypting HAR files obtained from a browser inspector, which may also be very helpful, especially when diagnosing issues with geo-blocked sites. Posting a HAR file exported from the browser could then serve as a somewhat safer alternative to credential sharing.

I also found I was able to make a HAR export of traffic for segment data (from Safari), which let's me handle backup from howtube.com (which is otherwise unsupported yet)


In CasaOS, there is a certain chance that it will not start.

Uninstalling and reinstalling is not good either.
CasaOS:0.42

Sorry, what is the issue exactly ?

Sorry, I can't demonstrate it, because it only happens with a certain probability. Two of my seven servers have experienced this failure, and I even need to reinstall the whole Debian when the failure occurs. The specific performance is that firefox docker can't start, and it's impossible to find out how the log runs.

You can get the container's log by running docker logs <container name>.


Set up app to render templates

User Stories
4
5	* As a user, I want to be able to view the home and dashboard pages in the browser

Created app and some basic routes


Please update flashrom version to

Please upgrade flashrom based on this request: https://github.com/Dasharo/dasharo-issues/issues/23#issuecomment-838194899
root@orange-pi-zero:~# flashrom --version
flashrom v1.0 on Linux 4.18.10 (armv7l)
flashrom is free software, get the source code at https://flashrom.org

flashrom was upgraded in the newest image for RTE (v0.7.1).
root@rte:~# flashrom --version
flashrom v1.2 on Linux 5.4.69 (armv7l)
flashrom is free software, get the source code at https://flashrom.org

root@rte:~# cat /etc/os-release
ID=rte
NAME="RTE (Remote Test Environment Distro)"
VERSION="0.7.1 (rocko)"
VERSION_ID=0.7.1
PRETTY_NAME="RTE (Remote Test Environment Distro) 0.7.1 (rocko)"

The image is available here https://cloud.3mdeb.com/index.php/s/tJy9nZdDG9qd35b, there is no way for update the system from the previous version (like v0.5.3) so the sd card needs to be flashed.
I will close this issue.


Remove Onboarding Section

Remove onboarding section as the service is now fully self service.

@mialdrid : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Let the generator optionally output a config.json file

I am currently developing a simple wordpress plugin for pannellum to embed it into my own site (https://github.com/languitar/pannellumpress). The current logic is quite simple and assumes, that each panorama is fully specified by a config.json file. So it would be quite nice if the generator utility could optionally also output such a file or its contents instead of the iframe link.

Hey @languitar ! Do the recent (#160) additions of minHfov, maxHfov, minPitch, maxPitch, minYaw and maxYaw as supported URL parameters in standalone mode help you achieve what you're trying to achieve?

I can't tell. I have abandoned the wordpress plugin since I stopped using wordpress.

Ok; out of curiosity, what CMS/framework did you migrate to?

Static site generators, middleman and jekyll


Finalize the documentation of block diffusion pipelining via delayed validation

Block diffusion pipelining via delayed validation has been implemented in input-output-hk/ouroboros-network#3688, but the corresponding discussion paper (see input-output-hk/ouroboros-network#3579) has not been finalized. The goal of this issue is to modify it to accurately describe the already-shipped implementation, comparing it with other internal iterations of the document.
From a cursory glance, it looks like it can mostly stay as it is, excluding the implementation section, which still describes a tentative approach we did not end up using.
Also, it should explain https://github.com/IntersectMBO/ouroboros-consensus/pull/955

Related: https://ouroboros-consensus.cardano.intersectmbo.org/haddocks/ouroboros-consensus/Ouroboros-Consensus-Block-SupportsDiffusionPipelining.html#t:BlockSupportsDiffusionPipelining includes a good high-level explanation


playground: error while compile language

The following code causes a compile error on the playground
foo AS bar

bar AS foo

your name has to be foo

"Error while compile language Javascript:"

I tried to reproduce this error and maybe got a more useful error message.
I get the error java.lang.Exception: java.lang.StackOverflowError.
This is probably because of the recursive usage of both variables.
Should recursive usage be possible @thecodemonkey @jages?
Maybe we at least should provide a more informative error message in this case.


Builtin switch hook throws error

Error executing vim.schedule lua callback: .../paqs/start/git-worktree.nvim/lua/git-worktree/hooks.lua:91: attempt to call field 'get' (a nil value)
stack traceback:
        .../paqs/start/git-worktree.nvim/lua/git-worktree/hooks.lua:91: in function 'hook'
        .../paqs/start/git-worktree.nvim/lua/git-worktree/hooks.lua:43: in function 'emit'
        ...qs/start/git-worktree.nvim/lua/git-worktree/worktree.lua:74: in function <...qs/start/git-worktree.nvim/lua/git-worktree/worktree.lua:72>

This is what I get with registered hook update_current_buffer_on_switch. Lualine branch name isn't updated as well. Probably I'll need to write my own hook for that ?

My fix for this was merged yesterday but is still pending a release it seems. @polarmutex when do you plan on cutting a new release?

Error executing vim.schedule lua callback: .../paqs/start/git-worktree.nvim/lua/git-worktree/hooks.lua:91: attempt to call field 'get' (a nil value)
stack traceback:
        .../paqs/start/git-worktree.nvim/lua/git-worktree/hooks.lua:91: in function 'hook'
        .../paqs/start/git-worktree.nvim/lua/git-worktree/hooks.lua:43: in function 'emit'
        ...qs/start/git-worktree.nvim/lua/git-worktree/worktree.lua:74: in function <...qs/start/git-worktree.nvim/lua/git-worktree/worktree.lua:72>

This is what I get with registered hook update_current_buffer_on_switch. Lualine branch name isn't updated as well. Probably I'll need to write my own hook for that ?

I'm really new to this, what are hooks by the way nothing in much of it in explain in the README , please do let me know

@Antony-AXS A hook is basically a function that is run when a certain event is triggered. Currently you can register a hook on the events CREATE, DELETE and SWITCH (see here).
This way you can program custom behavior to integrate the git worktree workflow into your current dev environment. Here is an example out of my own config where I integrated the switch behavior for the oil.nvim file explorer.


Client sample docs update

Adding README. Minor doc fixes.

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> ☕

Nit: can we please replace the variable caPoolName with pool_ID because that's the convention we use in our docs?


Fix argument type in cvc5 mappings

I will try to add cvc5 workflow so that we might try to catch these errors here as well.


perf: batch json decode checkpoint actions when writing to parquet

Description
This change pushes more serialized json actions into the decoder before flushing. For a log with 10s of thousands of actions, the current implementation took ~18 seconds, this change dropped it to 3.
Related Issue(s)
n/a
Documentation
https://docs.rs/arrow-json/53.2.0/arrow_json/reader/struct.Decoder.html#method.decode

Does it make sense to tie it to record batch size? Could we instead pull that into it's own configuration or at least constant?

Does it make sense to tie it to record batch size? Could we instead pull that into it's own configuration or at least constant?

I think if its less than the checkpoint batch size, then the decode and flush will yield a batch < the checkpoint batch size constant. For example
    const CHECKPOINT_RECORD_BATCH_SIZE: usize = 5000;

    let mut decoder = ReaderBuilder::new(arrow_schema)
        .with_batch_size(CHECKPOINT_RECORD_BATCH_SIZE)
        .build_decoder()?;

    // Count of actions
    let mut total_actions = 0;

    for chunk in &jsons.chunks(2500) {
        let mut buf = Vec::new();
        // write 2500 serialized json objects to buffer
        for j in chunk {
            serde_json::to_writer(&mut buf, &j?)?;
            total_actions += 1;
        }
        // internally buffers 2500 objects and returns because
        // buf is exhausted even though 2500 < 5000
        let _ = decoder.decode(&buf)?;
        // flush yields 2500 row batch and writes it
        while let Some(batch) = decoder.flush()? {
            writer.write(&batch)?;
        }
    }

I understand, I guess I'm asking is there any reason a user might want to configure this independently from the batch size like above? If we don't think it's ever gonna happen then we can forgo configuration.


Test/Bug: For create flow, it's the voice script which is fine, but do we want to call that out? I think it's nice to highlight there will be a Teams form - otherwise we will get that feedback probably.

For create flow, it's the voice script which is fine, but do we want to call that out? I think it's nice to highlight there will be a Teams form - otherwise we will get that feedback probably.

We can call this out in the powerpoint. No need to modify the bot I don't think


Add a "Skip" button to the "Choose your editor" page

Expected behavior:

Perhaps there's some users that don't want to use Cody in the IDE and just want to use the Web. They should be able to skip this step
Make a "Skip this step for now" CTA at the bottom right.

CC: @danielmarquespt

Closed by https://github.com/sourcegraph/sourcegraph/pull/58828


#[cfg_attr(rustfmt, rustfmt::skip::macros(...))] does not work

Using #[rustfmt::skip::macros(gen)] successfully skips formatting in the following example. So does #[cfg_attr(rustfmt, rustfmt::skip)]. But combining these into #[cfg_attr(rustfmt, rustfmt::skip::macros(gen))] fails.
This also applies for #! attribute declarations. I want to use cfg_attr to avoid "unused attribute" lints on these.
Playground
fn example() {
    gen!(f, "
        trait $trait_name {
            fn $func_name(self, $args_sig);
        }
    ")?;
}

#![doc(test(attr(rustfmt::skip::macros(date))))]` doesn't work either, presumably for similar reasons.

#[cfg_attr(rustfmt, ...)] is deprecated, you should use #[rustfmt::...] instead.

I want to use cfg_attr to avoid "unused attribute" lints on these.

This seems like a compiler or a linter error to me. IIUC, the tool attribute has already been supported, and any attributes starting with rustfmt should trigger warnings or lints (cc https://github.com/rust-lang/rust/issues/44690).


K9 mail regularily forgets settings and accounts

Expected behavior
Never ever forget accounts and settings.
Actual behavior
From time to time K9 mail forgets settings and accounts.
Steps to reproduce

Configure k9 mail properly
Use it several days and weeks
Bam! Data forgotten

Environment
K-9 Mail version: current from playstore (5.206)
Android version: 7.1.2
Account type (IMAP, POP3, WebDAV/Exchange):
3 times imap

#750 - we have no idea why this occurs and aren't likely to unless someone can provide relevant device logs.

No information given how to provide logs.
No necessitiy shown that further feedback is welcome, just closed issue.
No further interest in any collaboration shown.

Big fail, dude.

As mentioned multiple times in the Wiki and I believe the README: https://github.com/k9mail/k-9/wiki/LoggingErrors
All of that is in the linked issue you clearly didn't visit. This is a duplicate that's the only reason I closed it.
If we didn't accept collaboration we wouldn't allow pull requests.

Ah, thank you. I missed the Logging Wiki Page.
I will see if I can provide the necessary information. Technically its ok, I'm also android developer.


Update EventBrite bank account details

Done
Chris Mathews
On Mon, Sep 24, 2018 at 8:55 AM Jason Hibbets<EMAIL_ADDRESS>wrote:

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ncopenpass/NCOpenPass/issues/1272, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOGtZRHES9cYWg7RAabOQIJOJAlzFD1ks5ueNZQgaJpZM4W2mZN
.


Issue with exclude parameter and ApiException Resolved

Pull Request Test Coverage Report for Build 46

16 of 18 (88.89%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.6%) to 68.396%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/BaseController.php
6
7
85.71%

src/RequestParser.php
10
11
90.91%

Totals

Change from base Build 25:
0.6%

Covered Lines:
580

Relevant Lines:
848

💛  - Coveralls


Post daily yield curve in specific channel

TradingView offers data of 1,2,3,5,7,10,20,30 year bonds. Maybe convert those into a plot like this:

https://www.investopedia.com/terms/y/yieldcurve.asp For why this is important
Use matplotlib to generate a plot and then convert it to a temporary picture to post it as embed

Also do EU yield, since that is also available

https://www.tradingview.com/symbols/TVC-US10Y/


Download tarball on Firefox and Edge doesn't work properly

Describe the bug
Download tarball on Firefox and Edge doesn't open "Open with" dialog / save to default location.
To Reproduce
Steps to reproduce the behavior:

Go to package page.
Click on 'Download tarball'

Expected behavior
"Open with" dialog should open (as in Chrome) / save to default location.
Configuration File (cat ~/.config/verdaccio/config.yaml)
Using default config.
Environment information
Running dev:start of head of clean clone of verdaccio repo (commit 7d71b060c4bdc64d023c978aa354c9cf00998161).
Additional context
Looking in the network tab of Dev Tools, the file is fetched. Just seems the dialog isn't opened for some reason. Double click the entry in the network tab and a new tab opens and I get the "Open With" dialog.
Tried Firefox on Fedora and Windows and also Edge (the pre-Chromium version) - no success. It doesn't appear in the browser's Downloads either.
I'm guessing it's not really a Verdaccio issue, but maybe this is the place to mention it first...
Thanks!

hi @lukebelliott , that might happens, in any case I'll move this ticket to UI for further investigation.


Remove some files from the Xcode project that are now deleted.

This one definitely needs to go in before LunarG cuts the next release.
I can't build successfully without this. (And I think CI needs to run
fetchDependencies again.)

@cdavis5e I'm not seeing this. If I pull clean from the MoltenVK repo and run fetchDependencies...those files (eg. make_unique.h) are available and part of the MoltenVK build.
Where are you seeing that these files are now deleted?

I think I was the one who forgot to run fetchDependencies.


RTL support

Is there any planning for adding RTL support?
May be allow plugins to run over the parsed CSS, so it will be possible to run https://github.com/cssjanus/cssjanus to transfer from LTR to RTL

@kentcdodds
Didn't try it myself but could this be done with rtl-css-js which is an package used by glamorous.

I don't think you could use rtl-css-js because it uses CSS objects. It can't do anything with strings. To be clear, glamorous doesn't use/depends on it, but you can use it for a plugin with glamor. 👍

@kentcdodds stylis supports middlewares, so this should be feasible if an escape hatch is opened for that feature: https://github.com/thysultan/stylis.js/blob/master/README.md (see the Plugins section)

There is always the possibility of passing objects as an interpolation so this theoretically already works, if you're willing to jump through that hoop.
We very likely won't support customising the runtime parsing. Such features would disable us in making optimisations and a whole range of changes. Also it goes against one of our core ideas. SC will likely never be customisable in the runtime.
Last but not least; in v3 you'll see stable preprocessing being added to the library. This will require us to make several changes to the current runtime. This makes modifying the runtime impraftical. However it opens up the possibility of customising the compile/preprocessing pipeline in the future, which might help with solving this problem

Yeah RTL support is something I'd really like to add but not by allowing customisable pipelines. Like nesting, it's a feature I think we could commit to, but we keep the ability to dramatically change the underlying code. It's on my radar but I don't have a plan in the short term, sorry.

@geelen well, adding it to our pipeline will in v3 be universal, so we just have to make sure that it can be used runtime-only as well

The thing is that it is only needed within the web variant.
In the styled-components/native and styled-components/primitives it could be solved by using the I18nManager module.

if I may ask, what's the recommended way of supporting RTL with styled-components right now? We need to currently support RTL in our project.

@jonathanlie Why don't you use specify themes with styled-components?

@jonathanlie @sergop321 use where styled-components where necessary otherwise you can enable css-modules in post-css and then use the postcss-rtl or similar plugin on top to get the desired outcome.

What is the current status of RTL support in styled-components?

@nico-bellante for ease of use just use postcss-rtl and go around the headache of even thinking of setting styles correctly

Thanks @adeelshahid for the quick response. To clarify, you're suggesting using styled-components for everything except things that need RTL styles? And then using postcss-rtl and css modules for the RTL styles?

@nico-bellante I recommend using the simplest possible approach to solving the RTL problem. postcss-rtl is the best possible approach. Think of

maintenance
reading the number of lines of code that almost doubles with styled-components
UI bugs

attach 5 other common things of worry to the list and it wud be constant headache.

Using two different styling-approaches does not seem to me to be a good approach. The described problems (maintenance, more lines of code, ...) could also double if 2 different approaches are used.
Could someone give a code example of how RTL could be currently implemented with styled-components?

I wrote some custom mixins to use for positioning, (Most of the positioning done with flex so I do not need to specify direction - using flex-end, flex-start).
To make it work need several steps.

Added "rtl" boolean to Theme.
Added global style

injectGlobal`
     body {
       direction: ${({theme}) => theme.rtl ? 'rtl' : 'ltr'};
     }
`;

Wrote some custom mixin for example

const position = (...args) => css`
	${({ theme }) => theme.rtl ? 'right' : 'left'}: ${css(...args)};
`;

usage example:
const Positioned = styled.div`
	position: absolute;
	${position`0`}
`;

This is my way for currently using styled components with RTL on production site

Okay, so then no auto-rtl, but a possible solution until it works via a plugin or something.
So this brings me to another idea, assuming we have a theme with isRtl-prop:
const rtl = (left, right) => props => (props.theme.isRtl ? right : left);

const Positioned = styled.div`
  position: absolute;
  ${rtl('left', 'right')}: 0;
`;

// or with pre-defined RTL-styles:

const left = rtl('left', 'right');

const Positioned2 = styled.div`
  position: 'absolute';
  ${left}: 0;
`;

I don't think you could use rtl-css-js because it uses CSS objects. It can't do anything with strings.

Happy to say this is now possible in styled-components v3.3.0! Yay for object support :-)

I don't see us making RTL a core thing for the moment, but we'd definitely love if anyone wanted to add rtl-css-js and some example usage to the website under the "advanced" section or perhaps FAQ.

Could someone please confirm or deny if rtl-css-js is an option in the latest styled-components version?  Without an example, most new users with RTL requirement are going to feel compelled to use another option like postcss-rtl or fela-plugin-rtl which is a shame if it is now simple to do and just undocumented.

You could use a theme to set if the locale is RTL or not and flip based on
that. We don’t currently have a solution in place for automatic conversion,
but it’s something we’re thinking about.
On Wed, Aug 8, 2018 at 1:38 AM Adam Lane<EMAIL_ADDRESS>wrote:

Could someone please confirm or deny if rtl-css-js is an option in the
latest styled-components version? Without an example, most new users with
RTL requirement are going to feel compelled to use another option like
postcss-rtl or fela-plugin-rtl which is a shame if it is now simple to do
and just undocumented.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/styled-components/styled-components/issues/844#issuecomment-411302345,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAiy1iVy6iIrE-GX291B3N-SIuduiufOks5uOod7gaJpZM4NoqDi
.

You could use a theme to set if the locale is RTL or not and flip based on that. We don’t currently have a solution in place for automatic conversion, but it’s something we’re thinking about.
…
On Wed, Aug 8, 2018 at 1:38 AM Adam Lane @.***> wrote: Could someone please confirm or deny if rtl-css-js is an option in the latest styled-components version? Without an example, most new users with RTL requirement are going to feel compelled to use another option like postcss-rtl or fela-plugin-rtl which is a shame if it is now simple to do and just undocumented. — You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub <#844 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/AAiy1iVy6iIrE-GX291B3N-SIuduiufOks5uOod7gaJpZM4NoqDi .

Still thinking about it? I guess this should be always there whenever a CSS-IN-JS solution proposed!

Is there any kind of documentation on how to use RTL with styled-component?

You could use a theme to set if the locale is RTL or not and flip based on that. We don’t currently have a solution in place for automatic conversion, but it’s something we’re thinking about.

@probablyup Still thinking?  🤔 😬

Hello, do we have RTL support with styled-component ? , kindly someone help me to how to implement such as docs/boilerplate code?. thanks in advance.


Selected text is replaces

Maybe I'm doing something wrong, but whenever I use this to append an html tag, it completely removes the words selected.

@tenshis Currently that's the expected behavior (to replace the selected text with provided html). If you have any ideas how to improve it, feel free to create a feature issue.


Update Nginx to avoid needless reverse proxy

Set Nginx to avoid reverse proxy overhead for everything except download.
This lessens the effect of (incompetent) denial-of-service attempts.

Pull Request Checklist:

[ ] Positive Test Case Written by Dev

[ ] Automated Testing

[ ] Sufficient User and Developer Documentation

[ ] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

Do a download. Check logs for "proxying" entry. Check that download worked.
Check all other functions. Function should be unchanged.

Note: I found something curious and wasteful in the existing configuration that I hope is unintentional. The phrase
try_files $url @proxy
in the original code checked for every URL in Nginx before it ran a proxy to Django. This is silly, as these should not exist in Nginx at all. Other rules redirect static content to /static and /media.
All static content should be in /static and /media. If this is true, all is well. If that command actually does something, then we have undocumented static content, which is a big problem.

It looks like the effect of the strange command is to allow access to things in /static without the /static prefix. These include
assets              debug_toolbar  fonts        img        ref_ts     test
autocomplete_light  drf-yasg       gis          js         resources  tests```

I added back the mysterious command try_files $uri @proxy; because it is needed for the /admin and /mezzanine sites to work properly.

retest this, please

@sblack-usu This version is definitive. I am ceasing work on the nginx configuration until the next update, which will include large file upload.


Add full stack of typesheds for the PyBoard, excluding builtins.

Items included:

Excluding builtins, this is a complete stack for a PyBoard, i.e. all typesheds for pyboard, micropython, and sdlib.
Micropython has changed to use non-u-names in stdlib modules as well as u-names, e.g. io and uio. This pull request included both u and non-u versions.
Micropython has updated documentation and added a new module, neopixel.
Typeshed code cleaned up.
Typesheds formatted using Black.
All known bugs fixed.
Changed to using list, tuple, |, etc., as opposed to List, Tuple, Union, etc., where possible.

@hlovatt Thank you for your pull request!


interface of benchmark to algorithms

we've discussed this with @Panaetius  today, and in the medium-term we'd like to clean up the interface and make it much simpler, both for the closed and open divisions.
the goal is that one can basically bring existing distributed training algorithms, and just add two lines of python. one is doing import mlbench , and then at any appropriate place inside some training loop, the algorithm can call mlbench.eval(model).
a big advantage of this would also be that it would become easier to reuse the provided reference implementations for other purposes.
there are some decisions to make still, including how to split the configs. for example the eval needs to know where the test dataset is, while the train algo needs to know the train dataset only.
suggestions welcome!

As a continuation of our discussion, the structure of reference could be

The parsers are used to decide which arguments are enabled/disabled for open/close division.
parsers also determines the actual behavior of mlbench.eval.

perfect! so top level discrimination will be the benchmark task name or id
tiny detail: 'optim' can be merged into 'algorithms', right?

yes. I will put lr and optimizer to algorithm.
In pytorch call the main loop controlflow; in mlperf they call it run_loop.

Not sure about task at top level. I prefer a semantic hierarchy that describes what a thing is, not what it can be used for, since we don't know what a user might use something for. Our experiments are just our experiments, whereas the mlbench package should be a utility to use the whole mlbench framework. It shouldn’t know what experiments we have, instead being something that allows us to implement those experiments more easily. Therefore the modules and submodules should reflect what each part can be used for in general, not specifically for our experiments.
Also, I don't think we actually need to have separate namespaces/modules for tensorflow and pytorch. You can't use pytorch.datasets.cifar10 with tensorflow.models.resnet18, that wouldn't make sense. Since we mentioned Keras on Wednesday, they don't have separate implementations for everything, they have three backend implementations, you set the backend once, and everything else just is the same and uses the the wrapped functions. pytorch distributed does the same for communications backend, with init_process_group having to be called with a backend parameter. We don't want to reinvent keras, but having different framework implementations in the same file and the user just having to specify once which backend to use makes a lot of sense. The backend in our case is ML framework (pytorch, tf, …) and communications framework (MPI, NCCL, …).
Small aside regarding communication backends. For OpenMPI we need to call mpirun with the script as command on the rank-0-worker and openmpi will take care of it. For other backends, we will probably have to start the script on each worker individually or use something similar to https://github.com/pytorch/pytorch/blob/master/torch/distributed/launch.py on rank 0.
Regarding parsers, especially the distinction between open&closed division. We have to think about what is actually set by the dashboard when running an experiment vs. what is hardcoded/only relevant to an experiment. Parsers are based on the current parsers in https://github.com/mlbench/mlbench/blob/develop/mlbench/refimpls/pytorch/utils/parser.py as far as I understood.
But for open division those are not needed at all, since a user will just have his own main.py in his docker and pick&choose what to use from the mlbench package. And the dashboard will just run main.py (directly or with openmpi) with few flags (number of workers, rank and ip adress of master or other nodes), plus a freeform text field that allows the user to specify additional parameters. But the format is completely up to the user. To the parser is trivial in this case plus a users (preexisting) script will probably come with its own parser already anyways.
For closed division, each task and subtask has its own config predefined, we shouldn’t allow to set all parameters on the dashboard. Since each task and subtask will be for a specific experiment, with specific settings (backend, communications framework, hyper-parameters etc. should be fixed). The machine type/number of cores is fixed, too. We don’t want hundreds of different benchmarks or all possible combinations, so for each task we pick one or two common reference datasets, one or two standard models, plus backends. The rest is fixed.
I propose the dashboard will have to have a config of all experiments that the user can chose from, something along the lines of
- image_recognition:
  -cifar10:
    -pytorchCpuOpenmpiResnet18:
      name: pyTorch Resnet18 with OpenMPI (CPU only)
      command: /usr/bin/openmpi
      script: /app/run_loop_resnet18_cifar10_cpu.py
      image: mlbench/mlbench-pytorch-openmpi
      imageVersion: 0.1.0
      machine:
        cores: 4
        gpus: 0
        memory: 2gb
    -pytorchCpuNCCLResnet18:
      name: pyTorch Resnet18 with NCCL (CPU only)
      command: /usr/bin/python
      script: /app/run_loop_resnet18_cifar10_cpu.py
      image: mlbench/mlbench-pytorch-nccl
      imageVersion: 0.1.0
      machine:
        cores: 4
        gpus: 0
        memory: 2gb
  -imagenet:
    -pytorchCpuOpenmpiResnet18:
      name: pyTorch Resnet18 with OpenMPI (GPU)
      command: /usr/bin/openmpi
      script: /app/run_loop_imagenet_cifar10_gpu.py
      image: mlbench/mlbench-pytorch-openmpi
      imageVersion: 0.1.0
      machine:
        cores: 4
        gpus: 1
        memory: 2gb

And the run_loop_imagenet_cifar10_cpu.py and run_loop_resnet18_cifar10_cpu.py have the respective hyperparameters etc. The scripts be too long and just use the relevant mlbench objects and execute them. The user can just select “Imagenet pyTorch Resnet18 with OpenMPI (GPU)” in the dashboard and how many nodes and start the run. The dashboard creates the StatefulSet with the correct docker image and resource requests/limits and executes the specified command. The dashboard does not set hyper parameters or anything else like this. This is up to each predefined experiment and is set in its respective run_loop*.py. The run_loop*.py is only called on worker 0 and takes as parameter its rank and all participating nodes (implementation depends on OpenMPI/Not-OpenMPI, Not-OpenMPI, run_loop*.py on worker 0 starts the script on all other workers similar to pytorch launch.py). This means the parser in each of those entrypoint scripts only needs to read 2-3 options from the commandline, so I don’t think we need a complex parser. Plus one parse is probably enough, since all arguments are generic enough to be applicable to all experiments. So I’d situate it in the utils namespace (Doesn’t make sense to have a separate namespace for a single object). This also makes it trivial for a user to run the experiment himself without dashboard or kubernetes. The images themselves should be in a separate image repository on github and mainly contain the dockerfiles +  relevant run_loop*.py, i.e. code specific to the experiments.
Evaluation is complex and probably needs a specification of its own. It’s not really task specific, rather some of it is universal (TopKAccuracy calculation can be used for many things, BLEU score is applicable to many tasks etc.), some of it depends on the dataset (Test Data) and some of it depends on the model (getting predictions, loading checkpoints of we use checkpoints). The calculations themselves like TopKAccuracy can to be in their own namespace and do not depend on the framework. Getting test set data is somewhere in the dataloader and and model dependent things really depend on the model and framework (this will be especially tricky to deal with if we want to evaluate checkpoints of user models in the open division, where we have no clue what the code looks like). So the full evaluation is spread across multiple classes/functions. Having some main function where you specify the dataset, the model (i.e. a function that takes data as input and returns predictions as output) plus a list of metrics to evaluate make sense to me. Especially since we don’t want to run predictions multiple times if we calculate multiple metrics. We could have a similar function that takes a list of checkpoint definitions (Path, epoch, time etc.), a dataloader, a function that takes a checkpoint path and data as input and returns predictions plus a list of metrics to calculate, to get performance at the end of an experiment. Though this should be run on the worker as well at the end, not in the dashboard. Evaluation metrics as well as evaluation coordination can go in the evaluation namespace.
I  don't like the algorithms name, it’s too generic. An algorithm can be anything. It doesn't tell a user what's inside. Could be quicksort, could be a instructions for a burger making robot. I think we need a name that makes it clear to a user what to expect inside. Or if we just want some sort of catch-all for smaller things, we already have that in utils (which implies small, reusable things), so algorithms seems redundant. If there’s many different optimizer or learning rate scheduler implementations, they should reside in their own module, if not, we can just put them into a submodule of utils.
That would leave us with:
mlbench
├── api_client (formerly logging)
├── datasets
│   ├── cifar10
│   └── imagenet
├── evaluation
│   ├── metrics
│   └── coordination
├── models
│   ├── resnet18
│   └── alexnet
└── utils
    ├── argument_parser
    ├── lr
    └── optim

And for repositories I suggest:

mlbench-helm: Contains helm charts (since the official helm repository requires a separate repository for charts anyways). This also tracks the main version of the whole project (in the Chart.yaml)
mlbench-core: The python package, structured as a plain python package repository with setup.py etc. Get directly deployed to Pypi. This will make the repository conform to common python package layout and make it easy for users familiar with python packages to orient themselves.
mlbench-dashboard: Since it’s a Django application and has no direct dependencies on any of the other stuff. Contains Code + Docker
mlbench-benchmarks: Contains docker files + experiment specific python files ( e.g. run_loop*.py) for the experiments.

What do you think?

note that when you said experiment, each of these is in its essence a tuple of (benchmark task, implementation).
the benchmark tasks are most crucial and need to be most clearly visible, as they will be written in stone by us. for each task, we'll provide two more things: a evaluation (fixed by us, as it's part of the task definition), and a list of one or more implementations.
of the implementations of a task, one will be marked as our official reference implementation. others might just be there, and more might even be user contributed or black box. (therefore separation of tasks and implementation is very crucial). for example it can well be that the eval will use pytorch, while one of the implementations will be TF. (the interface of the two should allow this since it is very simple, only uses an inference function callback, taking a datapoint and giving a prediction)
what's meant by algorithm is training algorithm. this on one hand, and the underlying systems (hardware and frameworks) are the elements we want to benchmark.
so in terms of code structure we'd have a bit of a mix between what you and lie proposed, but with the benchmarks tasks on top level. utils of course can be shared if possible, as you mention.
the repository structure you mention sounds good too.

So if I understand you correctly, you want to have all code in the mlbench package, have the package installed in the docker and then start it with something like /usr/bin/openmpi python -m mlbench.image_classification.pytorch.run_loop.py?
I wouldn't want to integrate every user submitted implementation in the package, having to make a new release of the package each time and having it sort of grow organically over time. That sounds like quite a mess.
On the other hand, I think our reference implementations should mirror how a user would do his own implementation as closely as possible, for the principle of dogfooding.
So we should do our reference implementations under the viewpoint "Suppose I'm a user of MLBench, what would be the easiest way for me to run my own code in the framework". And python packages are akin to software libraries in general, with the main purpose being to group functionality so it can be easily reused. Which is also what I'd want for third party users, to give them some easy tools they can add to their code to make things work.
So I'd put the actual reference implementations in the mlbench-benchmarks repo and only keep functionality in mlbench that makes sense to be shared across implementations, not the implementations themselves. We might even not include model code in mlbench, since those are already quite implementation specific. Plus mlbench is where code for communication with the dashboard lives along with evaluation functions.

Possibly with .txt files alongside each implementation to describe the implementation. And additional, implementation-specific code files. But all of them use mlbench where appropriate for common functionality. Each of those run_loop_*.py files corresponds with a  (benchmark task, implementation) as described by you. And each of those files should be similar to what a users' main.py could look like with mlbench added, so they serve as nice implementation examples at the same time.
But maybe I misunderstood you.
Could you elaborate when and why having eval in tf and training with pytorch is needed? Because we plan on having different Dockerfiles for different platforms, so at least for now there would be no Docker that could run both, so with the way we planned the implementation so far, this would not be possible.

exactly, this would be great! i think you perfectly formulated it with the user perspective, 'bring my code to the framework', or same if one wants to take it out.
and sure i agree that user provided submissions we'll not package. but as you said with dog fooding, we want to show them it's easy to incorporate their newest fancy ML training code. so of our main principles should be that the users code should look almost the same, with or without connecting to the benchmark.
i don't want to be pushy of course and if others prefer a different architecture might be easier...
this way also the docker stuff and number of images looks quite reasonable, right?
BTW, does anybody feel strongly about run_loop? wouldn't run_training make more sense?

some more thoughts on providing a clean interface between (user or any) implementations and the evaluation
the 'eval in pytorch and algorithm in TF' thing is not entirely trivial indeed. and i'm fine if as you say the dockers are now implementation specific. now let's say a new user provides for example a keras implementation. the question how it will interface with the evaluation (say train error).
do we trust them that they compute the train error themselves, and correctly? and that they actually use the NN they claim to use (prescribed in the benchmark task)? this is bad and very error prone.
the trust model should be that we trust the mlbench part (which ideally contains eval functionality), but we don't trust anything in the implementation code, ideally. the tricky bit is where to put the model. (having both pytorch and TF in the same namespace should not be an issue as you mention)
Here are 3 options how to define the interface to the evaluation

(unsafe) all by user the user writes their own eval and model and we trust the whole package (maybe they use some of our utils, or not)

(middle ground) callback per datapoint. the implementation provides a prediction function. our eval calls this for say the test set points, and computes the metrics from that. at least then the metrics are correct, but only under the assumption that the users predict function is doing what it should (correctly implementing the model).

(safest) model checkpoints. the training code does whatever it wants, but from time to time it will write the model weights to disk, in a standard, framework-independent format. that is ONNX currently. then our mlbench eval code (say pytorch) later picks up that file and computes the metrics. what's nice about this is that it will also check if the NN architecture is what it claims to be

PyTorch and TensorFlow are quite different in their designs. There are not much we can share/reuse between their functions except for parsers, logging, evaluations and some other utility functions.  At a very high level abstraction, we can use same function names and signatures for PyTorch and Tensorflow implementation. Thus we can choose the backends in mlbench.__init__.py and call these functions with same parameter.  But at a lower level, maybe it is better to keep their own style.
The run_loop/run_training/controlflow typically have very similar structures.  One only needs to make a few changes (like converting model, criterion, data to CUDA) to transform run_loop_openmpi_cpu.py into run_loop_openmpi_gpu.py. For closed divisions we should keep it away from users and allow users to replace some modules and hyperparameters. For open divisions, the run_loop can be customized as well.

Since users need to submit both source code and results, it seems enough for us to trust their results if : 1) there is no cheating in the submitted code 2) the submitted code can reproduce the claimed results 3) use key modules of mlbench. Do we need anything else? If it works, then we can trust implementations with more freedom.

The model checkpoints interface also works well with asynchronized training.

@martinjaggi ONNX would work for simple networks. But as soon as someone implements a custom layer or one framework has a feature that's not supported by our eval framework, it would break apart. We might offer it as an option, but if we enforce it as an option, we would likely exclude many models and increase the barrier of entry. But if we don't enforce it, it doesn't give us additional security. Currently there's 16 open issues for missing ops and 14 open issues for missing specs in ONNX. And since researchers are more likely to want to benchmark new, innovative models, a higher percentage of our users will use new, custom code, making it a bigger problem.
It's a further layer where things can break, there might be issues where ONNX itself influences performance in a bad way (bad implementation in ONNX or there's a bug in tf that's not in the original pytorch etc.) and it increases the effort needed by users (or us) to add their code. I'm against this option.
The middle ground sounds fine and is what I originally envisioned.

For closed divisions we should keep it away from users and allow users to replace some modules and hyperparameters

I think in closed division, users cannot change anything at all. Everything is a given, fixed in our docker images.

Since users need to submit both source code and results, it seems enough for us to trust their results[...]

Agreed, each user submission should be self-contained. I.e. a Dockerfile with source code that can be executed in mlbench, and sends evaluation back to reproduce the results. We can review that to make sure there's no trickery/cheating.
Maybe we can also allow just metrics files (JSON) without source code etc. (since some big players don't like to publish their code, for copyright/trade secret reasons), but then in the open divison in the leaderboard, we can have a green ✔ or something that says "verified" if they release the source. Then we're inclusive but still make it easy to distinguish and give people an incentive to publish their code, without forcing them to. And if they provide the source, we can see if they called our eval function correctly or if there's something fishy, plus everyone else can see it, too, if we publish it in an open-division repo.
In the end, we don't have to trust the users, our users have to trust the other users. We have to be transparent about our approach, make sure we're impartial and give users the tools to make their own judgement. So we don't have to 100% fully monitor every aspect of everything, as long as we make it really clear to users what we do check and what is enforced and give them the tools to make up their own minds.

agreed, perfect!


how to configure online dictation with microphone

i noticed the demo http://bark.phon.ioc.ee/dictate/ could get audio from microphone, but current README only showed the recognization by sending audio file. which api could i use to get that.
by the way i am using https://kaljurand.github.io/dictate.js, i want to replace wss://bark.phon.ioc.ee with my service.
looking forward your response.

Have you seen this?
`
2017-06-28: The sample client program can now accept audio from stdin. This can be used to test the server with a live microphone, e.g.: arecord -f S16_LE -r 16000 | python kaldigstserver/client.py -r 32000 -. Thanks to @wkuna!
`

It should be resolved? Reopen if there is still a problem.

I am trying to use with live microphone using following command
arecord -f S16_LE -r 16000 | python kaldigstserver/client.py -r 32000
but getting following error..
usage: client.py [-h] [-u URI] [-r RATE]
[--save-adaptation-state SAVE_ADAPTATION_STATE]
[--send-adaptation-state SEND_ADAPTATION_STATE]
[--content-type CONTENT_TYPE]
audiofile
client.py: error: too few arguments
Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono

You are missing "-" at the end of the command.

Thanks Its working perfectly..
If I want to use my acoustic then which model I have to train?
like tri2b, tri2b_mmi.. if neural network then which NN like nnet1, nnet2, nnet3... If possible tell me example in kaldi/egs..
Thank you in advance..

The tool supports trigram models (with no SAT), nnet2 models and nnet3 models. I recommend to use chain TDNN models.

Silly question but sorry...
How to use chain TDNN model ? means where I have to do changes?

Here I have complete and working code for decoding from microphone, python 2 and 3 are supported


Backport 'HBASE-27333 Abort RS when the hostname is different from master seen …

…(#4732)'

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

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

_ Prechecks _

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

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

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

_ branch-2 Compile Tests _

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

+1 :green_heart:
compile
2m 26s
branch-2 passed

+1 :green_heart:
checkstyle
0m 34s
branch-2 passed

-1 :x:
spotless
0m 41s
branch has 1 errors when running spotless:check, run spotless:apply to fix.

+1 :green_heart:
spotbugs
1m 24s
branch-2 passed

_ Patch Compile Tests _

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

+1 :green_heart:
compile
2m 23s
the patch passed

+1 :green_heart:
javac
2m 23s
the patch passed

+1 :green_heart:
checkstyle
0m 32s
the patch passed

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

+1 :green_heart:
hadoopcheck
18m 32s
Patch does not cause any errors with Hadoop 2.10.2 or 3.2.4 3.3.4.

+1 :green_heart:
spotless
0m 38s
patch has no errors when running spotless:check.

+1 :green_heart:
spotbugs
1m 27s
the patch passed

_ Other Tests _

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

38m 15s

Subsystem
Report/Notes

Docker
ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5148/1/artifact/yetus-general-check/output/Dockerfile

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

Optional Tests
dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile

uname
Linux 030c8f18a756 5.4.0-1093-aws #102~18.04.2-Ubuntu SMP Wed Dec 7 00:31:59 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / 61e18a3d6c

Default Java
Eclipse Adoptium-11.0.17+8

spotless
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5148/1/artifact/yetus-general-check/output/branch-spotless.txt

Max. process+thread count
85 (vs. ulimit of 30000)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5148/1/console

versions
git=2.34.1 maven=3.8.6 spotbugs=4.7.3

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

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

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

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

_ Prechecks _

_ branch-2 Compile Tests _

+1 :green_heart:
mvninstall
3m 39s
branch-2 passed

+1 :green_heart:
compile
0m 42s
branch-2 passed

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

+1 :green_heart:
javadoc
0m 23s
branch-2 passed

_ Patch Compile Tests _

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

+1 :green_heart:
compile
0m 41s
the patch passed

+1 :green_heart:
javac
0m 41s
the patch passed

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

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

_ Other Tests _

+1 :green_heart:
unit
197m 43s
hbase-server in the patch passed.

221m 27s

Subsystem
Report/Notes

Docker
ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5148/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

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

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux e61b1d70acd2 5.4.0-1094-aws #102~18.04.1-Ubuntu SMP Tue Jan 10 21:07:03 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / 61e18a3d6c

Default Java
Eclipse Adoptium-11.0.17+8

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5148/1/testReport/

Max. process+thread count
2658 (vs. ulimit of 30000)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5148/1/console

versions
git=2.34.1 maven=3.8.6

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

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

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

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

_ Prechecks _

_ branch-2 Compile Tests _

+1 :green_heart:
mvninstall
2m 54s
branch-2 passed

+1 :green_heart:
compile
0m 39s
branch-2 passed

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

+1 :green_heart:
javadoc
0m 25s
branch-2 passed

_ Patch Compile Tests _

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

+1 :green_heart:
compile
0m 37s
the patch passed

+1 :green_heart:
javac
0m 37s
the patch passed

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

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

_ Other Tests _

+1 :green_heart:
unit
209m 53s
hbase-server in the patch passed.

231m 16s

Subsystem
Report/Notes

Docker
ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5148/1/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile

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

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 8b1c2486fe44 5.4.0-137-generic #154-Ubuntu SMP Thu Jan 5 17:03:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / 61e18a3d6c

Default Java
Temurin-1.8.0_352-b08

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5148/1/testReport/

Max. process+thread count
2293 (vs. ulimit of 30000)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5148/1/console

versions
git=2.34.1 maven=3.8.6

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

This message was automatically generated.


Infra - Add script to push new image to Dockerhub

Adds a simple shell script to push the image as a multi-platform image to dockerhub.
This script takes in the tag as an argument, and is set up to make it easy to change to support different repositories etc. It also checks if docker is installed and running, as well as validates the image tag is a valid image tag.
The tag defaults to latest if not provided.

Output with docker running for default tag:
➜  ./dev/build-and-push-image.sh
Building and pushing multi-architecture image as tabulario/spark-iceberg:latest for platforms linux/amd64 and linux/arm64

Output with docker running for tag overridden:
➜ ./dev/build-and-push-image.sh -t "latest_and_greatest"
Building and pushing multi-architecture image as tabulario/spark-iceberg:latest_and_greatest for platforms linux/amd64 and linux/arm64

Output with invalid tag - first character is invalid:
➜  ./dev/build-and-push-image.sh -t ".latest"
The image tag ".latest" is invalid.
  A valid image tag must be valid ASCII and may contain lowercase and uppercase letters, digits, underscores, periods and dashes.
  A tag name may not start with a period or a dash and may contain a maximum of 128 characters

Output with invalid tag. Second group (all after first character) has invalid characters
➜  ./dev/build-and-push-image.sh -t "latest&greatest"
The image tag "latest&greatest" is invalid.
  A valid image tag must be valid ASCII and may contain lowercase and uppercase letters, digits, underscores, periods and dashes.
  A tag name may not start with a period or a dash and may contain a maximum of 128 characters

Output for tag being too long (128 characters or more):
➜ too_long_tag=$(python -c "print('a' * 129)")
➜  echo $too_long_tag
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
➜  ./dev/build-and-push-image.sh -t $too_long_tag
The image tag "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" is invalid.
  A valid image tag must be valid ASCII and may contain lowercase and uppercase letters, digits, underscores, periods and dashes.
  A tag name may not start with a period or a dash and may contain a maximum of 128 characters

@kbendick is this ready to merge?


Rename everything from Skills -> Plugins

Since MS aligned on Plugins, we need to rename everything with "Skill" in it to "Plugin"
No dependency on core team but here's an item to track the work on their side: https://github.com/microsoft/semantic-kernel/issues/2119
### Tasks
- [ ] Chat Copilot: Skill->Plugins
- [ ] Sample Apps: Skill->Plugins:

Skills was a better name. 👎

I was kind've fond of skill as awell, but OpenAI has introduced a plug-in model and conflating the two terms is expexted to be a point of potential confusion.


rclone.conf is missing

What part of the Quick Start guide are you stuck on?
Container Startup
What do you see in the logs?
Please review the logs from your Docker container before opening an issue. Paste
any relevant log messages here:
Unmounting /media.

umount: /media: not mounted.

Starting rclone.

+ rclone --config /config/rclone/rclone.conf --allow-other --buffer-size=0 --cutoff-mode=cautious --dir-cache-time 10s --multi-thread-streams=0 --network-mode --read-only --vfs-cache-mode minimal mount provider:/torrents /media

2023/10/04 18:40:22 NOTICE: Config file "/config/rclone/rclone.conf" not found - using defaults

2023/10/04 18:40:22 Failed to create file system for "provider:/torrents": didn't find section in config file

Stopping rclone.

Unmounting /media.

What problem are you encountering?
The Container can't start because teh rclone config is missing. Are there additional steps required?
To Reproduce
Steps to reproduce the behavior:

Follow the quick start guide
Start the container

Hi @norgur, thanks for trying the software out. Sorry that it took me so long to respond.
I tried to duplicate your issue locally on v0.3.3 and I think I understand what is happening when you start your container. The intended design was for the app to refuse to boot if you had example values in your config file. It was supposed to restart, check the config again, and proceed properly if you've removed the example sentinel value. But, I had the Uberconf step, which configures Rclone, run only once on container startup. So, you actually have to edit your config then restart the container to write the Rclone config and get everything started properly.
There is a workaround for this, but it isn't ideal, so I'm going to fix this in the next release and ship it. In the meantime I've added a bit of messaging before step 2 in the Quick Start Guide to help people who might be confused by this logging.
I'll post here when I have the new release out and it's ready for you to try.

@norgur I have release v0.3.6 ready for you to try, which fixes this issue. Can you please delete the contents of your local config/ directory and try running this version of the Docker image?


PDO Driver always returns empty results

When using the pdo driver with dblib the result sets from SELECT queries are always empty.
I traced the error down and here's what's happening:
In system/database/drivers/pdo/pdo_driver.php fetchAll() is used to count the affected rows, however the resource pointer is never reset before fetching the result set.
In system/database/DB_result.php _data_seek(0) is used to reset the resource pointer, but when you go to the actual implementation in system/database/drivers/pdo/pdo_result.php the _data_seek() function simply returns FALSE and no other work is done.
Possible solutions:
Either implement _data_seek() in the pdo_result.php file, or don't have pdo_driver.php use fetchAll() on SELECT statements.
Honestly I think pdo_driver.php is the problem.  Currently it looks at the number of rows in a SELECT statement and records them as the affected rows, but that feels wrong to me because no rows change in a SELECT statement.  Instead it should calculate the affected rows only when a non-SELECT statement is executed.  It at least shouldn't mess up the resource pointer.
Here is the offending code:
		if (is_numeric(stripos($sql, 'SELECT')))
		{
			$this->affect_rows = count($result_id->fetchAll());
		}
		else
		{
			$this->affect_rows = $result_id->rowCount();
		}

Duplicate of #4138.


mistake in version number on maven central

📝 Describe the Bug
the version on maven central is "v2.1.0" instead of "2.1.0"
(    implementation("io.github.afreakyelf:Pdf-Viewer:v2.1.0"    instead of        implementation("io.github.afreakyelf:Pdf-Viewer:2.1.0")    )
📖 Library Version
v2.1.0

Hi, this has been fixed in this new release.
https://github.com/afreakyelf/Pdf-Viewer/releases/tag/v2.1.1
Thank you for using the library.

great! tysm


How to disable ul-li borders in card?

Is it possible to remove left and right border from <ul>-<li> elements in card natively?

http://v4-alpha.getbootstrap.com/components/card/#content-types
I think that this looks more elegant:

but is this case I use addition styles on <li> elements.
<li class="list-group-item text-xs-right" style="border-right: none; border-left: none">
Thanks an advance!

The borders are applied because of the .list-group-item class

I think this is a duplicate of #20395

Yes, I agree that it is

Closing as duplicate.


Django CICD deployment to be implemented

Choose a CI/CD platform that integrates with your version control system. Popular choices include Travis CI, CircleCI, Jenkins, and GitHub Actions. Configure the CI/CD platform to trigger builds and deployments when changes are pushed to your repository. Set up a separate environment for your Django application. This environment should mimic your production environment as closely as possible. Use virtual environments to manage dependencies. Write automated tests for your Django application. Use Django's testing framework or tools like Py test. Configure your CI/CD pipeline to run these tests automatically on every code commit. Ensure that the tests cover critical functionality, including unit tests and integration tests. In your CI/CD pipeline, run Django database migrations to ensure that your database schema is up-to-date with your code changes. Static Code Analysis: Implement static code analysis tools like Py lint or Flake8 to enforce code style and catch potential issues. Integrate these tools into your CI/CD pipeline to ensure code quality. Use a requirements.txt file to specify your project's dependencies. Your CI/CD pipeline should install these dependencies automatically during the build process. Safely manage sensitive information, such as API keys or database credentials, by using environment variables or a secrets management tool. Avoid hardcoding secrets in your codebase. Set up automated deployment scripts or configuration files (e.g., Docker files) to package your Django application for deployment. Deploy to your hosting environment, which could be a traditional server, a Platform-as-a-Service like a container orchestration platform like Kubernetes. Implement monitoring and logging solutions to track the health and performance of your application. Plan for rollback procedures in case of failed deployments or critical errors. A good CI/CD setup should allow you to quickly revert to a stable version of your application. Regularly review and improve your CI/CD pipeline based on feedback, performance data, and changes in your application's requirements. Document your CI/CD setup, including deployment procedures, testing strategies, and any custom scripts or tools you use.


EntryPointNotFoundException when creating a ImPlotPoint

I had this issue in my own project, so I tired it inside the sample project and got the same exception.
I pulled the v1.89.3 branch, ran the build script, ran the sample app to make sure it worked, and then added the line ImPlotPoint test = new ImPlotPoint(0, 0); to the top of the MyGameWindow::OnRenderFrame function. I get the same exception if I try to use the constructor that wants a Vector2 instead.
The sample app then gets the EntryPointNotFoundException every time.
Here's the full exception:
System.EntryPointNotFoundException: Unable to find an entry point named '??0ImPlotPoint@@QEAA@NN@Z' in DLL 'implot'.
   at DearImPlot.ImPlotPoint.__Internal64.ctor(IntPtr __instance, Double _x, Double _y)
   at DearImPlot.ImPlotPoint..ctor(Double _x, Double _y) in /_/DearImPlot/ImPlot.g.cs:line 1129
   at SampleApplication.OpenTK.MyGameWindow.OnRenderFrame(FrameEventArgs args) in W:\test\DearImGui\SampleApplication.OpenTK\MyGameWindow.cs:line 67
   at OpenTK.Windowing.Desktop.GameWindow.DispatchRenderFrame()
   at OpenTK.Windowing.Desktop.GameWindow.Run()
   at SampleApplication.OpenTK.Program.Main(String[] args) in W:\test\DearImGui\SampleApplication.OpenTK\Program.cs:line 38

I don't have any issues getting an ImPlotPoint instance in C# if I call a function that returns one - like ImPlot.PixelsToPlot - so I'm at a loss for how to help dig further.

I dug into this a bit, and it looks like the issue is simply that ImPlot doesn't add IMPLOT_API onto the constructors of ImPlotPoint or any of it's other structs - so the resulting DLL doesn't have those functions in its exports.
Without the macro, only the zero-argument constructor works (though I haven't tested if trying to use that object as input to an ImPlot function would cause a crash, so for all I know that won't correctly marshall back to the c++ side)
If I slap the API macro onto those, they all work without the exception. I'm going to put an issue in on the IMPLOT repo asking about why those functions don't have the macro on them.
It likely also means this project has a similar issue with the other structs used by IMPLOT - and their member functions like ImPlotRect::Min.
One other issue I've found that can't be fixed as easily (and probably also has a similar issue on the imgui side, which does have the IMGUI_API macro on its struct constructors/functions) are the copy constructors. Since they're not explicitly defined in the imgui/implot libraries but are picked up by this tool's generator code, trying to invoke the ImPlotPoint(ImPlotPoint _0) constructor has the same "calling a function that's not on the dll's export list" exception. I don't see an easy way to fix that one.


Sort NEWS before release

See original issue on GitLab
In GitLab by [Gitlab user @cs-shadow] on Dec 19, 2018, 14:29
Background
We have been adding entries to the NEWS in seemingly-random order. This is fine for the development cycle, but it would be nice if sorted out the entries before 1.4 release. I am thinking we need to do the following:

Use consistent way of highlighting breaking changes.
Group logically related entries together (like all the ones about source or artifact commands).
Use consistent style for all the entries (for example, choosing one of added shiny new feature vs add shiny new feature and following it throughout).
Double-check spelling and grammar.

Acceptance Criteria

In GitLab by [Gitlab user @jjardon] on Jan 28, 2019, 12:29
marked this issue as related to website#27

In GitLab by [Gitlab user @jjardon] on Jan 28, 2019, 12:30
marked this issue as related to website#24

In GitLab by [Gitlab user @tristanvb] on Nov 4, 2020, 12:00
I think we've been following Chandan's suggestions from this issue for a while now in master, we don't need an open issue to track this.


SCVMM for ASR is being retired

Please update the guides to reflect that an end of life exists for SCVMM's integration with Azure Site Recovery

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

ID: c721f5ae-ece4-58ab-d00d-65856907c364
Version Independent ID: 7912f48e-25be-6efb-e770-c30404d84c58
Content: Support for disaster recovery of Hyper-V VMs to Azure with Azure Site Recovery - Azure Site Recovery
Content Source: articles/site-recovery/hyper-v-azure-support-matrix.md
Service: site-recovery
GitHub Login: @rayne-wiselman
Microsoft Alias: raynew

Duplicate of #43402


[Task]: Fix flakiness of cypress/e2e/Regression/ClientSide/JSObject/JSObjectMutation_spec.ts

SubTasks
Discussion Ref: https://theappsmith.slack.com/archives/C06FWBV74GH/p1715864802943759?thread_ts=1715842923.212549&cid=C06FWBV74GH
Failure Runs: https://internal.appsmith.com/app/cypress-dashboard/run-details-65890b3c81d7400d08fa9ee5?workflowId=9110516373&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail

Hey team! Please add your planning poker estimate with Zenhub @AmanAgarwal041 @carinanfonseca @rishabhrathod01 @rohan-arthur @sneha122

This is related to the correct updation of the save status of JSObject. Root cause of the issue is multiple calls happening for JSObject update and this RFC fix might resolve this issue.
Adding an estimate of 1 for verification and changes that will need to be made once the RFC fix goes in.

Removed this from list of flaky cypress tests.
Ref: https://theappsmith.slack.com/archives/C06FWBV74GH/p1724141281740009


Update version to 1.0.19-6 on master

Update version to 1.0.19-6

🚀 [Deployed](https://github.com/Expensify/Expensify.cash
/actions/runs/765130740) 🚀 to
staging on Mon Apr 19 2021 at 22:41:56 GMT+0000 (Coordinated Universal Time)

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅