cranelift_jit: the JITModule::free_memory method should take &mut self

Currently, the free_memory method on JITModule takes self. This makes some sense, because the whole thing is then invalidated. However, it is preventing me from (easily) making a wrapper type that frees the memory on drop:
struct MyJIT(JITModule);

impl Drop for MyJit {
    fn drop(&mut self) {
        unsafe { self.0.free_memory() } // error! Can't move out of &mut self
    }
}

The above is simplified from what I'm actually trying to do because the above is obviously unsafe. I was trying to do this:
struct MyJIT(Arc<JITModule>);

impl Drop for MyJit {
    fn drop(&mut self) {
        if let Some(module) = self.0.get_mut() {
            unsafe { module.free_memory() }
        }
    }
}

where all functions that I give out would have a MyJIT, so that the memory automatically gets dropped once the last function that uses it would drop the memory.
I can work around this by swapping in a new JITModule, but that doesn't seem ideal. Since free_memory is already unsafe, I think it's alright to let it take &mut self and allow people to build safe abstractions over it.

To illustrate why the workaround is annoying: it requires creating a JITModule, which requires creating a JITBuilder, which requires a function for libcalls and can fail. So the final function becomes something like this:
#[derive(Clone)]
pub struct ModuleData(Arc<JITModule>);

impl Drop for ModuleData {
    fn drop(&mut self) {
        // get_mut returns None if we are not the last Arc, so the JITModule
        // shouldn't be dropped yet.
        let Some(module) = Arc::get_mut(&mut self.0) else {
            return;
        };

        // If this fails we'd rather just return and leak some memory than
        // panic.
        let Ok(builder) =
            JITBuilder::new(cranelift_module::default_libcall_names())
        else {
            return;
        };

        // Swap in an empty JITModule so that we can take ownership
        // so that we can call `free_memory` on the old one.
        // The new one hasn't allocated anything so it will just get dropped
        // normally.
        let mut other = JITModule::new(builder);
        std::mem::swap(&mut other, module);

        // SAFETY: We only give out functions that hold a ModuleData and
        // therefore an Arc to this module. By `get_mut`, we know that we are
        // the last Arc to this memory and hence it is safe to free its
        // memory. New Arcs cannot have been created in the meantime because
        // that requires access to the last Arc, which we know that we have.
        unsafe { other.free_memory() };
    }
}

The canonical solution for this is wrapping JITModule in ManuallyDrop and then doing something like
let Some(module) = Arc::get_mut(&mut self.0) else {
    return;
};

unsafe {
    let module = ManuallyDrop::take(module);
    module.free_memory();
}

In this case given that free_memory is unsafe anyway and it is already possible for pointers to outlive the jit module, I think accepting &mut self in free_memory is fine.

Oh that sounds reasonable! Thanks!

I've got it working. Feel free to close this, though it might still be useful. I'll leave that decision up to you. If you want this I'd be happy to attempt a PR.


django-tastypie REST API for django-polls

Extension with django-tastypie. There is a sample client application at https://github.com/miraculixx/poll. The specs for this PR and the client API by @miraculixx, implementation mostly by @armicron. Specs included below for transparency.
Expected behavior

Polls can be added through the admin. Each poll has 1-n options that can be voted for.
Votes can be given through REST API. Each poll can define: require logged in user or anonymous, allow multiple votes by same user or restrict to one user/one vote.
Poll results (statistics) can be retrieved through REST API

Tasks

Implement the poll app for Django 1.6 (see details below)
Add the tastypie API
Implement the statistics calculation as per below description
Add unit tests for the API client

Implemenation notes
Basics

fork https://github.com/miraculixx/django-polls to get a head start
create your own branch
update the app to work for Django 1.6
add a tastypie API
contribute back using pull requests on the above repository

Model extension

The Poll model must be extended as follows:

a text field reference (unique, char20), which is to hold a client-specified reference. The default is a
uuid4().
a start_votes timestamp  // earliest time votes get accepted
a end_votes timestamp   // latest time votes get accpeted
a closed boolean // default = False. once closed is set, no more votes are accepted
important the Poll model should be used to cast votes => Poll.vote(choice, user). This will check that start_votes, end_votes and closed flags are satisfied. Raise an PollNotOpen (current time < start_votes) or PollClosed (end_votes < current time, closed==True) exception accordingly.

The Vote model must be extended as follows:

a text field comment (unique, char144)
a datetime timestamp
a data field for JSON storage of arbitrary data (JSONField).

Statistics calculation

The statistics calculated will, for now, be limitted to data required for histogram graphs (i.e. for each choice there is one statistics: the percentage of votes for this choice)
Make sure the poll model has appropriate indexes to speed up statistics calculation
For each poll, calculate

the total number of votes for the poll nV (i.e. poll.votes.count())
for each choice the number of votes nC (i.e. for each choice in poll, choice.votes.count())
=> percentage for each choice pC = nC / nV  (floating point)

allow for an option to set "unique users only" => only one vote per user.

API
* Api("v1/poll")
* POST /poll/   -- create a new poll, shall allow to post choices in the same API call
* POST /choice/ -- add a choice to an existing poll
* POST /vote/<pk>/ -- vote on poll with pk
* PUT /choice/<pk>/ -- update choice data
* PUT /poll/<pk>/ -- update poll data
* GET /poll/<pk>/ -- retrieve the poll information, including choice details
* GET /result/<pk>/ -- retrieve the statistics on the poll. This shall return a JSON formatted like so. Note the actual statistics calculation shall be implemented in `poll.service.stats` (later on, this will be externalized into a batch job).

results
{
   "stats": {
       "values": [ n, ... ], // for each choice the percentage value of responses as decimal (0.1 = 10%, 0.2=20% etc.),
       "labels": [ "text", ... ], // for each choice the choice label text
       "users": #, // count of unique users,
       "votes": #, // len of values
   },
   "poll" : <the poll uri>,
   "resource" : <the result uri>
}

an impressive pull request, thanks for your efforts in advance! - I will have closer look tomorrow :)

first of all please excuse the delay of my response, it took me a lot more time than I expected to go through all your changes.
In general I will merge your pull request soon, but I wanted to let you know about some improvements or wishes of mine I had been thinking about. If it's possible I would like to hear your opinion first, before it feels like I do modify all of your code after merging. I also would assign the task to work on those to myself.
My thoughts on possible improvements:

if there is a way then turn the api or the tastypie dependency to optional (some might not need it and there is no way to decide on this without patching or not using the urls.py)
try to split the features of the model in multiple classes or abstract models to allow subsets of the current feature set or to be modular at least (compare to https://github.com/byteweaver/django-posts/blob/master/posts/models.)

cheers, noxan

first of all please excuse the delay of my response, it took me a lot more time than I expected to go through all your changes.

no need to apologize. things take time...

If it's possible I would like to hear your opinion first

sure, thanks for asking.

if there is a way then turn the api or the tastypie dependency to optional

not using the urls.py should essentially disable/not load it, but I haven't tested this. The better way would to be put the api in its own app, say 'polls_api' (keep it in the same repository, just another Django app alongside polls) so it is only loaded if listed in INSTALLED_APPS. In either case tastypie shouldn't be required.

try to split the features of the model in multiple classes or abstract models to allow subsets of the current feature set or to be modular at least

Which features would you want to split off? Personally I like the simplicity of the model right now - the few extensions there are to enable a sensible API in a public facing poll (e.g. anonymous or not).

First I am about to cherry pick a few of your commits in order to release a django 1.6 compatible version. Your idea regarding the urls.py sounds perfect, I will try to get it working based on your source code.
I am still just struggling with all the additional features, I would like to integrate all of them. I would like to especially because you already put a lot of effort into it. But on the other side I would like to keep the application as simple, generic and extendable as possible. Maybe I find a way to split it the feature / the model into different mixins like in django-posts (https://github.com/byteweaver/django-posts/blob/master/posts/models.py)
I will keep you updated :)


jsuite not working with angular

in below code i am binding dropdown, ondropdown change i am taking value and updating it into textbox, if I use this key word code won't work and also I am not able to pass the value to object.
`

<div #dropProjectMaster>

<input type="text" placeholder="Description" #ProjectDescription required name="ProjectDescription" [(ngModel)]="model.ProjectDescription"
class="form-control form-control-sm">

@ViewChild('dropProjectMaster') dropProjectMaster: ElementRef;
initiateProjectMaster(){
this.buildRequestService.getProjectMaster().subscribe((response) => {
jSuiteProjectMaster = jsuites.dropdown(
this.dropProjectMaster.nativeElement,
{
data: JSON.parse(response),
autocomplete: true,
placeholder: 'Select Project ID',
onchange: this.updateProjectDescription,
}
);
}, error => {
console.log(error);
})
}
updateProjectDescription(){
//@ts-ignore
var pmValue = jSuiteProjectMaster.getValue();
this.model.ProjectDescription = pmValue // this line is not working, even if I add any typescript code it's not working with in jsuite code & jspreedsheet code to
}`

We are releasing the types in the next few days.


add yq to base-step image

How to categorize this PR?

/area testing
/kind test
What this PR does / why we need it:
Add yq to the base-step image to be able to process yaml input.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

NONE

works as well with existing tooling


Add SubjectSet completeness metrics

closes #3450
TODO

[ ] Add the flipper feature flag subject_set_completeness_from_read_replica to read the counts from the replica DB

This PR adds the ability to calculate the completeness of a subject set in the context of a workflow and record these completeness metrics on the SubjectSet resource in a json blob that is keyed by the workflow id.
As a subject set can belong to many workflows in a project we need to record the completeness metrics for the SubjectSet in the context of these workflows. Specifically we need to calculate the ratio of the number of retired subjects in a set divided by the the number of subjects in a set, formula completeness = total_retired_subjects_for_a_workflow_in_a_set / total_subjects_in_a_set.
Finally we clamp the completeness metric to a sensible range, 0.0 (0%) to 1.0 (100%) to ensure we display sensible numbers and avoid issues with incorrect numerators and denominators in the calculation (described in #2155)
These completeness metrics  stores this per workflow metric a subject_set.completeness jsonb column in the database and uses the atomic jsonb update operators (available since our upgrade to pg v11) to avoid clobbering data already in the jsonb column and/or by concurrent updates.
Review checklist

[ ] First, the most important one: is this PR small enough that you can actually review it? Feel free to just reject a branch if the changes are hard to review due to the length of the diff.
[ ] If there are any migrations, will they the previous version of the app work correctly after they've been run (e.g. the don't remove columns still known about by ActiveRecord).
[ ] If anything changed with regards to the public API, are those changes also documented in the apiary.apib file?
[ ] Are all the changes covered by tests? Think about any possible edge cases that might be left untested.

Everything seems fine. I had a couple minor questions about syntax, nothing deal breaking.
One thing: how does this work with un-retirement? Do we need to call this SubjectSetCompletenessWorker in this case as well?

Good catch about unretirement events - i'll update the PR to handle that event :)


Remove ability to disable features?

Should the ability to enable/disable features.
The disabling of features speed up application launch but not enough as far as i can tell to keep the ability to enable/disable features.
Note:  i do not have a windows 10 mobile device to check with.

ability to enable/disable features has bben removed from the app in 2.3.3


sun: Convert floating-point audio to 32-bit LPCM instead of 16-bit LPCM before passing it to kernel

The original implementation converted floats to 16-bit LPCM because that's what the sndio backend did, but it might be more desirable to leverage the NetBSD and illumos kernels' support for 32-bit LPCM instead.

Thanks!


ensure mvvm assemblies are loaded

also caches metadataReferences  statically instead of re gen-ing on every test

ok. finally got it working. feel free to squash on merge

Thank you @SimonCropp. Still wonder why it worked on my machine, in CI, and not on yours. Would be interesting to see here what dev environment you have, OS and IDE.
Anyway, moving the refs to a static member and explicitly loading the assembly is a great thing, thank you!

i assume you are not using the r# test runner?

No, not on this machine. I have a vanilla VS installation.


How to handle Automat-robokop?

Automat ingests many sources.  For each source it stands up an API.  e.g. there is automat-ctd, automat-hmdb, etc.
Then, a subset of these are merged into robokop, which is also placed into automat.  Strider finds both ctd and robokop in smartapi, and queries both, leading to dupe edges and inefficiency.
Handling https://github.com/ranking-agent/strider/issues/394 will solve the problem of duplicate edges, but do we want to have some special handling to not call robokop or other aggregate graphs in automat?

We decided that this is not something we should worry about at this time....  It's just computers


Cilium needs ip6tables rules to route IPv6 packets

General Information
Cilium version: 1.3.0
Kernel version: 4.19.5
Operating System: Centos 7.5
Orchestration system: Kubernetes 1.12.2
Summary
On dual IPv4/IPv6 network stack hosts, Cilium does not properly route packets to pods that initiate connections to IPv6 addresses. Recursive DNS queries that attempt to resolve AAAA addresses to nameservers, for example, get lost when Cilium hands over the request to the host OS network stack.  Running cilium monitor in this instance results in:
<- endpoint 8330 flow 0x116bfb1d identity 52799->0 state new ifindex 0: [f00d::a2a:4100:0:208a]:37470 -> [2600:9000:5303:e800::1]:53 udp
-> stack flow 0x116bfb1d identity 52799->2 state new ifindex 0: [f00d::a2a:4100:0:208a]:37470 -> [2600:9000:5303:e800::1]:53 udp

No packets are returned and the request times-out on the pod, while the host running the pod can reach the IPv6 address via dig, curl, and ping.
IPv6 forwarding is enabled on the host.
$ sudo sysctl -a | grep net.ipv6.conf | grep forward

net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.cilium_health.forwarding = 1
net.ipv6.conf.cilium_host.forwarding = 1
net.ipv6.conf.cilium_net.forwarding = 1
net.ipv6.conf.cilium_vxlan.forwarding = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.docker0.forwarding = 1

But cilium does not yet install ip6table rules to route traffic to pods through IPv6 interfaces.
$ sudo ip6tables-save |grep cilium

$ sudo iptables-save |grep cilium
-A POSTROUTING -m comment --comment "cilium-feeder: CILIUM_POST" -j CILIUM_POST
-A CILIUM_POST ! -s <IP_ADDRESS>/32 ! -d <IP_ADDRESS>/24 -o cilium_host -m comment --comment "cilium host->cluster masquerade" -j SNAT --to-source <IP_ADDRESS>
-A CILIUM_POST -s <IP_ADDRESS>/24 -o cilium_host -m comment --comment "cilium hostport loopback masquerade" -j SNAT --to-source <IP_ADDRESS>
-A CILIUM_POST -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 ! -o cilium_+ -m comment --comment "cilium masquerade non-cluster" -j MASQUERADE
-A POSTROUTING -m comment --comment "cilium-feeder: CILIUM_POST_mangle" -j CILIUM_POST_mangle
-A CILIUM_POST_mangle -o cilium_host -m comment --comment "cilium: clear masq bit for pkts to cilium_host" -j MARK --set-xmark 0x0/0x4000
-A FORWARD -m comment --comment "cilium-feeder: CILIUM_FORWARD" -j CILIUM_FORWARD
-A OUTPUT -m comment --comment "cilium-feeder: CILIUM_OUTPUT" -j CILIUM_OUTPUT
-A CILIUM_FORWARD -o cilium_host -m comment --comment "cilium: any->cluster on cilium_host forward accept" -j ACCEPT
-A CILIUM_FORWARD -s <IP_ADDRESS>/24 -m comment --comment "cilium: cluster->any forward accept" -j ACCEPT
-A CILIUM_OUTPUT -m mark ! --mark 0xa00/0xe00 -m comment --comment "cilium: host->any mark as from host" -j MARK --set-xmark 0xc00/0xf00

How to reproduce the issue

Enable IPv4 and IPv6 network on host
Deploy cilium on Kubernetes
Start interactive shell on a pod and try to get a response from the commands:

dig AAAA google.com @2606:4700:4700::1111

or
curl -v http://[2607:f8b0:400a:804::200e]

Temporary Workaround
After a discussing this issue with @tgraf and @aanm on Slack, the following temporary workaround was established.

Install an ip6tables MASQUERADE rule for IPv6 traffic leaving the node.

ip6tables -t nat -A POSTROUTING ! -o cilium_+ -s f00d::/16 -j MASQUERADE

On CentOS/RHEL/Fedora systems remove the default REJECT rules on the INPUT and FORWARD chains.

ip6tables -D INPUT -j REJECT --reject-with icmp6-adm-prohibited
ip6tables -D FORWARD -j REJECT --reject-with icmp6-adm-prohibited

On CentOS/RHEL/Fedora systems, Reverse Path Forwarding is used to prevent packets that arrived through one interface from leaving through a different interface. Reverse Path Forwarding is enabled by default via the /etc/firewalld/firewalld.conf property 'IPv6_rpfilter=yes' and the filter will need to be disabled via 'IPv6_rpfilter=no' to allow asymmetric routing.

A more comprehensive ruleset similar to IPv4 is still needed.

still alive

[root@nrp-01 ~]# ip6tables -D INPUT -j REJECT --reject-with icmp6-adm-prohibited
ip6tables: No chain/target/match by that name.
[root@nrp-01 ~]# ip6tables -D FORWARD -j REJECT --reject-with icmp6-adm-prohibited
ip6tables: No chain/target/match by that name.

Any updates on this? Trying cilium first time, and was hoping to get ipv6 working..

Is this still broken in the new release?

Any estimate on fixing this?

Finally still not fixed at 1.6.5 required to add rule on all nodes with cilium for access to cluster
In code there is only exist iptables post routing execution
https://github.com/cilium/cilium/blob/master/pkg/datapath/iptables/iptables.go#L830-L852

Looks like IPv6 masquerade still broken on 1.8.0 using BPF masquerade mode.

Looks like IPv6 masquerade still broken on 1.8.0 even when using BPF masquerade mode.

The upcoming v1.8.0 won't support BPF masquerading for IPv6. The motivation for not adding it is that we assume that pod IPv6 addrs are globally routable.

That's unfortunate.  I never saw a single Kubernetes installation document that advices to use globally routable addr for podCIDR.
And it make simple deployment far more complex, as you are now required to use BGP or something else to advertise each node podCIDR to the upstream routers.

@Jean-Daniel Then what's the motivation to use IPv6 for pods? Underlying network?

Being able to talk to IPV6-only sites outside of k8s

@Jean-Daniel Then what's the motivation to use IPv6 for pods? Underlying network?

Maybe there is something I miss, but actually I have a couple of pods I want to expose though IPv4 and IPv6 services (this is a dual stack Kubernetes). My Services have globally routable addresses that are advertises using MetalLB to the router.
Everything is working fine, but if I understand correctly, IPv6 services requires that underlying pods also have an IPv6 address. Of course, as my pods are dual stack, they can use the IPv4 to access external network when needed. I'm just trying to understand why something as convenient as masquerading pods address should be reserved to IPv4. If there is a use case for IPv4, why doesn't it apply to IPv6 too (especially as most if not all Kubernetes install instructions are recommending using private address for both IPv4 and IPv6 pods CIDR).

Being able to talk to IPV6-only sites outside of k8s

@dimm0 Have you tried using NAT46?

I have some dual-stack nodes in my cluster, with routable IPV4 and IPV6 IPs. When I deploy an ingress on those nodes, I can serve my apps to IPV4 clients without doing anything additional. But I can not do that to IPV6 clients. In my understanding this kind of IPV6 support is broken.
No, I haven't tried NAT46

Also pods on those nodes can not access external IPV6 addresses

The reason this has not been implemented yet is not because the idea or feature is being rejected. The work has simply not been done by anyone. If you want this functionality, open a PR to add the functionality.
If you don't want to add it natively to Cilium, instructing nodes to perform masquerading is not that hard, simply add a rule like this to each of your nodes:
ip6tables -t nat -A POSTROUTING ! -o cilium_+ -s f00d::/16 -j MASQUERADE

This can be done in a script, an init container, with a DaemonSet, among many other ways.

If you want this functionality, open a PR to add the functionality.

Adding a single iptables rule to other rules looks like a 5-minute work for somebody having the dev environment and testing set up already, and I don't understand why the critical part of IPV6 support has not been implemented for a year and half. For me figuring out the whole dev environment and studying the code to find where to add it to will take way more time than actually adding the change.


enhance widget placement options

as listed on https://vue-responsive-dash.netlify.app/api/#props-3 there are many options to control the behaviour of widgets.
Would be great to get control of these settings through the widgets options.
control if widgets can be resized and moved:

draggable
resizable
locked

control of the dimensions of the widget (some widget will require fixed dimensions, others are flexible)

width

maxWidth

minWidth

height

maxHeight

minHeight

looks like
resources/js/components/Grid.vue
needs to be enhanced and the properties of course.

I suggest you do an implementation of the size based on the Tailwind sizes.
Responsive changes are made by selecting the size CSS classes according to Tailwind's breakpoints.

The ability to drag/drop is no longer supported on the latest version due that all grid packages for vue3 sucks... the one that was being used previously no longer with vue3 so I dropped this feature all together


AWS/EC2: Make a public ami compatible with t2.nano

@fabienvauchelles I found that your ami is compatible with t1.micro only (which costs 0.02$/hour - too pricey). I tried to use it with a t2.nano (which costs 0.0063$/hour - much cheaper) but the "Virtualization type" is not compatible (because t2.nano requires hvm instead of paravirtual).
Could you make an ami for t2.nano?
PS: I followed your guide for DO to create an ami worked for t2.nano. But I don't know how to make "Scrapoxy use HTTP ping instead of a TCP ping." Please advice.

Hello @nvg58,
You can update your configuration with t2.nano and this ami:
http://docs.scrapoxy.io/en/master/standard/providers/awsec2/index.html#step-5-update-configuration
Thx.

Thx you so much 💯


Install sysbox without removing existing Docker containers

To prevent running "docker rm $(docker ps -a -q) -f" while installing sysbox, I've added network config to /etc/docker/daemon.json (as here).
Then I run "sudo apt-get install ./sysbox-ce_0.6.1-0.linux_amd64.deb", but it still show error:
The Sysbox installer requires a docker service restart to configure network parameters, but it cannot proceed due to existing Docker containers. Please remove them as indicated below and re-launch the installation process. Refer to Sysbox installation documentation for details.
        "docker rm $(docker ps -a -q) -f"

I have a lot of container that can not be removed, backing up all of them to images is not a good way.
How can I install sysbox without removing existing Docker containers.
Thanks for help

Hi @bluelul, thanks for reaching out.

How can I install sysbox without removing existing Docker containers.

I don't know if this is doable.
The Sysbox package installer checks that no containers are running because it wants to restart Docker. And it wants to restart Docker because it's adjusting the Docker Engine's network config to prevent overlapping IPs in the Docker container subnets between the outer Docker and a nested Docker Engine (since folks often use Sysbox for Docker-in-Docker).
You can always remove that check in the Sysbox packager code (links above) and rebuild the package by typing make sysbox-ce <target-linux-distro> in the sysbox-pkgr directory (see Makefile here) and then install it as usual. But if you remove that check you'll likely face networking issues with the nested containers.

Hi @ctalledo, thanks for your detailed reply.
After reading sysbox-pkgr in the links you provided, I've found that the sysbox-ce.config file uses dockerCfgFile variable without declaring it, not like sysbox-ce.postinst and sysbox-ce.postrm:
# Dockerd default configuration dir/file.
dockerCfgDir="/etc/docker"
dockerCfgFile="${dockerCfgDir}/daemon.json"

I think that's why the trick I mentioned earlier didn't work.

Hi @ctalledo, thanks for your detailed reply.
After reading sysbox-pkgr in the links you provided, I've found that the sysbox-ce.config file uses dockerCfgFile variable without declaring it, not like sysbox-ce.postinst and sysbox-ce.postrm:
# Dockerd default configuration dir/file.
dockerCfgDir="/etc/docker"
dockerCfgFile="${dockerCfgDir}/daemon.json"

I think that's why the trick I mentioned earlier didn't work.

Thank you for pointing this out. I had the same issue.
My workaround was setting this variable prior the installation process:
dockerCfgFile=/etc/docker/daemon.json apt install ./sysbox-ce_0.6.2-0.linux_amd64.deb
TBH, this has to be fixed in the package scripts.

Hi folks, thanks for reporting this the missing variable in sysbox-ce.config was just fixed via this PR: https://github.com/nestybox/sysbox-pkgr/pull/118
I guess we can close this ticket now?


Spork Errors

Building the ideal_spork I came across an interesting error block.
command
python -m ideal_spork --dumpall --force
Errors:
Ideal Spork
20200507 21:28:46 - ERROR - upduino_v2    main - line 32 - ()
20200507 21:28:46 - ERROR -     Resource SB_HFOSC#0 does not exist        main - line 33 - ()
20200507 21:28:46 - ERROR - de10_lite     main - line 32 - ()
20200507 21:28:46 - ERROR -     Resource clk50#0 does not exist           main - line 33 - ()
20200507 21:28:46 - ERROR - tinyfpga_ax1          main - line 32 - ()
20200507 21:28:46 - ERROR -     Can't instantiate abstract class TinyFPGAAX1Platform with abstract methods resources      main - line 33 - ()
20200507 21:28:46 - ERROR - tinyfpga_ax2          main - line 32 - ()
20200507 21:28:46 - ERROR -     Can't instantiate abstract class TinyFPGAAX2Platform with abstract methods resources      main - line 33 - ()
20200507 21:28:46 - ERROR - zturn_lite_z010       main - line 32 - ()
20200507 21:28:46 - ERROR -     Platform 'ZTurnLiteZ010Platform' does not define a default clock          main - line 33 - ()
20200507 21:28:46 - ERROR - upduino_v1    main - line 32 - ()
20200507 21:28:46 - ERROR -     Resource SB_HFOSC#0 does not exist        main - line 33 - ()
20200507 21:28:46 - ERROR - zturn_lite_z007s      main - line 32 - ()
20200507 21:28:46 - ERROR -     Platform 'ZTurnLiteZ007SPlatform' does not define a default clock         main - line 33 - ()
Patch can be built if needed.

So ZTurnLiteZ010Platform and ZTurnLiteZ007SPlatform don't really have a useful default clock. There is no oscillator connected to any of the fpga pins.
As clock source usually one of the clocks coming from the ARM side is used (one of the FCLKs). The main problem with adding them as a default clock is, that their clock frequency is programmable and thus generally unknown without extra input from the user.
I think the default is 100 MHz, but I think I would rather have users specify the frequency they are using explicitly to avoid hard to find bugs.

Indeed , none of the above do.
When I define the resources of the tinyfpga_a* they do the same thing.
20200507 22:23:15 - ERROR - tinyfpga_ax1          main - line 45 - ()
20200507 22:23:15 - ERROR -     Platform 'TinyFPGAAX1Platform' does not define a default clock    main - line 46 - ()
20200507 22:23:15 - ERROR - tinyfpga_ax2          main - line 45 - ()
20200507 22:23:15 - ERROR -     Platform 'TinyFPGAAX2Platform' does not define a default clock    main - line 46 - ()
Just wanted to point out a weridness.

see https://github.com/nmigen/nmigen-boards/pull/62

All of the other errors other than the ones fixed in #62 are caused by your code not accounting for the fact that a default clock or its frequency might be missing.

interestingly , with the boards that have an internal clock just asking for the default_clk_frequency attribute causes the resource lookup to fail.
20200508 15:23:18 - ERROR - upduino_v1    main - line 53 - ()
20200508 15:23:18 - ERROR -     Resource SB_HFOSC#0 does not exist        main - line 54 - ()
Traceback (most recent call last):
File "/opt/FPGA/ideal-spork/ideal_spork/main.py", line 47, in
devices = map_devices(bi)
File "/opt/FPGA/ideal-spork/ideal_spork/builder/map_board.py", line 100, in map_devices
clock = check_clock(board_instance)
File "/opt/FPGA/ideal-spork/ideal_spork/builder/map_board.py", line 65, in check_clock
if hasattr(board_instance,'default_clk_frequency'):
File "/home/zignig/.local/lib/python3.6/site-packages/nmigen-0.2-py3.6.egg/nmigen/build/plat.py", line 44, in default_clk_frequency
constraint = self.default_clk_constraint
File "/home/zignig/.local/lib/python3.6/site-packages/nmigen-0.2-py3.6.egg/nmigen/build/plat.py", line 40, in default_clk_constraint
return self.lookup(self.default_clk).clock
File "/home/zignig/.local/lib/python3.6/site-packages/nmigen-0.2-py3.6.egg/nmigen/build/res.py", line 58, in lookup
.format(name, number))
nmigen.build.res.ResourceError: Resource SB_HFOSC#0 does not exist


Runtime changes to allocate implicit kernel arguments.

Appended the implicit kernel argument buffer in the argument area. This buffer (48-bytes) appears at the end of the user argument area. The hostcall services can utilize this area.
This change should go into the runtime mainline once the compiler enables the implicit kernel argument for HIP.

@cdevadas Is it intended that this change is only going to apply when using hip-clang compiler? or does it also need to apply when using hcc?

@mangupta that's the main reason why this PR is still a draft. The current change will work only with hip-clang, and we should add changes that work with hcc. Also, we should have tests making sure the change works as expected in both cases.

closing this pull request


New version: OctopusDeploy.Tentacle version 6.1.1327

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.0 schema?

Microsoft Reviewers: Open in CodeFlow

@ImJoakim might want to close and open this.

Closed the wrong branch 😆


Jack keeps sending last MIDI messages

I am trying to send MIDI messages using jackclient-python and I am seeing the issue that JACK repeats outgoing messages. I've managed to break this down to this minimal example:
import jack

cl = jack.Client('Test')
mo = cl.midi_outports.register('p2')
sent = False

@cl.set_process_callback
def process(frames):
    global sent
    if not sent:
        mo.write_midi_event(1, b'\x80\x2f\x32')
        mo.write_midi_event(2, b'\x80\x2f\x33')
        print("Sent!")
        sent = True

with cl:
    input()

The write_midi_event code is indeed only called once, but when I attach a MIDI analyzer (midisnoop in my case) I see that the two messages are rapidly repeated:

Am I doing something wrong here in the usage of the library?

Of course I find out about clear_buffer five minutes after posting this :)


Bump provider-kairos to track v2.0.0-alpha3 with a tag of v2.0.0-alpha3

provider-kairos needs to be tagged with v2.0.0-alpha3 and tracking the kairos v2.0.0-alpha3 release

[ ] Bump go.mod
[ ] Bump CORE_VERSION
[ ] Rework functions to use the new kairos-sdk
[x] Bump package repository - Done, automated

https://github.com/kairos-io/provider-kairos/pull/299


Adding a new FAQ

Hey @jckarter , I did exactly what you asked me in this new repo.
Please check.

@krememek What do you think? You expressed concern about redundant info in a similar pull request; do you think this warrants being in the FAQ?

Thank you @KrishMunot, by the way.

The www/FAQ.rst predates when we had a Swift.org website.  I honestly think the entire www directory probably just needs to be deleted, and its content moved (if appropriate) to Swift.org.  I'd rather keep the community content there.  Thank you, however, for suggesting this.


Error in launch file using <ros_gz_bridge>

Environment

OS Version:  Ubuntu 24.04
Source or binary build? Source

Description
We might have broken something since #628 . If I run this launch file (saved as ros_gz_bridge.launch:
<launch>
  <ros_gz_bridge
    bridge_name="ros_gz_bridge"
    config_file="/home/caguero/ros_gz_ws/src/ros_gz/ros_gz_bridge/test/config/full.yaml"/>
</launch>

with:
ros2 launch ros_gz_bridge ros_gz_bridge.launch

I'm getting this error message:
[ERROR] [launch]: Caught exception in launch (see debug for traceback): value='False' is not an instance of <class 'bool'>

@Amronos, could you try this on your end to confirm please?

@Amronos, could you try this on your end to confirm please?

Does occur on my end too.


Enable dependabot version updates in relavant projects

Enable dependabot version udpate mechanism to create PRs for relevant projects. This will help us keep up with latest versions and avoid security issues via third party dependencies

Most done. Update others as found


checkpoint writes should be checked for errors

Original author: Thomas Quinn (@trquinn)
Original issue: https://charm.cs.illinois.edu/redmine/issues/768

In  CkCheckpointMgr::Checkpoint(), the writes and closes don't get checked for errors.  I propose that at least the closes should be.  The opens are checked in openCheckpointFile().  Checking writes would mean changing the PUP::toDisk::bytes() method.

Original date: 2015-07-16 18:50:42

This may need some discussion, since we need to decide what it should do in response to various errors. We don't want to create a situation where a transient FS error kills a job that would otherwise have continued to run successfully.

Original author: Xiang Ni
Original date: 2015-07-22 03:33:20

If errors happen during write and file close, should we just ignore the current checkpoint and let application back to execution? We will wait for the next checkpoint to try again.

Original author: Thomas Quinn (@trquinn)
Original date: 2015-07-22 05:35:21

Allowing the application to continue on makes sense.  However, the application should be able to know that something has gone wrong, and that the recent checkpoint is garbage.  Perhaps the callback should have an argument that can indicate success/failure?

Original author: Jim Phillips (@jcphill)
Original date: 2015-07-22 16:59:10

It depends what the error is.  Most transient errors can be retried for some number of times.

Original author: Thomas Quinn (@trquinn)
Original date: 2015-07-22 17:33:18

The CmiFwrite() and CmiFclose() already catch "EINTR" and retry, which is what Lustre throws when it wants you to try again.  The ones that are left are "EAGAIN" and "EPIPE" (not relevant, I think) "EBADF", "EFAULT", "EFBIG", EINVAL, (all programming errors), "EIO" ("Disk On Fire" error; I think it would be a really good idea to kill the program on this one), and "ENOSPC" (Probably kill the program on this one?).

Original author: Jim Phillips (@jcphill)
Original date: 2015-07-23 01:52:38

There is also the standard short write (fewer bytes written than requested) that can also be retried.

Original author: Jim Phillips (@jcphill)
Original date: 2015-07-23 01:55:44

Also, it looks like NAMD has come across ENOMEM at some point, judging from Output.C:
00083 void NAMD_write(int fd, const char *buf, size_t count, const char *errmsg="NAMD_write64") {
00084   double firsttime = 0.;
00085   while ( count ) {
00086 #if defined(WIN32) && !defined(__CYGWIN__)
00087     long retval = _write(fd,buf,count);
00088 #else
00089     ssize_t retval = write(fd,buf,count);
00090 #endif
00091     if ( retval < 0 && errno == EINTR ) retval = 0;
00092     if ( retval < 0 && errno == ENOMEM ) {
00093       if ( firsttime == 0. ) firsttime = CmiWallTimer();
00094       if ( (CmiWallTimer() - firsttime) < 300. ) retval = 0;
00095     }
00096     if ( retval < 0 ) NAMD_err(errmsg);
00097     if ( retval > count ) NAMD_bug("extra bytes written in NAMD_write64()");
00098     buf += retval;
00099     count -= retval;
00100   }
00101   if ( firsttime != 0. ) {
00102     iout << iWARN << errmsg << ": NAMD_write64() retried for " << (CmiWallTimer() - firsttime) << " seconds.\n" << endi;
00103   }
00104 }
00105

Original author: Xiang Ni
Original date: 2015-07-27 16:20:16

I pushed a change to gerrit. Now we provide an extra interface if users want to know if checkpoint is complete or not. I'm still debating whether to kill the job in the runtime system or not. Or maybe we should also tell the users what kind of errors have happened?
Tom, I can't add you as a reviewer in gerrit, it says "Tom Quinn <trq`astro.washington.edu> does not identify a registered user or group". Do you have another account?

Original author: Xiang Ni
Original date: 2015-09-22 20:47:50

Based on the discussion during core meeting:

Allow user to choose the tolerance of failures during checkpointing: "can fail", "must succeed".
If "can fail", RTS just returns "1" or "0" informing user if checkpoint is successful or not.
If "must succeed", RTS prints all the error messages during checkpoint writing in addition to returning the flag (indicating checkpoint fails or not) and user decide whether to abort the program or not.

Original author: Jim Phillips (@jcphill)
Original date: 2015-09-23 12:54:39

I think Xiang's note is a mix of the initial and final proposals.  Since the caller is required to provide a callback there is no reason that the checkpoint library needs to abort internally.  The simplest options is for the caller to provide a "verbose errors" flag to cause (a histogram of?) fatal errors to be printed on stderr for the user to diagnose.  Non-fatal errors (e.g., interrupted system call) should of course be re-tried internally to the output routines on each processor.  The callback will indicate if the checkpoint succeeded or not, and the caller can decide to abort, retry immediately, or retry later in the run.  A typical use case might be that after two failed checkpoints in a row the caller enables verbose errors for the next checkpoint and exits if it also fails, but this does not need to be enforced.
Perhaps three modes would simplify the typical use case:
"hide errors" - just returns success or failure
"print errors" - print errors to stderr and return success or failure
"die on error" (default) - print errors to stderr and exit on failure

Original date: 2015-10-20 20:08:54

~~https://charm.cs.illinois.edu/gerrit/758~~ https://github.com/UIUC-PPL/charm/commit/b3aaca24ca99f4a87f98db156502a3fdfb5518fd

Original date: 2015-11-11 03:05:22

Set status back to Merged so that we can distinguish whether the code was changed in some way, or the fix was elsewhere. Both are non-open states from Redmine's perspective.


All data is lost when I change the scene, even though I have extra saved as an asset file

What do you mean data lost? Could you elaborate?
The canvas should be preserved, even if you do not explicitly save it. If it does not, it is either a bug or you saved it in the scene, in which case it will not attempt to keep it open.
I just tested in 2019.3 that it works, what Unity version are you using?

I edit canvas in Init scene, save it as an asset file, close NodeEditor,I observe the data in inspector,it's right, but  switch to other sence. The saved asset file is empty data, Unity2018.4.24f1  install NodeEditor and UndoPro with unitypackage

So to clarify:

You did not save the canvas in the scene explicitly, you just had the scene open while editing
The data you observe in the inspector is the node canvas UI with title, nodes, etc, after you select the saved asset file (?)
Upon changing scene, clicking on that same asset file again yields what? Node Canvas UI with no nodes?
Now after reopening the window what does it say when you try to open that saved asset file?
When switching scene it will of course unselect the canvas you had selected, resulting in a blank inspector window, so make sure you still have the canvas selected, just in case.

Now the replication step is, at run time, I load the asset for parsing, then switch scenes, and the saved asset is lost,
Here is a GIF that emulates the scene switch at run time


bugfix: minor config fix for astro guide

minor fix for the astro site setup guide

Yeah I need to figure this out on our side
https://github.com/sst/ion/issues/912#issuecomment-2324092326

Yeah I ended up fixing it elsewhere cos I had to update the preset for the template as well. Thanks!


How to use mahapps.metro window usercontrol

Hallo. Im new in WPF. I created a managementconsole in wpf with some help. Console is with listviewitem and icons. Now i wanted open new mahapps.metro window if i clicked one of listviewitem. But to show it , new window item should be a usercontrol. Is there some posibility to create usercontrol with mahapps.metro or some workaround for it ?

That is called Shell Window creation. It is actually pretty easy, create a new Window called MetroShellWindow with no content at all. Now, you can just execute this code to show the user control in a window:
var userControl = .... //get your UserControl instance here
var shellWindow = new MetroShellWindow();
shellWindow.Content = userControl;
shellWindow.Show/*Dialog*/();


Key Pad Problem [Asked in FAANG Interview]

I want to contribute for this problem. Please assign this issue to me.

i want to do it in c++. plz assign this to me

I want to contribute for this problem. Please assign this issue to me.

Okay do Pr

i want to do it in c++. plz assign this to me

Create a seperate folder for c++ and create pr


Legacy: 5 main keys with other keys largely unused

ZPUI was designed for as less keys as possible, and back when developing it I decided that 5 keys should be enough for basic interfacing needs, and so I rarely used more than that, there were other keys available but I didn't have a good purpose for them at that time. The 5 keys are UP, DOWN, LEFT, RIGHT and ENTER - on default ZeroPhone keypad board, they form a cross in the upper center, it's easy to spot them.
The problem is - right now, there are some other keys that aren't used, even though in many places they are the intuitive choice. For example, C1 and C2 (top left and top right corners) could easily be used for "Back" and "Options" choices in menus - but that's not yet the case. Fixing this is not as simple as updating the mapping because, for example, in case of C1 and C2 keys being used there should also be a lower bar on the display that'd have labels with C1 and C2 key purposes. This issue is about developing an interface for C1 and C2 button usage, that'd include a lower bar for the display, as well as could be integrated with current UI elements.

@monsieurh What are you thoughts on this? I'm asking because it's related to your PR, #26 =)


Add new & corrected flowcharts for RXNO documentation

Adding a graphical flowchart for human contributors, revised with respect to the problems/inconsistencies described in #9, to put newly added reactions in the correct parent class. A file highlighting the changes made is also provided for comparison.

Addition of a new graphical flowchart for skeleton determination in addition to the existing written version.
Still open questions regarding the application of this new skeleton flowchart:

Which substance is to be defined as starting material, in case of several "equal" reaction partners?
The rules of the scheme must always be applied once to both the starting material and the reaction product to determine the skeleton or only to the starting material?

@hujo91 :+1:

@hujo91 I am wondering if it is not better to submit the flowchart as a SVG file, so that further changes can be made to it, without needing to create a new image....but it depends on how the flowchart png was created, but I thing the SVG is a better approach

Converted the flowcharts from png to svg file format and uploaded the new svg files in the corresponding GDrive folder
in addition I attach here all files relevant for this commit again collected as zip-file (RXNO_flowcharts.zip)

@hujo91 should:

add the SVG version files of the flowcharts
remove the png

@andrecastro0o will then

then clean the SVG so that is suitable to later editing (since text elements are a bit wonky)

@hujo91  when the PR is ready to go to RXNO a remove Draft: from the title

Hello - looks good! Many thanks!

In the case of several "equal" reaction partners, take the one that contributes the larger number of atoms to the part of the product of interest.
Only apply the rules of the scheme to the product if it is difficult to determine the skeleton from the starting material.

@andrecastro0o I have included RSC-ontologies' answers to the outstanding questions in the notes at Skeleton Flowchart and updated the pptx file and Skeleton svg file accordingly. Also, I removed the paragraph with the questions, then from the top comment and also deleted the draft from the title. Thus, in my opinion, this PR can now go out. :-)


PPO + gSDE / A2C + gSDE / SAC + gSDE

Hello,
nice project.
I was wondering if you had considered trying generalized state-dependent exploration (gSDE) and the tuned hyperparameters from the zoo:
A2C: https://github.com/DLR-RM/rl-baselines3-zoo/blob/master/hyperparams/a2c.yml#L126
PPO: https://github.com/DLR-RM/rl-baselines3-zoo/blob/master/hyperparams/ppo.yml#L137
SAC: https://github.com/DLR-RM/rl-baselines3-zoo/blob/master/hyperparams/sac.yml#L141
In a nutshell, gSDE is a different exploration strategy that is made for the continuous action case. It allows to train RL agent directly on real robot for instance.
Cf paper: https://arxiv.org/abs/2005.05719
If you do so, please upgrade your SB3 version, as we pushed a fix recently for PPO+gSDE
and keep me up to date, I'm interested by the results ;)
See https://github.com/DLR-RM/stable-baselines3/releases for the last release

Hello Antonin,
Thanks for the hints. Also kudos for stable baselines 3; it has been a real pleasure using this framework up to now!
No, I haven't tried either the zoo parameters or gSDE yet, but I am curious to try both. The agents reach an almost optimal solution in terms of reward, but would be great to achieve faster convergence and also reduce the shaking behavior of the joints.
My plan is to:

re-run each algorithm (A2C, PPO, TD3 and maybe try out SAC) with the half cheetah hyper-parameters you proposed and fine-tune them a bit for reacher
repeat the above experiments with the addition of gSDE and check its effect on convergence and the final agents' shaking behavior

I will keep you posted when I make progress. If I am lucky I might get some time to work on this one this weekend :)
Cheers,
Marios

achieve faster convergence

using less samples? i would definitely try SAC with tuned hyperparameters for that ;)


Feel no pain options for operatives

It's pretty frequent that 5+ or 6+ FNP rules are provided to operatives, and would add to their approximate wound count.
One thing to note is that there's a complexity to account for given that FNP rolls in some ways stack so a unit that's dealing less damage per hit would be less likely to kill a unit with a 5+ FNP than anther unit that's dealing more damage per hit, even if the total damage produced for retained dice across both scenarios is equal. The reason for this is because FNP rolls are performed at the end of each hit, not at the end of combat itself.

FNP is implemented for shooting.  Are you requesting FNP be implemented for melee/fighting?

Yes

Implementing FNP with the smarter fighter strategies probably won't happen.  I can take a look at how painful it would be to implement FNP for "Always Strike/Parry".

  I can try to take a look to see the least painful way to implemented for the simple "always strike/parry" fighter strategies.

Awesome, thank you!
On Fri, Aug 11, 2023 at 4:39 AM Jacob Egner @.***>
wrote:

FNP in melee is a big pain with an analytical approach (as opposed to
Monte Carlo). I can try to take a look to see the least painful way to
implemented for the simple "always strike/parry" fighter strategies.
—
Reply to this email directly, view it on GitHub
https://github.com/jmegner/KT21Calculator/issues/3#issuecomment-1673722316,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABEGRAPWRXDHSVY5WTKY4GDXUUTGTANCNFSM6AAAAAAYPUR6C4
.
You are receiving this because you authored the thread.Message ID:
@.***>


Changelog not up to date

It's very hard to weigh the benefits / risks of updating when the changelog is not updated with every release.

Ok Changelog was updated, and I will continue updating ChangeLog for new versions.


Update README.rst for better representation

I'd rather leave it in lowercase, as that's the name of the package on Pipy. Thanks for the support!


Error submitting approval order for USDT (or any other token) on uniswap-mainnet

Describe the bug
The amm_arb strategy could not be run because /evm/approve fails with the error: Error submitting approval order for USDT on uniswap-mainnet.
 The result is Gateway: ONLINE)

Add uniswap to gateway. The result:

Add binance exchange

Check balance

Create amm_arb strategy (config at the attachments) with defaults:

Start the strategy. Balances look good:

Stop the strategy in a few minutes

There are a lot of errors like that (in hummingbot_files/hummingbot_logs/logs_conf_amm_arb_3.log):
2022-12-29 15:52:33,403 - 1 - GatewayEVMAMM - ERROR - Error submitting approval order for USDT on uniswap-mainnet.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/gateway/amm/gateway_evm_amm.py", line 318, in approve_token
    resp: Dict[str, Any] = await self._get_gateway_instance().approve_token(
  File "/home/hummingbot/hummingbot/core/gateway/gateway_http_client.py", line 360, in approve_token
    return await self.api_request(
  File "/home/hummingbot/hummingbot/core/gateway/gateway_http_client.py", line 229, in api_request
    raise e
  File "/home/hummingbot/hummingbot/core/gateway/gateway_http_client.py", line 217, in api_request
    raise ValueError(f"Error on {method.upper()} {url} Error: {parsed_response}")
ValueError: Error on POST https://localhost:16237/evm/approve Error: {'message': 'Unknown error.', 'httpErrorCode': 503, 'errorCode': 1099, 'stack': 'Error: insufficient funds for intrinsic transaction cost [ See: https://links.ethers.org/v5-errors-INSUFFICIENT_FUNDS ] (error={"reason":"processing response error","code":"SERVER_ERROR","body":"{\\"jsonrpc\\":\\"2.0\\",\\"id\\":1496,\\"error\\":{\\"code\\":-32000,\\"message\\":\\"insufficient funds for gas * price + value\\"}}","error":{"code":-32000},"requestBody":"{\\"method\\":\\"eth_sendRawTransaction\\",\\"params\\":[\\"0x02f8b20180850c570bd200850c570bd200832dc6c094dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0d20539f328d1d7d2d195ae7f98abb10f3ef138f21b7338e8210ab4f93b10455fa03a7224f3d06c5ac38a2c29aaad4cc70af5833bc8ac6589df524bfffda34f713b\\"],\\"id\\":1496,\\"jsonrpc\\":\\"2.0\\"}","requestMethod":"POST","url":"https://mainnet.infura.io/v3/df570986c2d84cbca09c11c78745ba30"}, method="sendTransaction", transaction="0x02f8b20180850c570bd200850c570bd200832dc6c094dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0d20539f328d1d7d2d195ae7f98abb10f3ef138f21b7338e8210ab4f93b10455fa03a7224f3d06c5ac38a2c29aaad4cc70af5833bc8ac6589df524bfffda34f713b", code=INSUFFICIENT_FUNDS, version=providers/5.6.8)\n    at Logger.makeError (/usr/src/app/node_modules/@ethersproject/logger/lib/index.js:233:21)\n    at Logger.throwError (/usr/src/app/node_modules/@ethersproject/logger/lib/index.js:242:20)\n    at checkError (/usr/src/app/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:144:16)\n    at StaticJsonRpcProvider.<anonymous> (/usr/src/app/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:703:47)\n    at step (/usr/src/app/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:48:23)\n    at Object.throw (/usr/src/app/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:29:53)\n    at rejected (/usr/src/app/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:21:65)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)'}

There is a log in the gateway's log file (hummingbot_files/gateway_logs/logs_gateway_app.log.2022-12-29) that looks suspicious:
2022-12-30 05:12:48 | info | 	Calling approve method called for spender 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45 requesting allowance<PHONE_NUMBER>37316195423570985008687907853269984665640564039457584007913129639935 from owner 0xBCA8C16af62E799D6d0F667e653Efae7Ef735807. | undefined

Looks like we call approve for amount equals<PHONE_NUMBER>37316195423570985008687907853269984665640564039457584007913129639935
I've try to patch /evm/approve call to provide smaller amount of USDT/WETH, but it didn't help.
I'm pretty sure 0.1 ETH is enough for the approve operation, isn't it?
Maybe the following information is important. Maybe not:
I've tried several wallets:

0xbca8c16af62e799d6d0f667e653efae7ef735807 doesn't have any uniswap operation yet
0xe4784f34b8bAc19DDF1A64Bd83f9D2eD63D0e23c has several uniswap operations. The problem is the same

...
Screenshots
see Steps To Reproduce section. Overview is:

Release version
v1.11.0
Attachments
logs_conf_amm_arb_3.log
gateway.log
conf_amm_arb_3_yml.txt
conf_client_yml.txt
gateway_connections_json.txt
WARNING: Do NOT publish any exchange API keys or your wallet's private key. Whoever has access to them may steal your assets!
Optional: your discord username:
ivangureev#0116

I have handled the problem but not the way It should be handled: I used a uniswap application (https://app.uniswap.org/#/swap) and tried to swap USDT -> ETH. Uniswap asked me to make a approve transaction. I did it for

USDT: https://etherscan.io/tx/0x90bcbfe140fc9946a0d06b08a46ce3537403a080dcb9544ec5b7f0e956f3bacc
WEHT: https://etherscan.io/tx/0xb1f1d70b4d6905b59b00484117f0e5d0c12a07c30c0a5d6a1905af5e48c0a302

Just by approving at MetaMask. Transaction costs was less 1$ each.
Looks like Hummingbot constructs a wrong Ethereum transaction for approve method.
After I did it, the strategy started well:


Feature/asciitable

Small change to the asciitable theme for compatibility.  Reorganized some code.

Coverage increased (+1.6%) to 79.236% when pulling da53ce41110b4df33db38e728c770ba7cf4c7275 on feature/asciitable into e0324400dabc65ae09db8172d3557c9f67b4cd3e on develop.


Use a newer version of LTS ubuntu, like 22.04 or even better, 24.04 which is already out and mature

Upgraded to the latest azure compatible version on westeurope, I selected version 22.04 LTS.
To find the available vm versions use the following command:
$ az vm image list --location westeurope


[BUG] MobileViTV2 shape rounding error

Describe the bug
When I'm trying to use mobilevitv2 as encoder for my Unet with input image of shape 3x224x224, I'm getting last encoder feature of shape BxCx8x8 which is incorrect.
It happens only if the last feature's shape should be odd
To Reproduce
Steps to reproduce the behavior:
1.import timm
2. import torch
3. x = torch.rand(1, 3, 224, 224)
4. model = timm.create_model(mobilevitv2_100,  features_only=True)
5. features = model(x)
6. last_feature = features[-1]
7. assert 224 / 32 == last_feature.shape[-1]
Expected behavior
Because this model has 5 layers and at the end of each layer, output should be halved and I expect  the size of last feature to be: BATCH_SIZExCHANNELSx(INPUT_HEIGHT / (2^5))x(INPUT_WIDTH / (2^5))
So, if my input image size is 3x224x224, I'm expecting the output feature of shape  BxCx7x7, but getting BxCx8x8
P.S. It doesn't happen if I'm using  original mobilevit

@gusario this model doesn't work that way, it rounds up   ceil(feat size / patch size) * patch size which is why you see 7 -> 8.  Trying to force an interpolation would likely reduce the accuracy.  To avoid this discrep, easiest thing to do is use image sizes that are divisible by patch size all the way to the last reduction.. ie for the default 256x256 these models were trained for it's not an issue


Add Themix GUI theme designer  (a.k.a. Oomox) packages

Motivation for this change
Themix GUI theme desiner (Oomox) is a great tool for customizing desktop themes and console color palettes. It's packaged in a number of distros: Arch, Debian, Ubuntu, CentOS, Fedora, etc. Why not in Nixpkgs?AUR and COPR have it. deb package is provided by the Themix project.
Themix has a number of plugins but I would like to keep this PL minimal: It ships only import-image, theme-oomox, and icons-papirus plugins.
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"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] 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.

Upstream version bump. I’ll update this PL later.

Any update on this?

I'm preparing an experimental overlay for the Themix project here. I'd like to update this PL after ensuring the stability of packages in the overlay. Anyone interested in testing are welcome.

* platforms should be set if it is unix because that is the default set by buildPythonPackage.

Do you mean "if it is not unix"?

why is this pr dead? i would really like to have themix on nixos

I don't know but it is for at least a year, so closing it.


Implement disk RAID check before upgrades on larger platforms

Is your feature request related to a problem? Please describe.
When upgrading PAN-OS on large firewalls with RAID storage using the pan-os-upgrade utility, reboot timeouts can occur due to the extended duration of the reboot process, which can take up to an hour. This issue arises when the upgraded firewall undergoes a RAID check during the reboot, causing significant delays. Currently, the utility does not have a mechanism to detect and handle RAID checks before initiating the upgrade process, leading to potential timeouts and incomplete upgrades.
Describe the solution you'd like
Enhance the pan-os-upgrade utility to include disk and RAID checks before performing an upgrade on firewalls with RAID storage. The utility should:

Before initiating the upgrade, run the show system raid command on the firewall to retrieve the RAID status and configuration.
Parse the output of the command and check the counter since the last RAID check took place.
If the counter indicates that a RAID check is overdue or likely to occur during the upgrade process, display a warning message to the user and prompt them to either proceed with the upgrade or abort the process.
Implement a log parsing function to search through the firewall logs using grep or a similar method to determine if the upgraded firewall is currently undergoing a RAID check.
If a RAID check is detected during the upgrade process, remove the peer firewall (if applicable) from the upgrade "revisit" list to avoid initiating an upgrade while the RAID check is in progress.
If no RAID check is detected or if the RAID check completes successfully, proceed with the normal upgrade process.

Describe alternatives you've considered
An alternative approach could be to force the RAID check to occur before the upgrade by triggering it manually. However, this might not always be feasible or desirable, as it could lead to extended downtime and may not align with the planned maintenance window.
Additional context
Here are a few additional points to consider:

The threshold for determining when a RAID check is overdue or likely to occur should be configurable based on the specific requirements and best practices of the organization.
The utility should provide clear and informative messages about the RAID status and any potential delays or actions taken due to RAID checks.
In case of a RAID check being detected during the upgrade, the utility should log the details and provide guidance on when to reschedule the upgrade for the affected firewall.
Consider adding a flag or configuration option to allow users to skip the RAID check if they have already performed it manually or have alternative monitoring in place.
Update the project's documentation to include information about this new feature, explaining how it handles RAID checks and the impact on the upgrade process.

By implementing this feature, the pan-os-upgrade utility will proactively detect and handle scenarios where RAID checks may interfere with the upgrade process on firewalls with RAID storage. This will help avoid reboot timeouts, ensure successful upgrades, and provide a smoother experience for users managing large-scale firewall upgrades.

will revisit when time permits, closing for now


REACT route: not loggedIn start page

This page should display the list of the news tailored for the subscription: free, this will be similar to the whoever did not sign in to the app


[native_toolchain_rust] Introduce a package:native_toolchain_rust

We should consider introducing a package to help calling the Rust compiler from Dart code.
Things this package could contain:

[ ] A mapping from native_assets_clis Target and IOSSdk to Rust target triples (These seem to deviate from other toolchains. Apple clang: arm64-apple-ios-simulator vs Rust aarch64-apple-ios-sim.
[ ] (Feel free to edit and add wishes.)
[ ] ...

This package could be used in multiple ways:

Running the Rust compiler from the user machine inside build.dart scripts.
Running the Rust compiler from some tools/compile_all.dart script on the GitHub CI (after which the artifacts can be downloaded in a build.dart script).

cc @fzyzcjy @robertbastian Please post any wishes you have here.

Wow this is super great and helpful for flutter_rust_bridge, and looking forward to it! Option 1 is already very good, since it allows quite easy integration; and option 2 is a bonus to make it easy to create a package with precompiled binaries. Some thoughts (I guess most are already in your mind, but anyway let me post it for completeness):

Cargokit only requires user to install a rustup, and automatically install cargo etc when needed, thus users do not need to install too many things. I guess this is helpful for users
Support Web as well (related: https://github.com/flutter/flutter/issues/138992. flutter_rust_bridge currently uses this script to compile to web: https://github.com/fzyzcjy/flutter_rust_bridge/blob/562f8db130eec6d27d20f3e6d60e89f3d875997f/frb_dart/lib/src/cli/build_web/executor.dart#L53. In other words, mainly wasm-pack.)
Support dynamic libraries (.so/.dylib etc).
Understand debug/release mode automatically.
Allow users to (temporarily) disable some target architectures. For example, when compiling (full) Android, IIRC we need things like 32bit arm, 64bit arm, 32bit x86, 64bit x86. So, when developing Rust, even if we only change 1 line of code, we  need to execute cargo build four times. It would be great if, when developing, we can disable all architecture but only one (say 64bit x86) that is really needed.
Understand MSRV (e.g. say flutter_rust_bridge requires rust 1.74, then if users have rust 1.60, toolchain needs to automatically install a latest version; but this is of low priority, since an error is already descriptive enough).
...

Since flutter_rust_bridge is currently using https://github.com/irondash/cargokit as one of the approaches of integration, some features in cargokit may be helpful.

@fzyzcjy, I'm currently working on native_toolchain_rust. Unlike cargokit however, it will not silently install thing during build. I think there is a cleaner approach to that: A separate tool - native_doctor that does all the installing and updates.
When native_toolchain_rust finds out that rustup is not installed, or some toolchains/targets are missing or outdated, it will print the following (or similar) message:
Rustup not found.
Please run native_doctor in your project to fix the issues:

dart pub global activate native_doctor
dart pub global run native_doctor

When user runs native_doctor, it will check project dependencies to determine minimum required Rust and NDK version and outputs something like this:
Project: example (Flutter)
Buildable platforms: macos, ios, android

Native toolchain: NDK

  [✗] NDK installed, but too old
       ! Installed versions: 23.1.7779620
       ! Required minimum version: 25.1.8937393

Native toolchain: Rust

  [✗] Rustup not found
  [✗] Toolchain stable not installed
       ! Required minimum version: 1.77.2
       ! Missing targets: arm-linux-androideabi, aarch64-linux-android, i686-linux-android,
         x86_64-linux-android, aarch64-apple-ios, x86_64-apple-ios, aarch64-apple-ios-sim, aarch64-apple-darwin,
         x86_64-apple-darwin

Proposed actions:

  • (NDK)  Install NDK 25.1.8937393 or newer
  • (Rust) Install rustup
  • (Rust) Install toolchain stable
  • (Rust) Install targets arm-linux-androideabi, aarch64-linux-android, i686-linux-android,
           x86_64-linux-android, aarch64-apple-ios, x86_64-apple-ios, aarch64-apple-ios-sim, aarch64-apple-darwin,
           x86_64-apple-darwin for toolchain stable

Do you want native doctor to perform proposed actions? (y/N)

When user confirms it, it will automatically install all required items.
@dcharkes, I am wondering if down the line, instead of separate tool, this could be handled by native assets.

@dcharkes, I'd maybe like some feedback on native_toolchain_rust. I think it's in a decent shape for MVP, the build tests pass on all platforms (including android on all platforms). There are examples for both dart and flutter packages. It provides actionable message when the environment is not ready (and native_doctor tool to fix it). What would be required to publish it on pub? And somewhat related, is there even a very rough estimation for when native assets get enabled in Flutter main (and Dart dev) without the flag?

Happy to take a look, what's the best course of action for that in Github? Creating a (draft) pull request for the native repository?

I'm happy to let the project be in its own repo. (Unless there are some benefits to having it in this mono repo.)
Maybe just a PR to another branch on the existing repo?

Yes, the PR would be for reviewing only. Github doesn't allow adding comments on non-changed files in PRs, so I thought that might be the only way to review..

I don't see why it would need to live in the mono-repo.
I'm not sure if I understand things correctly, but here is a PR with code for all packages.

You need to be an admin in both publishers to do a transfer.
They can invite you as admin, you do the transfer and then they can remove you from being admin.
Alternatively you may create a third publishers where only you two are admin and it acts only as intermediary.

Can you invite me to a publisher @knopp so I can transfer the package to you on pub.dev?

[...] Please post any wishes you have here.

Another things is hot restart / hot reload Rust (related e.g. https://github.com/fzyzcjy/flutter_rust_bridge/issues/1966). Here are my brainstorms:

If using the old DynamicLibrary.open approach, I guess we only need to figure out an approach to point to the updated Rust binary file after Rust recompiles, thus maybe related to Cargokit. However, this is the old way and I guess supporting new native assets would be great.
If using the new native assets approach, have not checked it deeply yet, but I guess maybe Dart needs to provide some kind of support for this hot restarting. For example, for a @Native<Int64 Function(Int64, Int64)>() external int sum(int a, int b);, it seems that the hack cannot be as easy as "just DynamicLibrary.open another binary file and done".

@dcharkes is there any indication as to when native assets will be activated in a Flutter or Dart release without the flag?

@dcharkes is there any indication as to when native assets will be activated in a Flutter or Dart release without the flag?
edit: sorry, I just saw you were working on https://github.com/dart-lang/sdk/milestone/112 as of just last week; sorry to've pinged you, please launch on 🚀

We've got another milestone on this repo as well https://github.com/dart-lang/native/milestone/15. (And some Flutter issues that are not tracked on a milestone as it is in another org...)
Also, this issue itself is being worked on via https://pub.dev/packages/native_toolchain_rust, so I'll close this.


Handle ctrl-C from ferret prompt in pyferret

Reported by karl smith on 6 Dec 2011 22:32 UTC
Implement traditional ferret handling of ctrl-C given at the ferret prompt in pyferret.
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/1904

Comment by karl.smith on 6 Dec 2011 22:47 UTC
Immediately prior to running a ferret command or entering the ferret command-processing loop, SIGINT (ctrl-C) signal handling is switch to the ctlrc_ast_ method in the ferret library.  On return, it is switched back to the prior handler.  A call to update (if reasonable) the viewer window was added to the say_interrupted subroutine.
This change works appears to work fine on the Python2.6 builds on dunkel and stout.  On flat (RHEL6) the signal is also detected and handled by ferret; however, it still manages to shutdown python, so you end up exiting completely instead of getting a ferret prompt.  Tried catching KeyboardInterrupt (python-generated exception from ctrl-C) around pyferret._readline and pyferret.run, but it made no difference.  So leaving this open for later.

Comment by karl.smith on 24 Oct 2012 19:51 UTC
Known bug in old (and apparently recent) versions of tcsh is that Ctrl-C will kill tcsh scripts even when caught by the program (as if the Ctrl-C is not being transferred to the program running inside the script.
The solution is to always use the Bourne shell script for running pyferret as a command.  Leave the C-shell script in case someone want to source the script (where the Ctrl-C problem does not appear) instead of running it as a program.
However, another Ctrl-C problem is observed (and reported by Andrew as well) if received while sending graphics data to the display engine.  The display (graphics engine) closes (shutdown or crashes) but PyFerret is unaware of this and hangs (or gets all messed up) with later attempts to draw.
Andrews description:
1) Ctrl-C is unreliable inside of PyFerret.  For example, the
following 3 interrupts work as expected, but the 4th doesn't:

        NOAA/PMEL TMAP
        FERRET v6.83 (PyFerret 1.0.0)
        Linux 2.6.32-279.5.2.el6.x86_64 - 10/19/12
        23-Oct-12 16:40

yes? use coads_climatology; rep/i=1:100/animate shade sst
!-> REPEAT: I=1
Fontconfig warning:
"/net2/pem/x86_64/uvcdat/install/Externals/etc/fonts/conf.d/50-user.conf",
line 9: reading configurations from ~/.fonts.conf is deprecated.
!-> REPEAT: I=2
!-> REPEAT: I=3
!-> REPEAT: I=4
^C** INTERRUPTED! **
shade sst
Command file, command group, or REPEAT execution aborted
yes? use coads_climatology; rep/i=1:100/animate shade sst
!-> REPEAT: I=1
!-> REPEAT: I=2
!-> REPEAT: I=3
!-> REPEAT: I=4
!-> REPEAT: I=5
^C!-> REPEAT: I=6
** INTERRUPTED! **
shade sst
Command file, command group, or REPEAT execution aborted
yes? use coads_climatology; rep/i=1:100/animate shade sst
!-> REPEAT: I=1
!-> REPEAT: I=2
!-> REPEAT: I=3
!-> REPEAT: I=4
!-> REPEAT: I=5
^C!-> REPEAT: I=6
** INTERRUPTED! **
shade sst
Command file, command group, or REPEAT execution aborted
yes? use coads_climatology; rep/i=1:100/animate shade sst
!-> REPEAT: I=1
!-> REPEAT: I=2
!-> REPEAT: I=3
^C** INTERRUPTED! **
shade sst
Command file, command group, or REPEAT execution aborted
pyqtcairoCFerBind_updateWindow: error when calling the Python
binding's newSceneImage method: **ERROR <type 'exceptions.IOError'>:
[4](Errno) Interrupted system call

At this point, PyFerret goes into a funny state where Ctrl-C now hangs
PyFerret, and it has to be killed externally:

yes? use coads_climatology; rep/i=1:100/animate shade sst
^C

Modified by andrew.wittenberg on 11 Dec 2012 18:56 UTC

Comment by andrew.wittenberg on 11 Dec 2012 20:35 UTC
See also #1967.

Modified by andrew.wittenberg on 11 Dec 2012 21:43 UTC

Comment by karl.smith on 6 Nov 2013 00:45 UTC
I am able to consistently get PyFerret to get to kill the display window with a Ctrl-C but not by quite the same as the above.  So
<ksmith@dunkel ~> pyferret
yes? use coads_climatology
yes? rep /i=1:100 /animate shade sst
!-> REPEAT: I=1
!-> REPEAT: I=2
!-> REPEAT: I=3  (Ctrl-C)
** INTERRUPTED! **
shade sst
Command file, command group, or REPEAT execution aborted
yes? rep /i=1:100 /animate shade sst
!-> REPEAT: I=1
!-> REPEAT: I=2   (Ctrl-C)
** INTERRUPTED! **
shade sst
Command file, command group, or REPEAT execution aborted
yes? rep /i=1:100 /animate shade sst  (Ctrl-C)
** INTERRUPTED! **
rep /i=1:100 /animate shade sst
Command file, command group, or REPEAT execution aborted
yes? rep /i=1:100 /animate shade sst
grdelWindowUpdate: error when calling the Python binding's updateWindow method: **ERROR <type 'exceptions.IOError'>: [4](Errno) Interrupted system call
yes? can win 1
grdelWindowClear: Error when calling the Python binding's clearWindow method: **ERROR <type 'exceptions.IOError'>: [4](Errno) Interrupted system call
yes? set win 1
yes? rep /i=1:100 /animate shade sst
!-> REPEAT: I=1
!-> REPEAT: I=2
!-> REPEAT: I=3
!-> REPEAT: I=4 (Ctrl-C)
** INTERRUPTED! **
shade sst
Command file, command group, or REPEAT execution aborted
yes?

So the Ctrl-C was pressed before pressing the return for the command when things went bad.  But telling pyferret to cancel the window (which gives an error message), then creating a new window resolves the problem, and one can continue on.
If the display does not exist (either prior to doing the first plot, or by cancelling the window), then everything works as it should.
yes? rep /i=1:100 /animate shade sst
!-> REPEAT: I=1
!-> REPEAT: I=2
!-> REPEAT: I=3
!-> REPEAT: I=4  (Ctrl-C)
** INTERRUPTED! **
shade sst
Command file, command group, or REPEAT execution aborted
yes? can win 1
yes? rep /i=1:100 /animate shade sst  (Ctrl-C)
** INTERRUPTED! **
rep /i=1:100 /animate shade sst
Command file, command group, or REPEAT execution aborted
yes?

Hopefully with this I will be able to figure out how the Ctrl-C is leaking to the display program.  Or maybe I just need to have the display program ignore any Ctrl-C interrupts that it might receive.

Comment by karl.smith on 7 Nov 2013 16:37 UTC
Added code to ignore Ctrl-C interrupts in the viewer program that PyFerret launches and controls.  Added code to ignore further Ctrl-C interrupts while processing a Ctrl-C interrupt.  This second step resolved issues with PyFerret getting into a funky unresponsive state when Ctrl-C is enter many times in quick succession.
Attempts has been made to wrap the readline call to catch Ctrl-C interrupts.  This, however, led to crashes and other weird behavior in Python.  Even when using the -server command-line option (which just uses the C-function fgets instead of getting the input from readline via Python), the Ctrl-C problems described earlier still existed.  Since this is under Python, however, I am fairly sure fgets has been aliased in Python.h to use Python code.  The solution to have the viewers ignore Ctrl-C should not be a problem as PyFerret is the only thing "talking" to the viewers.  The user can only communicate directly to the viewers via the menu options.  If there is a need to kill a viewer via the UNIX kill command on the python processes representing the viewer, the SIGKILL (9) signal can be used (which is standard procedure).


fix(SECURESIGN-1179): include version metadata

The konflux build does not include all the necessary metadata for the cosign version command. This change should ensure that the command produces the correct information.
cosign version output for a local build now looks like this
podman run localhost/cosign-test:latest cosign version
WARNING: image platform (linux/amd64) does not match the expected platform (linux/arm64)
  ______   ______        _______. __    _______ .__   __.
 /      | /  __  \      /       ||  |  /  _____||  \ |  |
|  ,----'|  |  |  |    |   (----`|  | |  |  __  |   \|  |
|  |     |  |  |  |     \   \    |  | |  | |_ | |  . `  |
|  `----.|  `--'  | .----)   |   |  | |  |__| | |  |\   |
 \______| \______/  |_______/    |__|  \______| |__| \__|
cosign: A tool for Container Signing, Verification and Storage in an OCI registry.

GitVersion:    rhtas-1.0.2-7-g8ee49d4f
GitCommit:     8ee49d4f534ff56e75916fd7426afe8796f37c55
GitTreeState:  dirty
BuildDate:     2024-07-01T19:16:20Z
GoVersion:     go1.21.3
Compiler:      gc
Platform:      linux/amd64

EDIT: Some updates to the github actions workflow files were also needed to pass PR checks

/retest

/lgtm


Rewrite UrlGenerator to use inheritance [2]

Since I have not received any answer in https://github.com/jrgifford/delayed_paperclip/pull/127, here is my pull request with all specs fixed and rebased against master.

Thanks @katafrakt!
@maxim what do you think of these chanegs?

@katafrakt hey sorry about #127, too much work too little time. Thanks for rebase, I'll try to review asap.

This looks good upon review. I see that MockInterpolator from Paperclip specs is still there to check timestamp and escape stuff. :+1: from me.
@ScotterC, would be great if you could do a quick check of  most_appropriate_url logic in this PR.

Not merge-able

I rebased master and fixed a bug introduced in #134, so now it's possible to merge.

Rebased again due to merge conflicts.
@ScotterC any prospects of merging this?

@katafrakt thanks! This is fantastic and a good start to refactoring a lot of that ugly override logic


Shadowrun Sixth World v.40

Changes / Comments
Added Social Rating to derived tests (even though it's not a test) just to the right of the Edge Attribute.  This is a total of Charisma + any cumulative + primary armor social adjustments.
Added mouseovers for Composure, Judge Intentions, Memory and Lift & Carry buttons detailing where the values come from for those of us that forget.
Added the ability to add Spells, NPC Spells, Qualities and Augmentations by pasting raw data into the Notes textarea for a new repeating row.
Roll20 Requests

[ Y ] Does the pull request title have the sheet name(s)? Include each sheet name.
[ N ] Is this a bug fix?
[ Y ] Does this add functional enhancements (new features or extending existing features) ?
[ N ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ NA ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ NA ] If this is a new sheet, did you follow Building Character Sheets standards ?

Character Sheet Info Roll20 Internal Use only.


EKF: Add missing optical flow ground motion protection

Motion compensated optical flow rates are supposed to be zeroed if flow data is failing validity checks when on ground. This was not being done in the code. The comments and logic have been amended to be consistent and make the design intent clearer.

This broke optical flow. The EKF now diverges if optical flow aiding is enabled. Haven't investigated further yet.
Replay log :
https://review.px4.io/plot_app?log=09958de4-6654-4585-a0b0-eab8a1e4ca66
There is a bad timestamp in the log, which causes the weird plot visualisation, but it should  be fine otherwise.

@mhkabir I reviewed the code and found a potential issue which has been fixed by
https://review.px4.io/plot_app?log=09958de4-6654-4585-a0b0-eab8a1e4ca66 however the reported flow quality on your log is always above the minimum so this should not have affected your setup.
With this fix, optical flow is working well on SITL 'make posix gazebo_iris_opt_flow'
I was unable to get replay working on your log using upstream master with or without the fix. The range data and flow data timestamps cover different ranges and there are lots of differences in message formats reported by replay. You need to get your timestamp issue fixed and provide data recorded with up to date message definitions.

The flow data doesn't start until 34 seconds.

@priseborough Here is another log where is EKF diverges on the ground after some moving around: https://logs.px4.io/plot_app?log=ea18fc88-8ce5-4382-ab62-35a9a0d015f3. It's pretty reproducible and happens sometimes even without any motion while on the ground.
For replay, you will need to be on v1.8.

I am able to replay the above log successfully, and the EKF diverges with optical flow enabled, but does not with optical flow disabled.

There is a period just after motors start where there are repeated rapid accel transients and high angular rates. It looks like the vehicle is rapidly bouncing between ground contact points. This motion is causing the estimator velocities to diverge. Setting EKF2_OF_QMIN to a larger value to force use of zero motion compensated flow rates did not help, so another strategy is needed to handle the characteristics of this hardware.

Will investigate further.

I found the fix actually. From the log, flow use is successfully inhibited by the "motion excessive" tests, however the check for no fusion over a time period is incorrect.
Will push to a branch and ask for review.

That makes sense. The angular rates and accelerations seen during takeoff were high. I've reviewed, approved and merged the PR.


Implement a component for hiding table filters

GH-75 Implement a component for hiding table filters

Shot Type
Count
Status

Added
0
🟡

Deleted
0
❌

Regression
1
❗

❗ storybook/utility-responsive-image--responsive-image__[w1920px]:

Before
After

Shot Type
Count
Status

Added
6
🟡

Deleted
0
❌

Regression
4
❗

🟡 custom/widgets-filters--default__[w1920px] (click to expand)

Image

🟡 custom/widgets-filters--more-button__[w900px] (click to expand)

Image

🟡 storybook/widgets-filters--default__[w1440px] (click to expand)

Image

🟡 storybook/widgets-filters--default__[w1920px] (click to expand)

Image

🟡 storybook/widgets-filters--default__[w390px] (click to expand)

Image

🟡 storybook/widgets-filters--default__[w900px] (click to expand)

Image

❗ custom/widgets-linkstabbar--current-focus__[w1920px]:

Before
After

❗ custom/widgets-meal-nutrients--hint-opened__[w390px]:

Before
After

❗ custom/widgets-navbar-opened__[w1440px]:

Before
After

❗ storybook/widgets-heart-rate--default__[w1920px]:

Before
After

Shot Type
Count
Status

Added
0
🟡

Deleted
0
❌

Regression
1
❗

❗ storybook/utility-responsive-image--responsive-image__[w1920px]:

Before
After

Shot Type
Count
Status

Added
6
🟡

Deleted
0
❌

Regression
4
❗

🟡 custom/widgets-filters--default__[w1920px] (click to expand)

Image

🟡 custom/widgets-filters--more-button__[w900px] (click to expand)

Image

🟡 storybook/widgets-filters--default__[w1440px] (click to expand)

Image

🟡 storybook/widgets-filters--default__[w1920px] (click to expand)

Image

🟡 storybook/widgets-filters--default__[w390px] (click to expand)

Image

🟡 storybook/widgets-filters--default__[w900px] (click to expand)

Image

❗ custom/widgets-linkstabbar--current-focus__[w1920px]:

Before
After

❗ custom/widgets-meal-nutrients--hint-opened__[w390px]:

Before
After

❗ storybook/widgets-heart-rate--default__[w1440px]:

Before
After

❗ storybook/widgets-heart-rate--default__[w390px]:

Before
After


Add Scrup compatible service

Scrup is a reasonably popular application at $WORK, but isnt being
developed anymore. This adds a service compatible with how scrup works -
screenshot in the request body, and url retrieved from the remote
server rather than generated locally.
There's obviously some overlap with the http_post module. If that module
could get get the URL of the uploaded screenshot from the remote server
I'd have probably just re-worked my reciever to grok form data, but I
didnt want to fudge the preferences or adopt that behaviour implicitly
so I knocked this together quickly.

Ill see if I can test this soon. I see no reason not to merge it, but I want to test first...

There's an example receiver in the repository, written in PHP, if you can get it running somewhere.

So it doesnt work with that receiver. That php script returns the status code 201 "Created", which your Pussh service sees as an error. Easy enough to fix, im just not sure which is correct for scrup.

Yeah I like the approach of leaving it up to the receiver to do what it likes - I've seen some implementations do different things depending on what's on the query string for example.
I've pushed a quick fix, any 2xx should be fine - its not consistent on the receivers I've seen.


Incorrect tag counts for associations

I am getting incorrect tag counts on associations. Here's the query example:
User.last.items.tag_counts_on(:tags)
Here's the result:
[<ActsAsTaggableOn::Tag id: 120, name: "exampletag", taggings_count: 77>....]
The returned taggings_count is not limited to user's items... There are total of 77 items tagged with the tag but but the user only has 4.

The taggings_count is the number of how many times this tag is used

I stumbled upon this issue as well.

Same here.

Same here


x/gamm: Add fixed gas cost for swaps

Closes: #1903
What is the purpose of the change
To further prevent spam, adds fixed amount of gas we consume per swap in/out. Previously we had only been consuming gas for built-in I/O (store reads and writes), and in the future we might make
Brief Changelog

Added new BalancerGasFeeForSwap constant + TODO comment to turn into param
Have swapExactAmountIn and swapExactAmountOut consume gas
Test this in swap_test.go

Testing and Verifying
This change added tests and can be verified as follows:

Added lines to test gas consumed in swap_test.go

Documentation and Release Note

Does this pull request introduce a new feature or user-facing behavior changes? (yes)
Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md? yes
How is the feature or change documented? (not applicable   /   specification (x/<module>/spec/)  /  Osmosis docs repo   /   not documented)

Also out of curiousity, how was the constant 10000 decided?

Also out of curiousity, how was the constant 10000 decided?

@mattverse oh I just benchmarked the swap i/o gas and it was around ~40000, so decided to have it be something around the same order of magnitude. No strong opinion on this though so open to changing.

Thanks for making this!

@rrrliu ah gotcha thanks for explaining! Nice work done here!


AdaDM

Sorry to disturb you. I didn't find AdaDM related modules in the code. What part of the code does AdaDM embody？

https://github.com/njulj/AdaDM/blob/7777bf000fb341720c8896acf087e5837858edc6/src/model/common.py#L65

Thank you very much


add redis.mem.overhead and redis.mem.startup

What does this PR do?
A few gauges were missing from the redis integration, which are particularly useful when debugging memory related issues. I've added used_memory_overhead and used_memory_startup in order to be able to measure what's the overhead from redis and compute the dataset size.
Motivation
We've encountered OOM issues by measuring only the memory usage from used_memory & used_memory_rss since it didn't take the overhead memory into consideration.
Additional Notes
Simply added a few missing metrics documented here: https://redis.io/commands/info.
Review checklist (to be filled by reviewers)

[x] PR title must be written as a CHANGELOG entry (see why)
[x] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached
[ ] Feature or bugfix must have tests
[ ] Git history must be clean
[ ] If PR adds a configuration option, it must be added to the configuration file.

Hi @maximebedard thanks for submitting! We have scheduled this PR for review with our Engineering team and will reach back out once they've done so.

I've updated the metadata.csv, I didn't notice any existing tests for a lot of the other metrics. Given that there's a set of deterministic metrics tested here, I think it's safe to assume that if redis returns that information, it's going to work correctly. WDYT?


template {{variable}} reuse

Is your feature request related to a problem? Please describe.
I'm looking for the ability to reuse {{variables}} in my template.
Describe the solution you'd like
If my template has {{variable 1}} defined, the submitted user input should populate that variable everywhere in the template. Right now, I'm asked every single time to input a value for the variable when it is used multiple times in the template.

@codedungeon /g
On Fri, Nov 5 2021 at 8:26 AM, Brad < @.*** > wrote:

Is your feature request related to a problem? Please describe.
I'm looking for the ability to reuse {{variables}} in my template.
Describe the solution you'd like
If my template has {{variable 1}} defined, the submitted user input should
populate that variable everywhere in the template. Right now, I'm asked
every single time to input a value for the variable when it is used
multiple times in the template.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub (
https://github.com/NotePlan/plugins/issues/101 ) , or unsubscribe (
https://github.com/notifications/unsubscribe-auth/ACEI6VF34RJI3HDEVOBOFQTUKQAVHANCNFSM5HODBDJA
).


Feature/game statuses

Solving #16
After solving puzzle - congrats message pops up, grid is locked for any further clicks, time is locked.

You are right, thanks! I commited the change.


Running Gradle unit tests

I'm trying to get unit tests to run on Bitrise.
Currently I have a workflow configured as:

Locally I can run unit tests from my IDE using:

./gradlew test --continue

This is the default configuration of the workflow item Gradle Unit Tests:

When I run that default configuration on Bitrise, I'm seeing:

That gave me the idea to copy the value for gradlew from step gradle runner

$GRADLEW_PATH

But this value is not available as an env. var. for the step 'Gradle Unit Tests`
I also tried using $BITRISE_SOURCE_DIR but that gave me:

How can I get the correct path/env.var. configured for gradlew?

You should now be able to configure the latest Gradle Runner step to solve this - there's an input for gradlew path and also for any custom flag you might want to use. I'll close this issue, but feel free to add any note and we'll re-open it.


Added new copy in about and allowed getting back to home page

Fixed issue #53 and issue #50.  Updated the about page with the new copy provided by @meatherly and linked back to the "Home" page with the information paragraph using the "Nashville Transparency Project" in the upper lefthand corner. It is dynamically regenerating content with Javascript - I feel like we could do better if anyone has time.

:+1:

What did I do? lol


feat: guix on tags, improve caching

Issue being fixed or feature implemented
See commits
What was done?
auto do guix untags, and improve caching from run to run
How Has This Been Tested?
hasn't
Breaking Changes
Checklist:
Go over all the following points, and put an x in all the boxes that apply.

[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have added or updated relevant unit/integration/functional/e2e tests
[ ] I have made corresponding changes to the documentation
[x] I have assigned this pull request to a milestone (for repository code-owners and collaborators only)

Guix Automation has began to build this PR tagged as v21.0.0-devpr6166.7bbe3cbd. A new comment will be made when the image is pushed.

Guix Automation has completed; a release should be present here: https://github.com/dashpay/dash-dev-branches/releases/tag/v21.0.0-devpr6166.7bbe3cbd. The image should be on dockerhub soon.


ERROR: bucket overflow

The solutions suggested to fix this issue in https://github.com/mit-han-lab/torchsparse/issues/55, does not solve the issue.
Is there an alternative solution for this issue?

Since TorchSparse has been upgraded to v2.1.0, could you please attempt to install the latest version? I will now close this issue, but please don't hesitate to reopen it if the problem persists.

I have the same problem with the latest version from the master-branch.


[Low-low priority] Can't reset password, can't re-use Github account

Details

Project URL: https://github.com/nathforge/django-swanson
Build URL (if applicable): https://github.com/nathforge/django-swanson/docs (??)
Read the Docs username (if applicable): nathforge

Expected Result
Can host Github project docs on readthedocs.org.
Actual Result
Can't host project docs due to forgetfulness.
Have let my nreynolds.me.uk domain expire - though<EMAIL_ADDRESS>was registered as the RTD account owner so can't reset password. Created new account, can't associate with Github as it's still associated to the old account.
The project's setup.py does list an author_email I'm still in control of<EMAIL_ADDRESS>Is it possible to remove the Github association from<EMAIL_ADDRESS>or change it's email to<EMAIL_ADDRESS>Don't care if the new account's deleted...
Thanks!

Looks like happened a lot of time seems the issue was created, sorry about that. @nathforge were you able to recover your account? Maybe you can try removing the GitHub app from https://github.com/settings/applications


Expose Composer bin-dir as environment variable

Is your feature request related to a problem? Please describe.
Composer allows to change the bin-dir location in the project's composer.json. Many custom commands are using a fixed location vendor/bin and if changed though the composer.json these scripts to not longer work. One example is the setup for the TYPO3 Core contribution where this folder is set to bin.
Describe the solution you'd like
During the start we can parse the composer.json and expose the location to an env var which then can be used inside the custom command scripts.
Describe alternatives you've considered
Additional context

For TYPO3 there are also other things like the public dir which can be changed in the composer.json. Would be cool if we can catch this case too for project type typo3.

For TYPO3 there are also other things like the public dir which can be changed in the composer.json. Would be cool if we can catch this case too for project type typo3.

A very straightforward thing now, with ddev v1.17+, would be to explicitly put the PATH you want into .ddev/config.yaml using web_environment. Does this solve this appropriately @gilbertsoft ?

I'm going to close this as a dup of the more general #3022  - happy to reopen if just providing addition to $PATH in the web container is not a good enough solution.


Update Set-SPPassPhrase.md

Filled in placeholder. Formatted example.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Set-SPPassPhrase.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


20200416 - meeting

Just an hour hanging out and talking about DAT stuff.
:point_right: Post a comment in this github issue with any topics you'd like to cover this week
:alarm_clock: Time: 16 Apr 2020, 17:00 Asia/Tokyo
:link: https://zoom.us/j/181036238 (Native)
:link: https://zoom.us/wc/join/181036238?pwd= (Web)

Timezone
Date/Time

Sydney
2 Apr, 7 PM

Tokyo
2 Apr, 5 PM

Berlin
2 Apr, 10 AM

Buenos Aires
2 Apr, 5 AM

New York
2 Apr, 4 AM

Los Angeles
2 Apr, 1 AM

Or in your local time: https://www.timeanddate.com/worldclock/fixedtime.html?msg=Dat+Comm-Comm+Meeting+2020-04-02&iso=20200402T17&p1=671&ah=1

The dates in the table are off

Thanks, now they should be correct.

thanks for meeting