firefox-bin: Remove alsa/libpulseaudio dev outputs

It doesn't seem that these make any functional difference, but they are increasing the closure size.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Those dependencies are added by the following commits (without PR?):

8c8942a5e4785440eacf3353c3a1885a8d800c59
0558ae3057a39bcc808387532403608e806a8497

@garbas, are those dependencies needed today?

Result of nixpkgs-review pr 114485 1

6 packages built:

dropbox
dropbox-cli
firefox-beta-bin-unwrapped
firefox-bin-unwrapped
firefox-devedition-bin-unwrapped
mate.caja-dropbox

./results/firefox-bin-unwrapped/bin/firefox can play videos on YouTube.

Tested all editions: firefox-bin, firefox-devedition-bin & firefox-beta-bin.


[feat]

Describe the problem
Somewhat similar to #1514. I couldn't tell from that if the focus was simply on defining types for invoke commands, or if they also meant to have automatic wrappers generated as well. Accept my apologies for being unoriginal if that's the case.
One thing I find inconvenient about Tauri is that I have to call commands through "invoke" instead of having "javascript" functions.
I find myself writing wrappers for every command and they all look exactly the same, except for the name of the command. That's a perfect candidate for automation.
Describe the solution you'd like
When I write a command in Rust I want to be able to do this from the front end:
import { myCommand } from "@tauri-apps/commands" // I don't care what this module is called or even if it's under the @tauri-apps namespace

const res = await myCommand();

There's benefit in code organization to minimize the namespace impact of the import. And with strong typing from Typescript, this improves development experience and minimizes errors. Also, this would make commands more discoverable which is important if you're working on something with a team, or contributing to a more complex project.
It's also a time saver. Yes, I'm very very lazy. That's also why I'm a successful developer ;)
Alternatives considered
No response
Additional context
Rust's Macro capability is very powerful. Generating the code is probably the easy part. Deciding where to put the module and how to get the front end to discover it might be more of a challenge.

I couldn't tell from that if the focus was simply on defining types for invoke commands, or if they also meant to have automatic wrappers generated as well

Well, both i guess. Try tauri-specta as mentioned in https://github.com/tauri-apps/tauri/issues/1514#issuecomment-1619337304 - it generates types and functions.

One inconvenience is, I'm tagging everything twice:

Yeah, no way around that until specta is integrated into tauri. At least i think there's no way around it, afaik you can't call the command macro from inside the specta macro.

Also, the import is:....

Is it not possible to do that in the imports directly like this?
import { myCommands } from "./bindings/commands";

I think it's file paths, but I don't know for sure. It may depend on how specta generates their modules too, so even if it's not generally possible, it might be practically possible with a backward compatible change in specta.
Thanks for the discussion!


Very slow at record summary view with many users.

As the number of registered users increases, the response time of the record summary view becomes very slow.
Since working times are calculated every time, slowness is unavoidable, but I will consider how can I improve it.
At the current code, up to about 20 or 30 users is comfortable range.

I am considering these options,
[1] Calculate the working hours using batch processing, and view only the pre-calculated results.
This option have some problems.

Can't see the latest results.
When previous month results updated ... etc

[2] Server-side paginate.
This option have some problems too.

Inconvenient because it is not possible to sort by selected column.
Many cases in summary view which we want whole results not part of users.

[3] Revise SQL statements.
It is not possible or the improvement effect is small because working hours are calculated using calculation python logic rather than SQL statement.
[4] The results of calculating are saved in a table and referenced. Once the working hours are updated, the calculation results will be recreated.
Code affected is large, but I think this is better choice than other options.
[5] Accept the slow processing speed.
This choice is also better.

I'll try option [4] tonight.


formatString doesn't work

Hi ,
formatString is return [object Object] instead of replacing the string in languages.

If that can help, here's the function I used to patch the issue. I know it's far from perfect, but it might help someone.
const recursiveConcat = function (s: any): string {
    let ret: string = '';
    for (let a of s) {
        if (!!a) {
            if (typeof a === 'string') ret = ret.concat(a);
            else if (typeof a == 'object') ret = ret.concat(recursiveConcat(a));
        }
    }
    return ret;
}

I'm seeing this with IE only...works great in other browsers. Have latest react modules.

Just wanted to chime in that we also had this issue. I traced it back to https://github.com/stefalda/react-localization/blob/master/src/LocalizedStrings.js#L23. value.$$typeof returns number in IE11, thus returning false and the array is joined instead of returned in formatString.
I don't have time to look into it right now, but we currently 'solved' it by importing babel-polyfill as the first line in our project.

I have also faced the same issue IE11, the problem is with ES6 symbols. If we add complete babel-polyfill as @ChezFre mentioned it is resolving this issue. But in my case it has added more than 150kb to my minified js file.
So, as alternative i have used 'react-app-polyfill' and imported IE11 polyfill of it
import 'react-app-polyfill/ie11';
Now, my file size is just increased around 10kb.

I thought I faced a similar issue and then realized the problem was that I was mistakenly passing an empty string to the second parameter and formatString() doesn't allow that... In case anyone else might be doing the same 😅


No jobs shown after changing KUE db

By default, KUE uses the first db on Redis. I explicitly changed that by using the  db : number option while creating a queue.
KUE-UI is not showing any jobs now.
Is it possible that this DB change caused KUE-UI to "not find" the jobs? I tried adding a db : number to the KUE-UI setup, but that doesn't seem to help.

I doubt this would have been an issue on the Kue-Ui side of things, Kue-Ui just connects directly to the Kue API and renders jobs it finds there, it might be an issue with your express implementation.
If you wanted you could try out https://github.com/stonecircle/kue-ui-express and let me know there if you have the same issue that would be great 👍


Add a way to do per-chip default configuration

More and more chips are added to RMK, many of them require some special configuration. Now, the chip-level config is hard-coded in rmk-macro, it's not that clear and cannot be shared to plain Rust implementation. So, we should find a way to do per-chip default configuration.

#102


Fix sujet origine

First try-ed codacy but not the PR selection menu

WTF

Je vais peter mon crane

Time to fix pylintrc

🔫🔪🔪

Outdated pylint version was enabled lol


add cupy.random.vonmises

Jenkins, test this please.

Jenkins, test this please.

Jenkins CI test (for commit 767c780474f61eea9c1d786f81771cb938abb154, target branch master) succeeded!


prod/backup/mysql/mysql.cnf does not exist

I just installed this bundle, I see the command being generated as:
"mysqldump --defaults-extra-file="/Users/user/Sites/app/var/cache/prod/backup/mysql/mysql.cnf" db_dev  > '/Users/user/Sites/app/var/cache/prod/backup/mysql/db_dev.sql'"

But this file does not exist (I cleared the cache after install for both dev and prod).
prod/backup/mysql/mysql.cnf

It just backs up an empty file with no errors.

It looks like this is not compatible with Symfony 3.
https://github.com/symfony/filesystem/blob/master/CHANGELOG.md
The mode parameter has been removed:
https://github.com/dizda/CloudBackupBundle/blob/master/Database/MySQL.php#L94

@lakhman @Nyholm it should be resolved via https://github.com/dizda/CloudBackupBundle/pull/122

Great. Thank you.


Running on CIFAR 10

Hi,
I am trying to train and sample using CIFAR 10 dataset. Below is the code for it.
from keras.datasets import mnist
import torch
from denoising_diffusion_pytorch import Unet, GaussianDiffusion, Trainer
import numpy as np
import tensorflow as tf

model = Unet(
    dim = 16,
    dim_mults = (1, 2, 4)
)

diffusion = GaussianDiffusion(
    model,
    image_size = 32,
    timesteps = 1000,   # number of steps
    loss_type = 'l1'    # L1 or L2
)

(x_train, y_train), (x_test, y_test) = tf.keras.datasets.cifar10.load_data()
x_train = np.asarray(x_train)
x_train = x_train.astype(np.float16)
new_train = torch.from_numpy(np.swapaxes(x_train,1,3))
training_images = torch.randn(8, 3, 128, 128) # images are normalized from 0 to 1

trainer = Trainer(
    diffusion,
    new_train,
    train_batch_size = 128,
    train_lr = 1e-4,
    train_num_steps = 70000,         # total training steps
    gradient_accumulate_every = 2,    # gradient accumulation steps
    ema_decay = 0.9999,                # exponential moving average decay
    amp = True                        # turn on mixed precision
)
trainer.train()

I modified Trainer such that it could take the dataset. The original Trainer had the below code
self.ds = Dataset(folder, self.image_size, augment_horizontal_flip = augment_horizontal_flip)
dl = DataLoader(self.ds, batch_size = train_batch_size, shuffle = True, pin_memory = True, num_workers = cpu_count())

which I modified to
my_dataset = TensorDataset(data) # create your datset
dl = DataLoader(data, batch_size = train_batch_size, shuffle = True, pin_memory = True, num_workers = cpu_count())
self.dl = cycle(dl)

The training error in the above case goes to inf after 20k iterations.  Is there any script which I can use to generate samples from CIFAR10?
Thank You

Maybe you can convert the cifar10 data set to png format images and store them in a file, and then train according to the author's second method

Maybe you can convert the cifar10 data set to png format images and store them in a file, and then train according to the author's second method

And how to solve the problem with the fact that there is a separate folder for each class? I unpacked the dataset into png, but when I try to teach the model I get an error: Value error: num_samples should be a positive integer, but got num_samples=0. This indicates that model can't read the dataset. I hoped that turning cifar10 into png will help with this problem but it didn't

Hi, did you solve this problem?

Hi, did you solve this problem?

@Allencheng97
Yes, I forked this repo and changed torch.Dataset() to torch.CIFAR10() (line ~~ 721-719)

Hi, did you solve this problem?

@Allencheng97
Yes, I forked this repo and changed torch.Dataset() to torch.CIFAR10() (line ~~ 721-719)

Thanks! Can you share your train code? After modification how we set the trainer folder?

Hi, did you solve this problem?

@Allencheng97
Yes, I forked this repo and changed torch.Dataset() to torch.CIFAR10() (line ~~ 721-719)
Thanks!

I have found what caused it. You should set amp to False when training on cifar10. When I did this, the model can converge and generate normal pictures instead of a bunch of random colours.

I have found what caused it. You should set amp to False when training on cifar10. When I did this, the model can converge and generate normal pictures instead of a bunch of random colours.

Would it be possible to share your code? I'm having some issues getting my version to actually converge, despite also using cifar10. Thanks!

I have found what caused it. You should set amp to False when training on cifar10. When I did this, the model can converge and generate normal pictures instead of a bunch of random colours.

Would it be possible to share your code? I'm having some issues getting my version to actually converge, despite also using cifar10. Thanks!

Hi, is your problem resolved? I am facing a similar issue

My use case for this library was slightly different than its original purpose... My version is considerably modified. My version does resolve the issue relating to training on CIFAR-10, although how much value its modifications will be to you may vary.
You can check out my repository at https://github.com/DevJake/EEG-diffusion-pytorch. Let me know if it's of use!

Hi, did you solve this problem?

@Allencheng97
Yes, I forked this repo and changed torch.Dataset() to torch.CIFAR10() (line ~~ 721-719)

Yes, your method is effective, I heard from my lab that converting images to png format for training is a bit accuracy-damaging

I wonder why that is... I would've figured the subtle compression applied by JPG format would cause potential data loss and thus losses in performance. Equally, it might act as a form of very low-level image augmentation by adding in artefacts. Got anything more on your findings? I'd be interested to know how it was determined

But why?
I face same problem with ffhq, fixed when setting amp=False.

Hi, did you solve this problem?

@Allencheng97
Yes, I forked this repo and changed torch.Dataset() to torch.CIFAR10() (line ~~ 721-719)

Yes, your method is effective, I heard from my lab that converting images to png format for training is a bit accuracy-damaging
how should I modify it specifically, I did not find torch.Dataset() in 721 in the denoising_diffusion_pytorch.py file. Thanks!

@LangdonYu
how should I modify it specifically, I did not find torch.Dataset() in 721 in the denoising_diffusion_pytorch.py file. Thanks!

@LangdonYu how should I modify it specifically, I did not find torch.Dataset() in 721 in the denoising_diffusion_pytorch.py file. Thanks!

Did you solve this problem?


PR date created collides with subtitle

When you re-size the screen, you can get a view where the subtitle collides with the date created:

Closed via https://github.com/Microsoft/vscode-pull-request-github/pull/567


Create Plugins SubModule

Create a plugins submodule within pixels core library. This will house all plugins and community driven efforts with things the community wants to see in the pixel as add-ons.
Bare minimum for completion:

/plugins folder
README.md -- with an over of the purpose
Maybe a small initial plugin to set the stage?

Could utilize #18 for this.


Initial implementation of the LES protocol and its flow control.

The sync modules will be committed after some additional clean-up.
This also restores the old module structure of having separate
peer_pool and rlpx modules. This is made possible by the
new Nim package package_visible_types (please refer to its
README for an explanation).
Also introduces more error handling in the low-level RLPx routines.
All detected errors will result in immediate disconnection of the
corresponding peer, which may be detected in the protocols though
the onPeerDisconnected event handler.

Got an error when building nimbus
../../nim-eth-p2p/eth_p2p/rlpx.nim(1050, 14) template/generic instantiation from here
../../nim-eth-p2p/eth_p2p/rlpx.nim(855, 18) template/generic instantiation from here
../../nim-eth-p2p/eth_p2p/rlpx.nim(173, 42) Error: attempting to call undeclared routine: 'readRecordType'

I'm on the fence about package_visible_types. Do we really want encapsulation so bad that are ready to resort to all kinds of macro hackery, and arguably sacrifice readability, and make the code learning curve  steeper?

I created package_visible_types partly to move forward the cyclic dependencies debate - to shed more light and to reveal the true cost of the proposed alternatives. There is a "solution" now. If @Araq feels this is not an adequate approach to deal with the problem, he might do something about it :)

Ok, smart, but I think package_visible_types totally misses one important point of cyclic dependencies which is mutually dependent types (or procs or anything else) can be defined in different modules. I find it a lot more important than encapsulation. But that's probably not very relevant to this discussion.
So in what order do we merge all the prs now? :)

@arnetheduck, considering that the alternatives right now are:

Make all fields in the types modules public
Merge back all modules into a single eth_p2p module
Keep using package_visible_types

I'd say option 3) is not that bad even if the master branch is not the place for political statements :)

actually, I would go with 1):

it's much more simple and easier to explain, as @yglukhov notes
we're not supporting a public api that others depend upon
we have full control over the code and can refactor at will
it can be dealt with socially for now while the language gets developed (ie a comment is fine) - similar to how python does it - languages like nim I feel benefit much less from encapsulation


Computing minimal answer sets w.r.t. a subset of atoms

Can I compute (subset) minimal answer sets w.r.t. a subset of atoms (like this) using clingo?
Thanks in advance.

I did not read the paper but your can compute subset minimal solutions with clingo. For example, to calculate subset minimal solutions over the shown atoms, you can use
clingo --dom-mod=false,show --enum-mode=domRec --heuristic=domain

@BenKaufmann and @javier-romero, is the call correct?
The idea is that the solver's decision heuristic pick atoms subject to subset minimization and makes them false as long as such atoms are available. Like this, the first solution found is subset minimal. The search can then be continued recording a nogood that prevents supersets of this solution.
You can also use heuristic directives in your program that prioritize assigning certain atoms and then just use --enum-mode=domRec or even record nogoods yourself via the API. Be sure to always use --heuristic=domain.

The domain heuristic should work just fine with propagators.

Clingo will compute subset minimal answer sets of $P \cup X$.
If you do not activate the heuristic, clingo computes answer sets of $P \cup X$.
You can think that in this case clingo checks possible answer sets of $P \cup X$ in any order,
until one is found to be an actual answer set.
If you activate the heuristic,
then clingo checks the possible answer sets of $P \cup X$ in the order of subset minimality.
Hence, when one actual answer set is found, it is guaranteed to be subset minimal among all answer sets.
Of course, clingo is much clever than that,
and does not generate possible answer sets and check them,
but I hope this gives an idea.

Not sure what you mean. The propagator has to be seen as part of the program. You cannot simply use it to add "queries" on top of the subset minimal answer sets as this would raise complexity.

Adding to what Roland said, you should see the propagator as a set of clauses.
Then we can talk about X simply as a set of clauses.
In this case, the subset minimal answer sets of $P \cup X$ are not necessarily subset minimal answer sets of $P$.
For example, take $P$ to be the program that has the choice rule {a}. and X to consist of the clause {a} that enforces the atom a to be true:

Program $P \cup X$ has a unique answer set {a} which is also its unique subset minimal answer set.
Program $P$ has two answer sets, {} and {a}. The first one is the unique subset minimal answer set of $P$.

So, the minimal answer set {a} of $P \cup X$ is not a minimal answer set of $P$.

If you have two normal programs P and Q, it should be possible to write a disjunctive program that captures the subset minimal stable models of P filtered by Q. It is just very cumbersome to write such a program. Javier might have some tools ready. Another downside is that this probably won't scale to large problems.
Another approach could be to just compute the subset minimal solutions and then filter them in a post processing step. Scaling is probably also an issue here.

You can find the subset minimal answer sets that contain some atom query using asprin, here is an example:
$ cat query.lp
dom(1..2).
1 {a(X) : dom(X)}.
query :- a(X) : dom(X).
#preference(p,subset){a(X)}.
#optimize(p).

$ asprin query.lp 0
asprin version 3.1.1
Reading from query.lp
Solving...
Answer: 1
dom(1) dom(2) a(2)
OPTIMUM FOUND
Answer: 2
dom(1) dom(2) a(1)
OPTIMUM FOUND

Models       : 2
  Optimum    : yes
  Optimal    : 2
Calls        : 7
Time         : 0.106s (Solving: 0.00s 1st Model: 0.00s Unsat: 0.00s)
CPU Time     : 0.104s
$ asprin query.lp 0 --meta=query
asprin version 3.1.1
Reading from query.lp
Solving...
UNSATISFIABLE

Models       : 0
  Optimum    : no
Calls        : 1
Time         : 0.074s (Solving: 0.00s 1st Model: 0.00s Unsat: 0.00s)
CPU Time     : 0.074s

This should work for your case,
writing some rules that derive query whenever all clauses in X are satisfied.
The implementation translates the problem to a disjunctive logic program and uses clingo to solve it.
The problem is that, as Roland said, this does not scale well.
One could also use:

https://github.com/potassco/qasp2qbf

for this task.
Another different question arises
if you do not want to write the clauses in X explicitly in a logic program,
but you want to use a propagator for that.
In that case, there may be some sophisticated approach that I am not aware of,
but all I can suggest is to do as Roland said: iterate over the subset minimal models, and then check with the propagator
whether they satisfy the clauses generated by the propagator.


Can't play my computer playlist anymore :(

Hello, so I've been able to play my music playlist through Nadeko without any problem. But then now it suddenly stopped working or has shown an error. Here's the picture below:

It said that there's an error. Is there anything that I can do to fix it? Thanks! I appreciate for taking your time to read this.

that second error has nothing to do with the music. Your bot is getting disconnected. Restart it.
You're using the command incorrectly.
.lopl C:\music for playlist
.lo C:\music\mysong.mp3 for the song
Please read help using .h .commandname in the future

Also update your bot, 0.9x is not supported by library or us.


Update cats-effect, cats-effect-laws, ... to 3.2.1

Updates

org.typelevel:cats-effect
org.typelevel:cats-effect-laws
org.typelevel:cats-effect-testkit

from 3.2.0 to 3.2.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel" } ]

labels: library-update, semver-patch

Codecov Report

Merging #356 (8234e9e) into master (b42c746) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #356   +/-   ##
=======================================
  Coverage   91.12%   91.12%
=======================================
  Files          17       17
  Lines         293      293
  Branches        1        1
=======================================
  Hits          267      267
  Misses         26       26

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 b42c746...8234e9e. Read the comment docs.


Pass dependencies and resolution in the pass manager

This PR allows passes to specify dependences on other (analysis) passes. The pass manager then ensures that any analysis that a pass depends on is available before that pass executes.
Tracking issue: #2399.
Design discussion: #3596.
In the next PR under this work, I will introduce
pass groups, allowing easy specification of optimization levels etc.
Testing: I ensured that the bytecode hashes for all "to pass" tests in our testsuite remained same with and without this PR.
Checklist

[x] I have linked to any relevant issues.
[x] I have commented my code, particularly in hard-to-understand areas.
[ ] I have updated the documentation where relevant (API docs, the reference, and the Sway book).
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] I have added (or requested a maintainer to add) the necessary Breaking* or New Feature labels where relevant.
[x] I have done my best to ensure that my PR adheres to the Fuel Labs Code Review Standards.
[x] I have requested a review from the relevant team or maintainers.

This PR now passes CI and is ready for review.


first time robot setup

Before we merge I'd like to take a deeper look but for now I just see a bunch of params in two yaml files and some additions to the URDF for autonomy specific things (like the camera and imu).
Where specifically did you get the params for the yaml files from? I assume you didnt just pull them out of the air?
Also, how do you know we need the changes to the URDF? Has any testing been done to ensure that this is working?

Most parameters for navigation stay default for differential drive robot. I changed the parameters that are specifically related to the robot dimension like footprint radius. We can’t merge it yet because I set the position for the camera randomly.
Parameter tuning for navigation happens during testing and would depend on the specific task. If you just refer to if the imu and camera is integrated in the simulation correctly, then yes you can launch the display in gazebo, and they do publish data. But I don’t know if the parameters are the best fit for our rover and task. That would be the next step.
Get Outlook for iOShttps://aka.ms/o0ukef

From: Nick-palmar @.>
Sent: Wednesday, February 1, 2023 12:30:48 AM
To: uwrobotics/uwrt_mars_rover @.>
Cc: Cheng Tang @.>; Author @.>
Subject: Re: [uwrobotics/uwrt_mars_rover] first time robot setup (PR #227)
Before we merge I'd like to take a deeper look but for now I just see a bunch of params in two yaml files and some additions to the URDF for autonomy specific things (like the camera and imu).
Where specifically did you get the params for the yaml files from? I assume you didnt just pull them out of the air?
Also, how do you know we need the changes to the URDF? Has any testing been done to ensure that this is working?
—
Reply to this email directly, view it on GitHubhttps://github.com/uwrobotics/uwrt_mars_rover/pull/227#issuecomment-1411490732, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ARBVWTVBDIKGHDISLT5RYP3WVHYIRANCNFSM6AAAAAAUG4JYJU.
You are receiving this because you authored the thread.Message ID: @.***>

@ChengTang62 Is there a launch file or procedure you're using for booting this drivetrain URDF into the Gazebo simulation?

Not for the rover because there were some issues with the existing urdf that prevent the description from being parsed and I didn’t investigate it. I tested the configuration on a minimum differential drive robot.
Get Outlook for iOShttps://aka.ms/o0ukef

From: Keyon Jerome @.>
Sent: Thursday, February 2, 2023 12:41:40 PM
To: uwrobotics/uwrt_mars_rover @.>
Cc: Cheng Tang @.>; Mention @.>
Subject: Re: [uwrobotics/uwrt_mars_rover] first time robot setup (PR #227)
@ChengTang62https://github.com/ChengTang62 Is there a launch file or procedure you're using for booting this drivetrain URDF into the Gazebo simulation?
—
Reply to this email directly, view it on GitHubhttps://github.com/uwrobotics/uwrt_mars_rover/pull/227#issuecomment-1414125787, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ARBVWTUZTY5GZSF3NCE57ILWVPWVJANCNFSM6AAAAAAUG4JYJU.
You are receiving this because you were mentioned.Message ID: @.***>

Ok so to be clear what does this PR do? Since you say that this is for a differential drive robot that might not be relevant to our rover is it worth merging this code in? Or is this just code that you will be using for testing stuff before you merge in the real stuff? This looks more like test code to me since it seems like you took it from somewhere else and is not tailored to our application - but correct me if I am wrong and we need this in our repo


selene: 0.15.0 -> 0.16.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/selene/versions.
meta.description for selene is: "A blazing-fast modern Lua linter written in Rust"
meta.homepage for selene is: "https://github.com/kampfkarren/selene"
meta.changelog for selene is: "https://github.com/kampfkarren/selene/blob/0.16.0/CHANGELOG.md"
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/vxcyl5pll60j23a7jzcmdc6jac0r0p0b-selene-0.16.0/bin/selene had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 0.16.0 with grep in /nix/store/vxcyl5pll60j23a7jzcmdc6jac0r0p0b-selene-0.16.0
found 0.16.0 in filename of file in /nix/store/vxcyl5pll60j23a7jzcmdc6jac0r0p0b-selene-0.16.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
selene

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/vxcyl5pll60j23a7jzcmdc6jac0r0p0b-selene-0.16.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A selene https://github.com/r-ryantm/nixpkgs/archive/26216a3fbd352c9ccf299a6d66044af2add5e7ea.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/vxcyl5pll60j23a7jzcmdc6jac0r0p0b-selene-0.16.0
ls -la /nix/store/vxcyl5pll60j23a7jzcmdc6jac0r0p0b-selene-0.16.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

selene

Maintainer pings
cc @figsoda for testing.

Result of nixpkgs-review pr 157785 run on x86_64-linux 1

1 package built:

selene


Improvement in Trivy scan

Need to check if 'Checkout of code' or 'creating Jar' steps are required in Trivy scan in all four application.
E.g. https://github.com/eclipse-tractusx/sldt-semantic-hub/blob/main/.github/workflows/trivy.yml#L69

https://github.com/eclipse-tractusx/sig-release/issues/347


The syncWithoutDetaching method can cause excessive RAM consumption in large databases

Laravel Version
11.32
PHP Version
8.1
Database Driver & Version
MySQL 8.0.31
Description
Using syncWithoutDetaching will cause a shortage of RAM in the system.
Steps To Reproduce
First create post_user pivot table and add 10 million rows to it. The run the following code:
$user = \App\Models\User::first();
$post = \App\Models\Post::first();

$user->posts()->syncWithoutDetaching([
  $post->getKey() => ['status' => 'pending']
]);

I would suggest to use mass update instead of this for this case. Bear in mind it will not trigger events like that.


Call multiple tasks from CLI and pass them to RunTarget

I used a lot of Gradle in the past. One of the most features I miss in Cake, is to run multiple tasks from CLI. In Gradle I could simple run .\gradlew clean build. In Cake I’m forced to use IsDependentOn, which does not make sense in every use case (I don’t want to run clean on every build).
It bothers me especial on my build environment (CI). It would be a lot easier to call multiple tasks in one stage. I think this would be a great feature and make Cake much better.

Pass a list of arguments to RunTarget.
Use the argument order and call every task including IsDependentOn tasks.
Consider the tree dependency of the tasks, to order them as well.

I am also interested in this feature. We have modified build.cake to call RunTarget(target) within a foreach, but I've noticed that we can run two tasks that are dependent on the same data from Setup<T>() .
Setup<MyData>(setupContext => {
  return new MyData()
    {
      DataItem = Argument<string>("command-arg","")
    };
});

Task("Task1").Does<MyData>((myData) => {
  Information("Task1 runs successfully.");
});

Task("Task2").Does<MyData>((myData) => {
  Error("Task2 fails with `Context data of type 'Submission#0+MyData' has already been registered.`");
});

foreach(var target in targets) {
	RunTarget(target);
}

Command for example above:
./build.ps1 -targets Task1,Task2 --command-arg=foo

Coming from MSBuild I would appreciate this feature, too.

I'd like to have a go at this one @augustoproiete - please can you assign it to me?

I would expect this to not rely on string splitting but on the fact that Cake allows specifying the same argument multiple times, i.e.
dotnet cake runtargets.cake --target=A --target=B --target=C

and a cake script could look something like this
var targets = Arguments<string>("target", "A");

Task("A");

Task("B");

Task("C");

RunTargets(targets);

a way to simulate this now would be to add a meta task in a Cake script i.e.
CakeReport RunTargets(ICollection<string> targets)
    => RunTarget(GetOrAddTargetsTask(targets).Name);

Task<CakeReport> RunTargetsAsync(ICollection<string> targets)
    => RunTargetAsync(GetOrAddTargetsTask(targets).Name);

private ICakeTaskInfo GetOrAddTargetsTask(ICollection<string> targets)
{
    var targetsTaskName = string.Join(',', targets);
    var targetsTask = Tasks.FirstOrDefault(
        task => task.Name == targetsTaskName
    );
    if (targetsTask == null)
    {
        var task = Task(targetsTaskName);
        foreach(var target in targets)
        {
            task.IsDependentOn(target);
        }
        targetsTask = task.Task;
    }
    return targetsTask;
}

as PoC gist here: https://gist.github.com/devlead/84b21afe5688e638a86f85b940ae57be
For that i.e.
dotnet cake runtargets.cake --target=A

will result in
========================================
A
========================================

Task                          Duration
--------------------------------------------------
--------------------------------------------------
Total:                        00:00:00.0202365

and
dotnet cake runtargets.cake --target=A --target=B

will result in

========================================
A
========================================

========================================
B
========================================

========================================
A,B
========================================

Task                          Duration
--------------------------------------------------
--------------------------------------------------
Total:                        00:00:00.0251612

and
dotnet cake runtargets.cake --target=A --target=B --target=C

will result in

========================================
A
========================================

========================================
B
========================================

========================================
C
========================================

========================================
A,B,C
========================================

Task                          Duration
--------------------------------------------------
--------------------------------------------------
Total:                        00:00:00.0560336

Thanks @devlead, I'll put what you suggest into a PR for review...

I have now raised a PR for this issue, see: https://github.com/cake-build/cake/pull/4054

Fixed by #4054


Issue: Text Alignment and Styling for Hacktober Box

Hi there, i'm looking to create my first contribution to an open source project, this is small and minor but i'm a beginner and i'd like to improve the text alignment into this box explaining what hacktober is.
I have no idea if this is already being worked on by someone else, apologies if it is.

can you please assign me this issue , I would Like to work on this issue.

Hi there, I have already made a pull request under this issue!


Logout

Hi, I am testing the plugin, can your please tell me how to logout from Ionic Cordova Angular2 integration? Only the first time I got the login screen, after thar 1st time the logged user profile is loaded automatically

Hey @oosswwaalldd ,
The logout method is not implemented. I will have to update the plugin and add the logout method.

Thanks for the reply @ihadeed,
I tweaked your source code to force user login with credentials everytime the oAuth process starts.
I'll be watching your project for the logout method.
Thanks for taking the time to do this amazing integration.
Best,

@oosswwaalldd , any feedback on this issue yet?

I tweaked your source code to force user login with credentials everytime the oAuth process starts.

Can you you show how you forced this login? I am thinking of revoking the credentials to force logout instead.


Erroneous error when assigning to string literal union type

TypeScript Version:  2.0.3 / nightly (2.1.0-dev.201xxxxx)
Code
type T = {
  xOrY: 'x' | 'y'
}
const flag = true
const xOrY = flag ? 'x' : 'y' // inferred type is 'x' | 'y'
const t: T = { xOrY }

Expected behavior:
The code should type check.
Actual behavior:
The last line is flagged with an error:
Type '{ xOrY: string; }' is not assignable to type '{ xOrY: "x" | "y"; }'.
  Types of property 'xOrY' are incompatible.
    Type 'string' is not assignable to type '"x" | "y"'.

It can be fixed by giving xOrY a type annotation to say that it has type "x" | "y", but the compiler seems to have already inferred that it has this type (based on what atom-typescript's show-types-on-hover feature is telling me), so that doesn't seem like it should be necessary.
When the union is of non-string literal types, there is no such error.

@pelotom This should be fixed by #10676 and I can't reproduce the error with the current nightly build. Can you confirm that you're seeing this problem with the nightly?

Yes, I just tried with typescript@next and it appears to be fixed. Thanks!

I'm reopening this because I just found another very similar case which is still broken:
interface I {
  xOrY: 'x' | 'y'
}

class C implements I {
  xOrY = 'x'
}

This produces the error:
Class 'C' incorrectly implements interface 'I'.
  Types of property 'xOrY' are incompatible.
    Type 'string' is not assignable to type '"x" | "y"'.

@pelotom this error is correct. Because the field isn't readonly, you could write code like this, which wouldn't be sound:
interface I {
  xOrY: 'x' | 'y'
}

class C implements I {
  xOrY = 'x'; // note: xOrY of type 'string'
}
let c = new C();
c.xOrY = 'z';
function fn(i: I) {
  if (i !== 'x' && i !== 'y') throw new Error('Inconceivable!');
}

Side note, correct inference for readonly fields is currently only in the master branch

But... xOrY is not of type string. The interface dictates that it must be of type 'x' | 'y'.

readonly doesn't enter into it, because even in the case where it's not readonly, if xOrY is understood to have type 'x' | 'y', you can't reassign something that doesn't conform:
interface I {
  xOrY: 'x' | 'y'
}
const c: I = { xOrY: 'x' }
c.xOrY = 'z' // ERROR: Type '"z"' is not assignable to type '"x" | "y"'.

See #10570, #6118, #3667, #1373, etc

@pelotom implements clause does not contextually type class property declaration. this is a common issue we get. https://github.com/Microsoft/TypeScript/issues/10570 should be tracking this.
this is a different issue from the OP though. closing in favor of https://github.com/Microsoft/TypeScript/issues/10570.

Ok, thanks for the pointer!


Changelog:

Reset state whenever user onBackPressed the last tab will be home before users exit
Confirm back pressed twice to exit the apps

Solve the number #2 issue. For those want to reset the state back to home.

Hey @mochadwi , thanks for you effort and I'm glad you made it serve your purpose. However, that behavior is not intended for the library and I will not be merging it at the moment.


How does this plugin compares to other options

Hey, just a friendly question. Before you spend time creating and improving this library, are there any advantages planned for it when compared to, for example, the CRUD pluging?
https://github.com/FriendsOfCake/crud/tree/cake3
I think you could instead reuse the functionality in that other plugin to improve the cakemanager project.

Hey lorenzo,
Thanks for your message. I've worked with the CRUD-plugin before, and it works great.
The CakeManager-project allows an user to have an automatic working admin-area. The PostTypes-project allows users to register posttypes. The projects are mainly for personal use, and maybe it could be useful in future for other programmers.
When you use the CRUD-plugin, you have to create a controller and views on your own. Via the PostTypes-plugin you are able to register a type, without generating controllers and views, and it's working for your admin-panel.
I think it's another approach of the 'problem' ;)
I want to build automatic api's, and I am planning to use the CRUD plugin for that.
What's your view about this? I saw you worked on Cake 3, and contributed to the CRUD-plugin?
Thanks!
Bob

I use CRUD very heavily in most of my apps. While it is true that you need a Controller, it is not 100% true that  you need views. This project is an attempt to have completely dynamic views https://github.com/friendsofcake/crud-view
I guess that with a bit of extra work you could remove the need for having a controller at all, for example with the use of a specialized DispatcherFilter.
My idea is, if you think the Crud plugin can be extended or improved to help you with the creation of this plugin, just dump your ideas as a RFC ticket or a pull request!

Didn't see that dynamic views are possible! Great!
The PostTypes-plugin won't be a large plugin. I will keep it for the CakeManager. In future I will think about extending the functionality of the CRUD-plugin! That would be great :)


Add Helix editor to bash autocompletion

Adding Helix editor to bash autocompletion for "hx **" to work

While fzf provides a way to support unlisted commands (https://github.com/junegunn/fzf#supported-commands), I'm going to merge this because Helix seems to be quite popular. Thanks.


Self-defined function handler cannot work

Hi there!
  # Handle with a high-level handler
  # For an extensive use of such handlers, see https://github.com/ucsb-seclab/hal-fuzz
  # WARNING: if used in fuzzing, Python-based handlers slow down fuzzing a lot
  puts:
    handler: fuzzware_harness.user_hooks.generic.stdio.puts
    # Still execute the original firmware function (defaults to True)
    do_return: False

  # Native hooks leading to binary patches
  # Return 0
  my_useless_initialization_function_requiring_zero:
    # BEWARE: this requires 8 bytes of function body
    handler: native.return_0x0
  # Return 1
  my_useless_initialization_function_requiring_nonzero:
    # BEWARE: this requires 8 bytes of function body
    handler: native.return_0x1
  # And welcome to the dark side...
  my_useless_initialization_function_requiring_binary_patch:
    # manually patching "bx lr" as byte patch
    handler: native.inline_asm_7047

The above shows custom handlers provided in README_config.yml. I attempted to implement time marking through a main handler:
# filename: /home/user/fuzzware/emulator/harness/fuzzware_harness/user_hooks/generic/my_handler.py

from unicorn import *
from unicorn.arm_const import *

def log_main_hit_time(uc):
    MAIN_ADDR = 0x8004192 # This is the main function address

    pc = uc.reg_read(UC_ARM_REG_PC)

    if pc == MAIN_ADDR:
        from datetime import datetime
        with open('/firmware_db/function_hit.txt', 'a') as f:
            f.write(f"main hit: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')} PC:{hex(pc)}\n")
        uc.emu_stop()

I aim to measure the time spent from Reset_Handler to main.
However, this handler is triggered in the first second and continues to execute repeatedly, generating a file tens of megabytes in size. Ideally, this file should contain only a single record. I can not figure out if is it a feature or a bug.
Here’s everything needed - the binary firmware and Fuzzware config/sym are all in the attachment 👉 firmware_sample.zip.

In case you want the fuzzer to fully stop upon reaching the main function, then you would also need to use another exiting method. Merely stopping the emulator via uc.emu_stop will make the fuzzer go on executing.

Hi Tobi!
Yes, it happened when I invoked the command fuzzware pipeline --run-for 01:00:00.
Thank you for advising on using a global variable rather than file writing and I believe it will make the measuring more accurate. In terms of the file writing behavior, I'm afraid it was my mistake. This firmware sample is too tiny, so fuzzware can run from reset_handler to main in only one second! I used to think that going through this path would take an observable period. After changing to another more complicated test sample, the time consumed is up to around 1 minute.
Additionally, I have a design question about Fuzzware that I'd like to ask. When Fuzzware uses pipeline to test a firmware for one hour or longer, does it boot the firmware multiple times to test different random input queues? Or conversely, does Fuzzware only boot the firmware once and continuously mutate inputs at the deepest coverage points?
(Previously, my approach focused on optimizing boot time to maximize fuzzing efficiency within the application's main routine. However, I've now observed that the boot time is relatively short, potentially limiting the optimization opportunities. Nevertheless, if frequent firmware reboots occur, the cumulative optimization potential could be significant. Therefore, I aim to determine whether multiple firmware restarts are present in the fuzzing flow.)

The fuzzer will take a snapshot at the point in time where it reads fuzzing input for the first time. That means it runs up until the first MMIO access that actually requires fuzzing input. Concretely, this means the first access that is modeled either not at all, yet, or is assigned one of the set, bitextract, or unmodeled models.
So depending on the Models assigned, this point in time can be very early in the boot process, or much later.
If the boot option is provided in the config, then this point in time may be configured to occur later.
You can get a feeling for when the snapshot is set by generating an MMIO trace (fuzzware emu/replay --mmio-trace-out) and looking for the first input which actually consumes input.


What is the replacement for this declaringClass that is Deprecated

What is the replacement for this declaringClass that is Deprecated,Nothing in the source code is clear

Because I need to scan multiple packages and scan those packages myself
This kind of indefinable explanation is really annoying to watch
So the user really can not see whether there is an alternative, how to replace??

This is not related to swagger-core (probably springfox?). Closing


Update all Babel links to v7 in "Quickly Try JSX"

What's changed?
Updated the Babel links to v7 in "Add React to a Website" section on the website

The preset is for Babel 6 though. Let’s wait until it’s updated for Babel 7.

with create-react-app v2 released with Babel v7, maybe can we merge this PR now?

Can I help get this or an equivalent update merged in? The current docs with babel-cli@6 cause an npm audit warning for a vulnerability fixed in babel-cli 7 but wontfix in 6.

close this due to deleted fork repo, new pr at #3202


Fix mesh vertex spacing

#296 Mesh scaling did not address Storage or Editor. Only the mouse position was scaled. This means get_height and other storage functions didn't work.
This PR adds on to the work done by @lfxu to ensure the API is global. That is all function calls (eg get_height) operate in absolute global positions. If looking at the height of a mountain peak with get_height(512, 512), then you set vertex spacing to 2.0, you'll need to query that mountain peak with get_height(1024, 1024).
Working

Add/remove regions
Storage.get_height
Storage.get_normal
Collision
Brushing
Brush decal size
Picker decals
Importing - works fine using scaled global positions
Navigation doesn't generate. With spacing=2, even a very small area produces no nav mesh.
Baking array mesh and Occlusion culling off
Slope sculpting, heights are a little off
Edited AABB - The idea is internally it is in descaled coordinates. What it receives and gives externally are absolute global coordinates.

This commit fixes some of the issues with ArrayMesh, Occluder3D and NavigationMesh baking. Basically, a few places scale the wrong thing, giving the output the appearance of having been scaled twice.
Unfortunately there still seems to be some kind of issue specifically with navmesh baking that I don't have time to look into at the moment. It could be another navmesh-related engine issue, because baking other kinds of meshes shows no issues here.

I've only briefly looked at the effect of vertex spacing on slope sculpting. It appears to be "spiky" whenever vertex spacing is below or above 1.

Thank you, I have added the fix for the arraymesh/occlusion/navigation generation. I also simplified the scaling code.
I generated a section and it seems fine. Note that with 3x mesh scaling, the total size of the navigation mesh increases 3x. There is a finite limit on the size of what can be generated, so I painted a much smaller navigable section and it generated fine.
I also fixed the last row of collision.

I fixed the dithered brush and slope sculpting heights. The only remaining things are: AABB, and reviewing the code.

@tcoxon Edited aabb is wrong in the main tree. Flattening the demo mountain peak w/ vertex scaling:

@ 1 Terrain3DStorage::add_edited_area: [P: (513.7451, 336.2854, 613.7875), S: (50, 26.30222, 50)]
@ 2 Terrain3DStorage::add_edited_area: [P: (521.157, 339.005, 623.036), S: (50, 26.07883, 50)]
@ 0.5 Terrain3DStorage::add_edited_area: [P: (509.7927, 335.5546, 604.967), S: (50, 26.65845, 50)]

This pr:

@ 1 Terrain3DStorage::add_edited_area: [P: (511.0797, 333.2357, 614.1357), S: (50, 31.5379, 50)]
@ 2 Terrain3DStorage::add_edited_area: [P: (1058.114, 355.972, 1258.456), S: (50, 9.005615, 50)]
@ 0.5 Terrain3DStorage::add_edited_area: [P: (241.0488, 284.7164, 292.0633), S: (50, 80.21317, 50)]

That scaling looks right to me. I think this PR is now done.

@tcoxon I'm going to merge this in so we can get more people using and testing. If there's a specific problem with edited_area we can follow up in another issue. Hopefully before I release 0.9.1, but I want to release it soon. Maybe today.


[WIP] Add sharp support

Adds support for processing images using sharp which is much faster than Jimp or even ImageMagick.
I built on top of @langri-sha's work mentioned in #2, but instead of replacing Jimp, I added sharp as an option. Currently, you can enable it by specifying it as an adapter in the webpack config (default is still Jimp):
{
  responsiveLoader: {
    adapter: require('responsive-loader/lib/adapters/sharp')
  }
}

Auto-detection of sharp could still be added. This approach has the nice benefit that anyone can supply their own adapters once the API is stable.
I also reorganized and changed a few things, most notably:

added a Babel build step to ensure Node 4 compatibility (I also want to add Flow types at some point, this prepares for that)
replaced tape with Jest because snapshots are super-nice to test a loader's output
added a few more tests to make sure the adapters work in the same way

After some fiddling I got the tests to pass on Travis. sharp builds fine on the trusty environment but oddly the output of sharp seems to differ on Linux and macOS, so I had to switch to the osx environment in order to make the tests pass. I wonder if there's a better solution to this …

Any chance you'll merge this soon? Anything I can do to help getting this done?
Otherwise I'll have to find a different solution. Jimp is just too slow especially with a build for server, client and storybook. Takes 1-2 minutes for every start.

The performance improvement is dramatic with this patch. I hope you can merge it soon.

Somebody published this branch as a separate package to NPM: https://www.npmjs.com/package/responsive-loader-sharp, feel free to use that in the meantime.

That package's README is wrong. I will try to finish the remaining work in the next few days and release an "official" version.

Alright, I've just published v1.0.0-rc.1 including sharp and webpack >= 2 support.
Along the way, I dropped support for webpack 1 and had to change the import syntax a bit. Make sure to read the change log and the new README.
Please test this release and then we'll finally get it out the door 😄 . Thanks for the patience!
PS: I'll be adding the pending new features once this is done.

I won't be able to test this because my current project still uses webpack 1, and I don't plan to upgrade to webpack 2 in this iteration.

Works great. Thanks.

Merged and released as v1.0.0 🎉


fix/field-resolve-error: fix error exception for non BackedEnum when n…

ErrorException when nova update-fields request for simple UnitEnum (not BackedEnum):
Undefined property: App\Enums\Status::$value

The readme of this package states that pure enums are supported. This is clearly not the case as any attempt to use a pure enum results in an Undefined property: $value error as described in this PR.
You guys should either merge this PR, or update the readme so it states pure enums aren't supported.

You are right

Sorry for delay


Slow CSS Transitions

Describe the issue
I move an image (Full HD) using javascript with CSS Transitions.
If the image is more in the middle of the window, the framerate drops very low, the framerate is higher if the image is mostly outside.
If a video is playing in the background (even if the video element is only 1x1 Pixel), the framerate remains high and the transition runs smooth.
The framerate is generally lower compared to the packages in raspbian.

Framerates
Yocto
Raspbian

Canvas test
10
20

Transition without video
19 down to 4
60 down to 10

Transition with background video
19
60

Do you know how the WPE/cog packages in the raspian repositories are being built?
And is there any way I can prevent the framerate from dropping without adding a dummy video?
To Reproduce

Built using kas kas.yml.txt
Opened my test html in cog, with WEBKIT_SHOW_FPS=1 test.html.zip
Opened this canvas test in cog, with WEBKIT_SHOW_FPS=1
Repeated 2 and 3 within raspbian with wayland support activated and cog installed using apt.

Environment:

yocto release: kirkstone
hardware target: raspberrypi4 (RPI 400)

Thanks for your help!

Regarding, Raspbian, what environment are you using for getting those results? Weston or mutter as Wayland compositor?

Regarding Raspbian, what environment are you using for getting those results? Weston or mutter as Wayland compositor?

I was using mutter.
Using nested weston inside of mutter results in similar fps. Up to 30 fps if I start weston with the drm Backend on a different TTY. Tried changing the repaint window, but it doesn't seem to have any effect.

Note that Raspbian still uses cog 0.8.1, so I used the fdo backend there.
1024x768 on Raspbian Mutter: 60 fps*
Fullscreen 1920x1080 on Raspbian Mutter: 30 fps
1024x768 on Raspbian Mutter + Weston: 55-60 fps*
Fullscreen 1920x1080 on Raspbian Mutter + Weston: 30 fps
1024x768 on Raspbian Weston: 30 fps
Fullscreen 1920x1080 on Raspbian Weston: 30 fps
1024x768 on Yocto Weston: 30 fps*
Fullscreen 1920x1080 on Yocto Weston: 30 fps
I also noticed one thing with in some cases (marked with *): If the browser window has the focus, the framerate can drop by ~20%.

1024x768 on Raspbian Weston: 30 fps

...

1024x768 on Yocto Weston: 30 fps*

Those rates are certainly unexpected.

Some ideas:

Could you try with MACHINE=raspberrypi4-64 ?
...  PREFERRED_VERSION_wpewebkit = "2.36.8" ?

What Rpi kernel version are you using in your image?

Note that Raspbian still uses cog 0.8.1, so I used the fdo backend there.
1024x768 on Raspbian Mutter: 60 fps* Fullscreen 1920x1080 on Raspbian Mutter: 30 fps
1024x768 on Raspbian Mutter + Weston: 55-60 fps* Fullscreen 1920x1080 on Raspbian Mutter + Weston: 30 fps
1024x768 on Raspbian Weston: 30 fps Fullscreen 1920x1080 on Raspbian Weston: 30 fps
1024x768 on Yocto Weston: 30 fps* Fullscreen 1920x1080 on Yocto Weston: 30 fps
I also noticed one thing in some cases (marked with *): If the browser window has the focus, the framerate can drop by ~20%.

Also it seems mutter being consistently lighter than Weston as WAyland compositor.

Checked the mutter package available for RPI [0] , it seems this comes patched with the triple buffer implementation (https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1441/diffs)  what apparently boost 2x the performance of the compositor [1]. That could justify those better numbers for the case of mutter.
[0] https://mirror.ox.ac.uk/sites/archive.raspbian.org/archive/raspbian/pool/main/m/mutter/mutter_43.0-2.debian.tar.xz
[1] https://www.phoronix.com/news/GNOME-Triple-Buffering-2x

Some ideas:

Could you try with MACHINE=raspberrypi4-64 ?
...  PREFERRED_VERSION_wpewebkit = "2.36.8" ?
... also raise the GPU memory by adding the following:

GPU_MEM_256 = "128"
GPU_MEM_512 = "196"
GPU_MEM_1024 = "396"

in the conf/local.conf.

still 30 fps

Also it seems mutter being consistently lighter than Weston as WAyland compositor.
Checked the mutter package available for RPI [0] , it seems this comes patched with the triple buffer implementation (https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1441/diffs) what apparently boost 2x the performance of the compositor [1]. That could justify those better numbers for the case of mutter.
[0] https://mirror.ox.ac.uk/sites/archive.raspbian.org/archive/raspbian/pool/main/m/mutter/mutter_43.0-2.debian.tar.xz [1] https://www.phoronix.com/news/GNOME-Triple-Buffering-2x

It appears to be so. For this reason, I tried sway and wayfire too. Using sway I got 30 fps, just like weston. Wayfire appears to be an alternative to mutter. I could even reach 40 fps at 1920x1080.
Used recipes from https://github.com/MarkusVolk/meta-wayland
Regarding the other question (framerate dropping if no video is playing): I used CSS-Transitions on the left-Property, which is discouraged. Using translate, as recommended in https://www.paulirish.com/2012/why-moving-elements-with-translate-is-better-than-posabs-topleft/, results in a stable framerate.


Investigate json-api relationships

Some times, a resource's relationships are not needed unless they are included. An easy example would be the order attribute on shop. I don't want to know about the orders unless I specifically ask for them by adding the include=orders when requesting a shop.
If it can't be done, multiple serializers would have to be created to handle this.

This has the effect that retrieving from the database requires all associations, even if not included. I don't believe they can be known in advance.


IndexError in src/gsm/feedback.py

Hello! I'm running python -u src/gsm/run.py with "gpt-3.5-turbo" and has the following error. This is happening because "def solution():" not in entire_output in feedback.py.

Question 1: Has this error happened with Codex? I'm wondering if this is because ChatGPT is not always following input exemplar's format perfectly.
Question 2: Even with these errors, src/gsm/run.py keeps running. Should I just ignore these errors? I'm hoping to obtain results that is close to or better than gsm results in your paper.

1%|▊                                                                                | 8/1319 [03:04<8:42:28, 23.91s/it]

An error occurred: list index out of range. Traceback (most recent call last):
  File "/home/ubuntu/code/hideodeo/self-refine/src/utils.py", line 39, in wrapper
    return func(*args, **kwargs)
  File "/home/ubuntu/code/hideodeo/self-refine/src/gsm/run.py", line 40, in iterative_gsm
    fb_and_maybe_soln = task_feedback(solution=solution)
  File "/home/ubuntu/code/hideodeo/self-refine/src/gsm/feedback.py", line 42, in __call__
    solution = entire_output.split("def solution():")[1]
IndexError: list index out of range
. Left retries: 2.

Question 3 (related to Question 1): If this error happened with Codex, how often it happened? Says you have 100 test instances, roughly how many instances do you get this error?

Hey @hideodeo, in general, codex was better at follow few-shot prompts than chatgpt, and threw these exceptions less frequently. Our implementation ignores these exceptions, but perhaps one could do better.


chore(deps): bump https://github.com/zeebe-io/zeebe-operate-helm from 0.0.19 to 0.0.20

Update zeebe-io/zeebe-operate-helm from 0.0.19 to 0.0.20
Command run was jx step create pr chart --name zeebe-operate --version 0.0.20 --repo https://github.com/zeebe-io/zeebe-full-helm.git

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: salaboy
If they are not already assigned, you can assign the PR to them by writing /assign @salaboy in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


fix faraday issue

fix for https://github.com/ashkan18/graphlient/issues/73

will make another one.


Fix getConf bugs when it comes across warning

What changes are proposed in this pull request?
As issue https://github.com/Alluxio/alluxio/issues/15795 mentioned. When output any warnings, the cli of judging HA_ENABLED will be invalid. This PR fixs it.
Why are the changes needed?
Bug fix.
Does this PR introduce any user facing changes?
No.

Also you should submit the PR to master-2.x


[flutter_tools] Display "no platforms" message based on results when creating plugins project

Description

This PR mainly focused displaying the "no platforms" message based on the plugin project's file structure.
It also moved the "no platforms" message to the very end of the log to make it more visible when executing flutter create -t plugin . The "no platforms" message was also edited to reflect the change.

While I'm here, I also moved the "update pubspec" message towards the end a bit, also edited the final message of creating plugins to encourage users to find the "update pubspec" message. (Although this could be improved to be more smart, but it requires more refactoring of the code so I left it there for now)

Cleaned up some stale TODO comments

Related Issues
Fixes https://github.com/flutter/flutter/issues/66058
Fixes https://github.com/flutter/flutter/issues/70492
Tests
I added the following tests:
created plugin with no --platforms flag should not print no platforms message if the existing plugin supports a platform.
created plugin supports no platforms should print no platforms message
Also edited some existing test to also check for this message.
Checklist
Before you create this PR, confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.

[x] No, no existing tests failed, so this is not a breaking change.
[ ] Yes, this is a breaking change. If not, delete the remainder of this section.

[ ] I wrote a design doc: https://flutter.dev/go/template Replace this with a link to your design doc's short link
[ ] I got input from the developer relations team, specifically from: Replace with the names of who gave advice
[ ] I wrote a migration guide: https://flutter.dev/go/breaking-changes-template Replace this with a link to a pull request that adds the migration guide to https://flutter.dev/docs/release/breaking-changes

@jmagman Screenshots:

Screenshots for adding platforms:

I think we still need to cut down the amount of output here, it's a bit overwhelming. Some ideas

Don't run doctor when adding a plugin, its just more noise
Create website documentation and link to that for caveats, keep the documentation to the happy path. I don't think that caveat about platforms: is that important, just update the snippet to include the platform key too and I think people will figure it out.
Pending some feedback from UXR, I would make the actionable text more even more obvious and put it at the very end:

"""
Action Required: One sentence thing to do
Link for more info:
"""

Don't run doctor when adding a plugin, its just more noise
@jonahwilliams Did you mean "when adding a platform"?

Create website documentation and link to that for caveats, keep the documentation to the happy path. I don't think that caveat about platforms: is that important, just update the snippet to include the platform key too and I think people will figure it out.

For flutter create -t plugin .
Action Required: Must specify at least one platform using --platforms.

Link for more info: https://flutter.dev/docs/development/packages-and-plugins/developing-packages#step-1-create-the-package-1

For adding platforms in existing plugin using flutter create -t plugin --platforms=android
Action Required: The `pubspec.yaml` under the project directory must be updated to support android.

Link for more info: https://flutter.dev/docs/development/packages-and-plugins/developing-packages#plugin-platforms

@jonahwilliams @InMatrix @jmagman WDYT?

@jmagman @jonahwilliams I updated the code to reflect what we have in the discussion doc. I think the message looks pretty concise and clear now.
I also updated the link to use a go link that will be available once https://github.com/flutter/website/pull/4997 lands.
PTAL

Here are screenshots, 1st is no platforms, 2nd is add platforms

Will land this after https://github.com/flutter/website/pull/4997 lands


Implement loglevel on subscribed fds

Add loglevel to logserver_subscribe_fd
Set INFO as default loglovel for containers fds

lgtm... if tested land it....


Open codemirror theme to be overriden

Please, is it possible to allow us to choose a codemirror theme?
Couldn't it be merged on default options?
options() {
      return {
        addModeClass: true,
        extraKeys: {
          // use spaces instead of tabs
          // https://github.com/codemirror/CodeMirror/issues/988#issuecomment-14921785
          'Shift-Tab': (instance) => {
            instance.indentSelection('subtract')
          },
          Tab: (instance) => {
            if (instance.somethingSelected()) {
              instance.indentSelection('add')
            } else {
              instance.replaceSelection(Array(instance.getOption('tabSize') + 1).join(' '), 'end', '+input')
            }
          },
        },
        indentUnit: this.config.tabSize,
        indentWithTabs: false,
        keyMap: this.keyMap,
        lineWrapping: true,
        mode: {
          name: this.config.mode,
          // fencedCodeBlockDefaultMode: 'html',
          highlightFormatting: true,
        },
        singleCursorHeightPerLine: true,
        tabSize: this.config.tabSize,
        theme: 'one-mixed',
      }
    },

Thank you!

I can make this change, but I should probably mention that I am working on replacing the implementation here with CodeMirror 6. CM6 is not backward compatible with CM5, and implementing a separate theme will require a different configuration interface.

@robsonsobral This is now possible in v0.3.1. I just realized the config setting could be a little confusing, because there is a theme attribute for specifying dark/light mode. You need to use the settings attribute with the theme key inside the config object. Here is an example.
<MarkdownEditor v-model="markdown" theme="dark" :settings="{ theme: 'another-theme' }" />


Github pages have drifted from foodcritic.io

It appears the gh-pages branch hasn't been maintained in favor of the more attractive foodcritic.io. This may be an issue since https://acrmp.github.io/foodcritic/ still appears frequently in google search results.
Examples of content at https://acrmp.github.io/foodcritic/ but not at http://www.foodcritic.io/ include:

rake task description
FAQ

Perhaps a conversation might be had here about what to migrate from gh-pages to https://github.com/acrmp/foodcritic-site.
Once that was completed we could update the local gh-pages to redirect to foodcritic.io (or alternatively migrate the foodcritic-site back here to gh-pages).

Hi Mark,
Thanks for raising this. The original reason for not removing the gh-pages site was because it had content not available on the newer site. However I think this was a bad call given the confusion it caused.
The gh-pages site now redirects to www.foodcritic.io. The earlier content is still available in git if we need to bring some of it across.
The newer site is hosted on S3. Travis does not do the publishing, so in addition to repo rights maintainers also need AWS credentials to publish to it.
Cheers,
Andrew.

:+1:


Switch to TeraMath's Vector2i implementation - Part 1

Use geom.Vector2i in NUI and input-related code.

Requires a trivial change in Journal.

Ping @Cervator asking for other compiler errors in other modules.

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/203/
Build Log
last 5 lines
[...truncated 95 lines...]
   at hudson.model.Executor.run(Executor.java:240)
[ANALYSIS-COLLECTOR] Skipping publisher since build result is FAILURE
Notifying upstream projects of job completion
Setting status of 16cb06ee113b914647521c3d495626e87775ac95 to FAILURE with url http://jenkins.terasology.org/job/TerasologyPRs/203/ and message: Merged build finished.

Uh oh, something went wrong with the build. Need to check on that

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/204/
Hooray Jenkins reported success with all tests good!

Will try to check out when I get home :-)

Broken module report:

[ ] Durability
[ ] Fluid
[ ] IRLCorp
[ ] Journal (as noted)
[ ] Machines
[ ] ManualLabor
[ ] MasterOfOreon
[ ] Minimap
[ ] ModularComputers
[ ] Pathfinding
[ ] WoodAndStone
[ ] Workstation

That should be most of them. There may be one or two more as I started getting indirect compilation failures when a dependency failed from the Vector2i change, and was unavailable for something else.
Yeah we totally need the PR --> Test all modules against it trick in Jenkins :-)

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/210/
Hooray Jenkins reported success with all tests good!

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/211/
Hooray Jenkins reported success with all tests good!

Bump - I see more commits. More changes or something to help modules not break via deprecations so we can fix modules are our leisure? Which is probably actually a good idea when able (to avoid PRs paired with big module PR sets)
Any other reviewers? @immortius @flo ?

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/215/
Hooray Jenkins reported success with all tests good!

@msteiger if you run out of time for fixing modules before your trip I can probably sort out the rest with the module PRs you've already gone through. Just let me know - I figure that's the only thing left before merging this :-)

That would be great, yes. I hate to leave things behind unfinished. Thank you!
Pathfinding seems to have a few other compiler errors.

Okies, no worries, we should be able to sort them out!

Tests out fine in Core, started trying to pull module PRs, and GitHub started having issues :-)
Sleepy time soon will try again tomorrow

Finished the remaining modules :-)
Didn't realize at first there were still some usages of the old classes in some places, nearly started fixing some of those before realizing those run into issues needing more "real" work. I guess that's what the deprecation is all about :D Will get fixed over time I figure.


Grunt server..

We are getting
Fatal error:connect ETIMEDOUT and
fatal error:socket hang up
errors when we hit the URL to run the application.

@mvijonakri I guess you did run the app right?

ngbp doesn't come with a server. What URL?


Evaluation and best move differ in 2 GUIs

While testing the new Zahak v8.0 dev (by git clone & compile) i discovered a strange thing : it's evaluation and 'best move' differ when running in SCID and CuteChess.
I tested the following position : 8/p5pp/1pk1n3/5p2/P1n5/2NN2KP/5PP1/8 w - - 0 28

White to move. Here you see the output in SCID. For a long time Zahak considered Nb4+ best move. At a few depths it changed its mind to Nf4 or Kh4, but after all it decided Nb4+ was best. In SCID i let it run endlessly, and for my test i stopped the engine at depth 23 after 81 seconds. I used CuteChess for engine-vs-engine play (setting 120 sec per player for the whole game + 1 sec bonus) and here Zahak played h4 after 5.8 seconds, reaching depth 9 :

[Event "engine-vs-engine"]
[Site "?"]
[Date "2021.11.21"]
[White "Zahak v8.0 dev NNUE"]
[Black "TuxedoCat v0.0.2"]
[Result "1-0"]
[FEN "8/p5pp/1pk5/5p2/P1nn4/2NN3P/5PPK/8 w - - 0 27"]
[GameDuration "00:01:54"]
[PlyCount "43"]
[SetUp "1"]
[TimeControl "120+1"]

1. Kg3 {-2.02/9 8.2s} Ne6 {+1.00/4 0.22s} 2. h4 {-1.95/9 5.8s} Nc5 {+1.00/4 0.30s} 3. Nb4+ {-1.92/9 12s} Kb7 {+2.11/5 0.94s} 4. Kf4 {-1.77/10 7.9s} g6 {+1.00/4 0.26s} 5. Kg5 {-1.12/10 7.8s} a5 {+1.00/4 0.26s} 6. Nbd5 {-1.14/10 3.9s} Ne4+ {+0.05/4 0.26s} 7. Kh6 {+0.56/10 4.9s} Nxc3 {0.00/4 0.23s} 8. Nxc3 {+1.89/13 6.4s} Nb2 {+0.03/5 0.79s} 9. Kxh7 {+4.91/12 3.0s} f4 {-0.13/5 0.67s} 10. Kxg6 {+5.07/12 2.8s} Nd3 {-1.08/5 0.60s} 11. h5 {+6.54/12 5.4s} Nxf2 {-0.40/5 0.82s} 12. h6 {+13.33/12 3.2s} Nd3 {-0.40/5 0.85s} 13. h7 {+14.16/12 3.2s} Ne5+ {-3.45/5 1.1s} 14. Kf6 {+21.08/11 9.0s} f3 {-6.60/5 1.3s} 15. gxf3 {+22.55/11 2.2s} Nd7+ {-7.86/5 0.69s} 16. Kf5 {+22.46/12 2.7s} Nc5 {-9.08/5 0.52s} 17. h8=Q {+35.50/11 3.8s} Nd3 {-9.08/5 1.2s} 18. Nb5 {+M11/12 5.7s} Nb4 {-9.08/5 0.85s} 19. Qd8 {+M7/25 1.8s} Na6 {-9.08/5 0.72s} 20. Ke5 Nc5 {-12.08/4 0.31s} 21. Qc7+ {+M3/100 0.022s} Ka6 {-12.08/2 1.2s} 22. Qa7# {+M1/100 0.025s, White mates} 1-0

Note the starting position was 1 move earlier, but to consult SCID i entered the position that followed after 1 move.
The CuteChess screenshot shows that Zahak considered Nb4+ best move after 3 sec at depth 8, and h4 after 25 sec at depth 9, but to reproduce its behaviour and create the screenshot, i again let it run in CuteChess with much longer thinking time .. obviously it played h4 after 5.9 sec, not Nb4+. However, SCID shows h4 was never considered !? Also the evaluation in SCID (-2.07 after 4.31 sec at depth 17) differs from CuteChess (-1.95 after 5.8 sec at depth 9).
I have no clue how to explain this .. did i do a proper test? It seems Zahak (and maybe any engine) is running much faster in SCID and the evaluation differs a lot.
I'm on Xubuntu 20.04 64-bit. Both my GUIs are newest versions, i use same settings in both, eg. 64 Mb hash and MPV 1 and 1 thread.

Note the starting position was 1 move earlier, but to consult SCID i entered the position that followed after 1 move.

This is the reason, chess engines gather lots of information while playing, namely in Hash and history, and these greatly affect the chosen moves

Zahak doesn't talk to any GUI, except by a lanauge called UCI, the GUI has no effect on the outcome of a search

Here is what I have and I believe it matches what is in Scid:
go
info depth 1 seldepth 2 hashfull 0 tbhits 0 nodes 55 nps 137338 score cp -225 time 0 pv c3b5
info depth 2 seldepth 6 hashfull 0 tbhits 0 nodes 442 nps 298098 score cp -220 time 1 pv d3b4 c6d6 c3b5 d6c5
info depth 3 seldepth 9 hashfull 0 tbhits 0 nodes 2756 nps 702713 score cp -180 time 3 pv d3b4 c6d7 c3b5 a7a5
info depth 4 seldepth 8 hashfull 0 tbhits 0 nodes 3425 nps 704229 score cp -198 time 4 pv c3b5 a7a6 d3b4 c6b7 b5c3
info depth 5 seldepth 9 hashfull 0 tbhits 0 nodes 4189 nps 661587 score cp -208 time 6 pv c3b5 a7a6 d3b4 c6b7 b5c3 c4e5
info depth 6 seldepth 9 hashfull 0 tbhits 0 nodes 4602 nps 661057 score cp -204 time 6 pv c3b5 a7a6 d3b4 c6b7 b5c3 c4e5 f2f3
info depth 7 seldepth 10 hashfull 1 tbhits 0 nodes 5994 nps 686189 score cp -188 time 8 pv d3b4 c6d7 h3h4 c4b2 c3b5 a7a5
info depth 8 seldepth 19 hashfull 1 tbhits 0 nodes 17553 nps 630004 score cp -206 time 27 pv d3b4 c6c5 b4a6 c5d6 c3b5 d6c6 a6b4 c6b7 b5c3 a7a5 b4d3
info depth 9 seldepth 20 hashfull 1 tbhits 0 nodes 25358 nps 645248 score cp -201 time 39 pv d3b4 c6c5 b4a6 c5d6 c3b5 d6c6 a6b4 c6b7 b4d3 a7a6 b5c3 c4d2
info depth 10 seldepth 19 hashfull 2 tbhits 0 nodes 31039 nps 649008 score cp -197 time 47 pv d3b4 c6c5 b4a6 c5d6 c3b5 d6c6 a6b4 c6b7 b4d3 a7a6 b5c3 c4d2 f2f3
info depth 11 seldepth 20 hashfull 2 tbhits 0 nodes 51815 nps 647369 score cp -191 time 80 pv d3b4 c6c5 b4a6 c5d6 c3b5 d6c6 a6b4 c6b7 h3h4 g7g6 b5c3 a7a5 b4d3 c4d6 g3f3 b7c6 f3e3
info depth 12 seldepth 27 hashfull 6 tbhits 0 nodes 172757 nps 715431 score cp -206 time 241 pv d3b4 c6d7 c3b5 a7a5 b4d3 d7c6 h3h4 g7g6 h4h5 g6h5 g3h4 e6c5 d3c5 c6c5
info depth 13 seldepth 25 hashfull 13 tbhits 0 nodes 352720 nps 792550 score cp -212 time 445 pv d3b4 c6d7 b4a6 c4e5 c3b5 e5c6 h3h4 g7g6 g3f3 d7e7 f3g3 e7f6 a6c7 e6c7 b5c7
info depth 14 seldepth 23 hashfull 13 tbhits 0 nodes 439167 nps 816212 score cp -216 time 538 pv d3b4 c6d7 b4d3 a7a6 d3b4 a6a5 b4d3 d7d6 g3h4 d6c6 f2f4 c6d6 c3b5 d6d5 h4h5 d5e4
info depth 15 seldepth 25 hashfull 15 tbhits 0 nodes 552893 nps 841321 score cp -207 time 657 pv d3b4 c6d7 b4d3 a7a6 d3f4 d7d6 h3h4 c4b2 g3f3 d6e5 f4e6 e5e6 a4a5 b6a5 f3e3
info depth 16 seldepth 27 hashfull 31 tbhits 0 nodes 971382 nps 901182 score cp -195 time 1077 pv d3b4 c6d7 b4d3 a7a6 d3f4 h7h6 h3h4 g7g5 h4g5 h6g5 f4e6 d7e6 f2f4 g5g4 g3h4 c4e3
info depth 17 seldepth 24 hashfull 33 tbhits 0 nodes 1089914 nps 910740 score cp -206 time 1196 pv d3b4 c6d7 b4d3 a7a6 d3f4 d7d6 f4e6 d6e6 g3f4 c4e5 f4e3 h7h6 e3d4 e5c6 d4e3 g7g5 f2f4 e6d6 f4g5 h6g5
info depth 18 seldepth 29 hashfull 48 tbhits 0 nodes 1575662 nps 937601 score cp -203 time 1680 pv d3b4 c6d7 b4d3 a7a6 d3f4 d7d6 f4e6 d6e6 g3f4 c4e5 f4e3 h7h6 f2f3 e5c6 f3f4 e6d6 g2g4 f5g4 h3g4 d6c5
quiinfo depth 19 seldepth 30 hashfull 66 tbhits 0 nodes 2226247 nps 960457 score cp -208 time 2317 pv d3b4 c6c7 c3b5 c7b7 b4d3 a7a5 h3h4 b7c6 h4h5 c4d6 b5d6 c6d6 f2f3 e6c5 d3b2 g7g5 h5g6 h7g6 b2c4 d6c6 c4e5 c6d5 e5g6 c5a4

I believe this is a no issue, I'll close it. If you feel I haven't answered your question yet, feel free to reopen it


Fix incorrect margins on dashboard and icon resolution

Removes grey block at bottom of dashboard screens and increases resolution of the logo as it was blury.

Thank you for new binary file ... that was really bothering me.
Unfortunately the margins look a bit squiff on my device... see attached:

Looks like the startup info didn't load for you and the contributor numbers are missing. However I have tightened the top section anyway to match what it looked like before. Give it a go again.


Parametrize version and file header

Anytime we want to change the version, we need to change it in many places (aka https://en.wikipedia.org/wiki/Shotgun_surgery), e.g., https://github.com/IUPAC-InChI/InChI_Dev/commit/87e5b133d68a7a58cb9ac94c6f7d12e066b283ef. This is error prone and tedious.
Maybe we can think of a way to parametrize the version?
I.e., keep the version in a single place (e.g., global constant), and then reference that single source of truth in all places that need the version string.
We'd then only update the version in one place if we bump it.
The same goes for the header, see e.g., https://github.com/IUPAC-InChI/InChI_Dev/commit/ac71becc16e0e454ef75abdfb820c6c7a9d9de81.

@JanCBrammer The two links you posted are 404 but I guess you are refreeing to the header you have on all files like this one:
https://github.com/IUPAC-InChI/InChI/blob/7cb718ffe999945fddfe43acb0cd4920ad302f67/INCHI-1-SRC/INCHI_API/libinchi/src/inchi_dll_a.c#L1-L7
Is there a reason why you want to keep the version and date in the headers? To me, the most convenient solution is to get rid of those lines everywhere

@giallu, intuitively, I'd also prefer getting rid of the header lines in all source files. I just can't oversee the "legal" implications. Is it sufficient to have the license in one central place?

@JanCBrammer The license at the central place (usually, a LICENSE.txt file at the root of the project) is enough to cover all the files included in the project. If a file (like sha.c) specify license terms, those takes precedence over the project ones.
However, I think just removing those 7 lines above will make your maintaner life so much easier. Every place you can remove the version/date in the sources and documentation is one less place you need to update for a new release.
As a side note, the industry standard is now moving toward specifying license in the files with SPDX, you can very much decide to embrace it and replace all the license text with something like:
// SPDX-License-Identifier: MIT

specifying license in the files with SPDX

Looks good, I hadn't heard of SPDX. I'm taking this to the team. If there are no objections, I'd love to introduce this to the codebase.

Ping me if you decide to go this path and want help with the task

In principle the development team are on board. @gblanke02 is taking this to the InChI committee for additional feedback. @giallu, we're keeping you in the loop.

@gblanke02 is on board with using the SPDX license.
However, we were wondering how the SPDX license interacts with the copyright.
According to the docs (https://spdx.dev/learn/handling-license-info/)

SPDX IDs are intending to express information about licenses. Copyright notices ‐ statements about who owns the copyright in a file or project ‐ are outside the scope of SPDX short-form IDs. Therefore, you should not remove or modify existing copyright notices in files when adding an SPDX ID.

Therefore, the plan is as follows:

Include // SPDX-License-Identifier: MIT in source files.
Include copyright notice in source files: Copyright (c) 2024 IUPAC and InChI Trust (as per #70).
Remove https://github.com/IUPAC-InChI/InChI/blob/main/LICENSE?

I.e., the source files should start with the following lines
// SPDX-License-Identifier: MIT
Copyright (c) 2024 IUPAC and InChI Trust

Hi Jan,
Thanks for finding out how spdx can be included.
Let me cross check that approach with the trust to make sure that they share the idea of using spdx.
More to come
Gerd
Von: Jan C. Brammer @.>
Gesendet: Donnerstag, 12. Dezember 2024 09:30
An: IUPAC-InChI/InChI @.>
Cc: @.; Mention @.>
Betreff: Re: [IUPAC-InChI/InChI] Parametrize version and file header (Issue #2)
@gblanke02https://github.com/gblanke02 is on board with using the SPDX license.
However, we were wondering how the SPDX license interacts with the copyright.
According to the docs (https://spdx.dev/learn/handling-license-info/)
SPDX IDs are intending to express information about licenses. Copyright notices ‐ statements about who owns the copyright in a file or project ‐ are outside the scope of SPDX short-form IDs. Therefore, you should not remove or modify existing copyright notices in files when adding an SPDX ID.
Therefore, the plan is as follows:

Include // SPDX-License-Identifier: MIT in source files.
Include copyright notice in source files: Copyright (c) 2024 IUPAC and InChI Trust (as per #70https://github.com/IUPAC-InChI/InChI/issues/70).
Remove https://github.com/IUPAC-InChI/InChI/blob/main/LICENSE?

I.e., the source files should start with the following lines
// SPDX-License-Identifier: MIT
Copyright (c) 2024 IUPAC and InChI Trust
—
Reply to this email directly, view it on GitHubhttps://github.com/IUPAC-InChI/InChI/issues/2#issuecomment-2538180215, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AT3EDCJWTLZD3QEYHEF2AC32FFCSLAVCNFSM6AAAAABBRI5HN2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMZYGE4DAMRRGU.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

I.e., the source files should start with the following lines
// SPDX-License-Identifier: MIT
Copyright (c) 2024 IUPAC and InChI Trust

It seems to me the correct thing to do in your case, with the exception of sha.c/h where the situation is a bit more involved due to the additional restriction imposed by the original author.


RUM hosted collector clarification

Purpose of this pull request
See https://github.com/SumoLogic/sumologic-documentation/issues/1246
Select the type of change:

[ ] Minor Changes - Typos, formatting, slight revisions
[x] Update Content - Revisions and updating sections
[ ] New Content - New features, sections, pages, tutorials
[ ] Site and Tools - Updates, maintenance, and new packages for the site, Gatsby, React, etc

LGTM.
Quick question on the 5GB, 5 GB of ingest?

yes


XSUAA redirection after logging in do not work. "Uh oh. Something went amiss."

I've deployed the [episode 08] to my trial account. When I try the link I get the following screen after logging in.

The /oauth/authorize gets 500 internal server error:

The problem was the auth url is eu10.hana... but the deployed app runs on eu10-004.hana...
I've set the redirect-uris in xs-security.json and it now gets redirected after logging in.


Remove useless clippy hints and fix some issues following clippy lints

Signed-off-by: Yilin Chen<EMAIL_ADDRESS>
What have you changed? (mandatory)
I notice some clippy lints are actually useless. They can be removed now.
And we'd better follow clippy if there is no special reason. I also fix some of them.
What are the type of changes? (mandatory)

Engineering (engineering change which doesn't change any feature or fix any issue)

How has this PR been tested? (mandatory)
CI
Does this PR affect documentation (docs) or release note? (mandatory)
No
Does this PR affect tidb-ansible update? (mandatory)
No
Refer to a related PR or issue link (optional)
Benchmark result if necessary (optional)
Add a few positive/negative examples (optional)

@sticnarf CI failed

/merge


Reproduce the results

Thank you for the work.
I want to know how to reproduce the result in this report
I was unable to achieve the provided performance on LFW data (lfw.bin from InsightFace data zoo->MS1M-ArcFace)
For example, with the following model:

I obtained the results as follow:

lfw evaluation max accuracy: 0.998333. However, it should be 0.998667 as in the report.
Note that:

When I used lfw.bin (61.5 mb) provided in this repo release, the results will be the same as in the table
When I used lfw.bin (61.7 mb) provided in the InsightFace data zoo->MS1M-ArcFace, the result was lower as I mentioned before.

So, what are the differences between your provided lfw.bin  @leondgarse  and the corresponding file in InsightFace data zoo->MS1M-ArcFace?
Does it account for the difference when reproducing the results?

Ya, you are right on the results. The 0.998667 one is from InsightFace data zoo->ms1m-retinaface, and yes, it's testing result is a bit higher than those lfw.bin from other datsets... Here is my test results:
MODEL_PATH="./checkpoints/TT_r100_max_pool_E_prelu_dr04_lr_01_l2_5e4_adaface_emb512_sgd_m09_bs512_ms1m_64_only_margin_SG_scale_true_bias_false_random_100_basic_model_latest.h5"
DATASET_PATH="/datasets/ms1m-retinaface-t1"
python3 evals.py -m ${MODEL_PATH} -t ${DATASET_PATH}/lfw.bin ${DATASET_PATH}/cfp_fp.bin ${DATASET_PATH}/agedb_30.bin
# Evaluating lfw: 100%|███████████████████████████████████|  94/94 [00:47<00:00,  1.98it/s]
# >>>> lfw evaluation max accuracy: 0.998667, thresh: 0.240591, previous max accuracy: 0.000000
# >>>> Improved = 0.998667

# Evaluating cfp_fp: 100%|███████████████████████████████████|  110/110 [00:51<00:00,  2.15it/s]
# >>>> cfp_fp evaluation max accuracy: 0.992286, thresh: 0.181722, previous max accuracy: 0.000000
# >>>> Improved = 0.992286

# Evaluating agedb_30: 100%|███████████████████████████████████| 94/94 [00:43<00:00,  2.18it/s]
# >>>> agedb_30 evaluation max accuracy: 0.984333, thresh: 0.172596, previous max accuracy: 0.000000
# >>>> Improved = 0.984333

Source dataset
lfw max accuracy
cfp_fp max accuracy
agedb_30 max accuracy

MS1M-ArcFace
0.998333
0.990857
0.984500

faces_casia
0.998333
0.970143
0.984333

glint360k
0.998333
0.990857
0.984333

ms1m-retinaface
0.998667
0.992286
0.984333

Maybe just a difference in image encoding qulity when saving those bin file. You may just pick a same one comparing their accuracies.

I got it. Thank a lot 🙏

It helps alot. Tha


Running ciab on apple silicone (M1 Macs)

After spending some time trying to understand why ciab is not working on my Mac I figured out that Singlestoe cannot run on ARM arch.
For development and test flow there must be a solution or a workaround to solve it.
We want to keep our test flow isolated by using temporary containers dedicated for the tests and we dont want to use a real DB and manage the state just for the tests.
Will be great to understand if there is any way to run ciab on M1 macs, any other suggestions that do not require maintaining a cluster for tests or any ETA if there is one for this issue.

Hello, we have a good news.
With our 7.8.11 release, you can now run SingleStoreDB on M1 Macs. Provide feedback on this thread if you encounter any issue.
Make sure to pull the latest version when installing it:
docker run -i --init \
    --name singlestore-ciab \
    -e LICENSE_KEY=<YOUR_LICENSE_FROM_PORTAL.SINGLESTORE.COM> \
    -e ROOT_PASSWORD=<YOUR_DESIRED_DATABASE_ROOT_PASSWORD> \
    -p 3306:3306 -p 8080:8080 \
    singlestore/cluster-in-a-box:latest

Will close this issue unless someone re-opens with additional problems.

I tried to start an instance and received error
Latest errors from the database's tracelog: 02273679 2022-08-23 08:15:03.758   FAIL: Thread 115121: InitializeRepl: Failed to initialize replication subsystem because 'io_setup' system call failed with error 38 (Function not implemented). : Failed to connect to the database: process exited: exit status 255

Has someone been able to use the new docker image on M1 using testcontainers?

Not sure what you mean by testcontainers - but the new image does work on M1 in docker and rancher.

@carlsverre https://github.com/testcontainers/testcontainers-java
it works indeed on M1 but using this framework we still encounter same issue maybe its not related but wanted to know if someone was able to run it through testcontainers

@dborinsk can you switch over to our new image which you can find here along with specific docs for running in Docker on Apple Silicon (m1/m2 chips): https://github.com/singlestore-labs/singlestoredb-dev-image#how-to-run-the-docker-image-on-apple-silicon-m1m2-chips
Please give that a try first. If you are still having issues with that image and testcontainers please open an issue here: https://github.com/singlestore-labs/singlestoredb-dev-image/issues/new/choose
Thanks!

Thanks! I was missing the specific docker instructions. it works as a charm!
I created a gist with an example of a generic container for SingleStore using testcontainers if it might help anyone.
https://gist.github.com/dborinsk/f3977c5d834e0543fbb3538141e8e4e4

Glad it worked! And appreciate the testcontainers example, I'll add it to the docs for singlestoredb-dev-image.


Redirect after verification

Hello,
Nice package. Have a question.  After the user clicks the verification link that is email, they are automatically logged in. For just this once, it bypasses password authentication.  Ideally, this should never happen.  Would it be possible to make this a configurable behavior?  Or how could I disable this in favor of forcing the user to enter credentials?
Thanks,
Jay

I had the same issue.
@titleistfour have a look at this package:
https://github.com/jrean/laravel-user-verification

Thanks @jrean, I'm looking at your package now.


Support for string quantities

Pint supports strings as a method to create a new Quantity. Functions that use the ureg decorator already convert strings correctly into a quantity, but there are several functions in our packages that do not support it. I think it is a nice feature that makes user code much more readable and is easier to use. So I suggest, that all public interfaces support strings as input method.

can you provide an example?
do you mean to support something like the following
some_function(Q(3,"m"))
some_function("3m")

can you provide an example?
do you mean to support something like the following
some_function(Q(3,"m"))
some_function("3m")

yes, this is what I mean. If you have more than one Quantity parameter, the function call can look quite messy with all the Q_s and parenthesis inside:
MathematicalExpression("a*x + b", dict(a=Q_(3, "m/s"), b=Q_(24, "m")))

vs.
MathematicalExpression("a*x + b", dict(a="3m/s", b="24m"))

The second version looks much cleaner IMHO

True, I wonder if we can just add another call Q_(...) to convert every quantity-like input to quantities in these cases without too much overhead when it already is a quantity?

True, I wonder if we can just add another call Q_(...) to convert every quantity-like input to quantities in these cases without too much overhead when it already is a quantity?

That is what I have in mind too 😄

Another rather small benefit is, that the user doesn't have to import Q_ anymore. Yeah, it's really small, but I can remember scrolling back and forth in notebooks and scripts just because I forgot to import it right from the start.

calling Q_ again on an existing quantity seems to take around 5us so I think we can just use that in places where we are working with quantities


extract-i18n generating wrong source inside the xfl file when parsing empty elements

Command
extract-i18n
Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
We recently upgraded to v16.2.14 from v14 (couldn't update further as we need to fix some dependencies which don't support > v17) and now I discovered by chance that extract-i18n is producing an xlf which would break html once using a language different from the default one.
Debugging a bit, I found out that the parse of empty html elements (like <svg></svg> or ) is producing wrong closing tags picking up part of the text after the real closing tag. An example below:
this html

  <button
    i18n="add line button@myAddLineStringId"
  >
    Add line
    <svg cdsIcon="add" size="20" class="cds--btn__icon"></svg>
  </button>

is producing this entry in the xlf
<source> Add line <x id="START_TAG__SVG_SVG" ctype="x-_svg_svg" equiv-text="<svg cdsIcon="add" size="20" class="cds--btn__icon">"/><x id="CLOSE_TAG__SVG_SVG" ctype="x-_svg_svg" equiv-text="</button>
</di"/></source>

as you can see, when the translated xlf will take over the default language version, it will produce an svg closing tag </button></di which would then break the above html
A simple fix is to add a space inside the empty element, or move the closing tag in a new line, but this might collide with linter setup, so not a great temporary solution.

No response

Just found another example where instead the equivalent text for the closing tag is totally lost
<ng-container i18n="epro completion date time text@@studyConnect.formDetail.epro.completed">
  {{ label1 }} Completed:
  {{
    myObject.dateString
  }}
  ({{ label2 }} timezone)
</ng-container>

producing
<source> <x id="INTERPOLATION" equiv-text="{{ label1 }}"/> Completed: <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span class="font-weight-bold pad-half-left pad-half-x">"/><x id="INTERPOLATION_1" equiv-text="Object.dateString
            }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span"/> (<x id="INTERPOLATION_2" equiv-text="{{ label2 }}"/> timezone) </source>

and not only the closing tag is missing equiv-text, but the equivalent text of the variable inside the span got cut off.

Another case very similar to the first described is instead not showing the issue...i believe it's because it's formatted differently (the span, like the one in the minimal steps to reproduce, contains a few properties which are formatted one property per new line)


Error posting

Hello,
I ran this app on my iPhone 6 Plus and am getting an error each time I try to post something. I've set a username and password but can't seem to post anything. If this code modified to work with iOS 9.2? Thanks in advance for your help.

It sounds like you aren't already a registered Shacknews.com user? You can't just enter any username/password you want in the settings of the app. You must first register on the Shacknews.com website and then enter those credentials into the app to be able to post.