Thoughts on JedisCluster pooling

This is not a bug report per se but here are some thoughts.
While testing JedisCluster with multiple threads I found that on an infrequent basis using the same JedisCluster in multiple threads had incidences of failures (not resource failure) that did not occur if each thread had it's own JedisCluster.  I made the problem go away by creating an Apache pool around instances of JedisClusters and requesting, using, and releasing the cluster back to the pool as needed.  This kind-of makes sense since each JedisCluster acts as a single Jedis instance and I need to use multiple Jedis instances at the same time.
Since JedisCluster has it's own pool of Jedis connections it seems wasteful to have to create yet another pool around the cluster which contains its own pool of connections.  But currently without the extra pool wrapper there are failures.
it might be worth looking into why the current pool is having these failures.  It might be worth having a JedisClusterPool object that does mumble.
Again, these are just thoughts.
I have code for the JedisClusterPool if anyone wants to fool around with it.

@allanwax what did you end up doing? We're upgrading an app to a Redis3 cluster, and it'd be nice to have a JedisClusterPool object to use the same way we used JedisCluster

After testing I ended up using the pool that Jedis cluster provides.  It works well and using auto-close I don't worry about connections.  This is of course with Jedis 2.7+ and redis 3.0.x.
I will say that I did specify my own set of GeneraicPool configuration parameters in creating the cliuster

Hi, allanwax! I am also studying using jediscluster Pool, but I am still in a mess. Can you send your ended up code for me to study? Thank you very much, my email address is<EMAIL_ADDRESS>

I hope the following is actually answering your question.  Otherwise I will need details as to what you are trying to accomplish.  If that is the case, please contact me.

The only thing I did slightly non-standard was to use my own pool config.  Also note that I am useing a jedis cluster not a jedis instance.  The answer is different for a single instance.
Note that the code that follows has had all the old functionality remove.  Basically all requests just return the cluster and releases do nothing.
... jedisCluster.set(...);

and connections will automatically be handled.
package com.findology.util.jediscluster;

import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Value;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPool;

import javax.annotation.PostConstruct;
import java.net.InetAddress;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;

public class JedisClusterPool {
    private static Logger log;
    private static JedisCluster jedisCluster = null;
    private static Thread shutdown = null;

    @Value("${nusf.jediscluster.poolsize:20}")
    private int poolSize;

    @Value("${nusf.jediscluster.warmup:true}")
    private boolean warmUp; // create and delete some random keys to force connections to be made

    @Value("${nusf.jediscluster.blockWhenExhausted:true}")
    private boolean blockWhenExhausted; // true: If we're out of resources, wait for some; false: fail

    private String hosts = null;

    static {
        log = Logger.getLogger(JedisClusterPool.class);
    }

    public JedisClusterPool() {
        log.info(JedisClusterPool.class.getSimpleName() + " default constructor called");
    }

    public JedisClusterPool(String hosts) {
        this.hosts = hosts;
        log.info(JedisClusterPool.class.getSimpleName() + " instantiated with hosts " + hosts);
    }

    @PostConstruct
    public synchronized void init() {
        if (jedisCluster == null) {
            Map<String, JedisPool> nodes = null;

            try {
                String[] jcHosts = hosts.split("\\s*,\\s*");
                Set<HostAndPort> jedisClusterNodes = new HashSet<>();

                for (String jcHost : jcHosts) {
                    String[] parts = jcHost.split("\\s*:\\s*");
                    try {
                        InetAddress address = InetAddress.getByName(parts[0]);
                        jedisClusterNodes.add(new HostAndPort(address.getHostAddress(), Integer.valueOf(parts[1])));
                    }
                    catch (Exception e) {
                        log.warn("Problem parsing jedis cluster host name: " + jcHost);
                    }
                }

                if (jedisClusterNodes.size() == 0) {
                    log.fatal("No usable jedis cluster host addresses found");
                    //System.exit(1);
                }
                else {
                    GenericObjectPoolConfig config = initPoolConfiguration();
                    jedisCluster = new JedisCluster(jedisClusterNodes, config);

                    nodes = jedisCluster.getClusterNodes();
                    log.info("Cluster members: " + nodes.keySet());
                }
            }
            catch (Exception e) {
                log.fatal("Failed to create JedisCluster: " + e, e);
                //System.exit(1);
            }

            if (shutdown == null) {
                shutdown = new Thread(new Runnable() {
                    // Clean up at exit
                    @Override
                    public void run() {
                        log.info(JedisClusterPool.class.getSimpleName() + " shutdown");

                        try {
                            if (jedisCluster != null) {
                                jedisCluster.close();
                            }
                        }
                        catch (Exception e) {
                            log.error(e);
                        }
                        finally {
                            jedisCluster = null;
                        }
                    }
                });

                Runtime.getRuntime().addShutdownHook(shutdown);
            }

            if (jedisCluster != null && warmUp) {
                try {
                    log.info(JedisClusterPool.class.getSimpleName() + " warmup");

                    final ExecutorService executor = Executors.newCachedThreadPool();
                    try {
                        for (int i = 0; i < (poolSize * (nodes == null ? 1 : nodes.size())); i++) {
                            final String key = JedisClusterPool.class.getSimpleName() + ":" + i;
                            executor.submit(new Runnable() {
                                @Override
                                public void run() {
                                    try {
                                        jedisCluster.set(key, key);
                                        jedisCluster.expire(key, 1);
                                    }
                                    catch (Exception e) {
                                        log.warn(e.getMessage());
                                    }
                                }
                            });
                        }
                    }
                    finally {
                        try {
                            Thread.sleep(1000L);
                        }
                        catch (InterruptedException e) {
                            // ignore
                        }

                        executor.shutdown();
                        try {
                            executor.awaitTermination(5L, TimeUnit.SECONDS);
                        }
                        catch (Exception e) {
                            // ignore
                        }
                        finally {
                            if (!executor.isTerminated()) {
                                executor.shutdownNow();
                            }
                        }
                    }
                }
                catch (Exception e) {
                    log.fatal("Could not start " + JedisClusterPool.class.getSimpleName(), e);
                    //System.exit(1);
                }
            }

            if (jedisCluster != null) {
                log.info(JedisClusterPool.class.getSimpleName() + " is up");
            }
        }
    }

    private GenericObjectPoolConfig initPoolConfiguration() {
        GenericObjectPoolConfig config = new GenericObjectPoolConfig();

        config.setLifo(true);
        config.setTestOnBorrow(true);
        config.setTestOnReturn(false);
        config.setBlockWhenExhausted(blockWhenExhausted);
        // config.setMinIdle(Math.max(1, (int) (poolSize / 10))); // keep 10% hot always
        config.setMinIdle(1);
        config.setMaxTotal(poolSize + 1); // the number of Jedis connections to create
        config.setTestWhileIdle(false);
        config.setSoftMinEvictableIdleTimeMillis(3000L);
        config.setNumTestsPerEvictionRun(5);
        config.setTimeBetweenEvictionRunsMillis(5000L);
        config.setJmxEnabled(true);

        return config;
    }

    public static JedisCluster acquire() throws Exception {
        return jedisCluster;
    }

    public static void release(JedisCluster connection) throws Exception {
        // noop; but it used to do something when we had our own pools
    }

    public String getHosts() {
        return hosts;
    }

    public void setHosts(String hosts) {
        this.hosts = hosts;
    }

    @Override
    protected void finalize() throws Throwable {
        try {
            if (jedisCluster != null) {
                jedisCluster.close();
            }
        }
        catch (Exception e) {
            // ignore
        }
        finally {
            jedisCluster = null;
        }

        super.finalize();
    }

}

I notice that you implemented a class named JedisClusterPool, I am curious about how to create an object of this class and how to use it with a redis cluster, can you give a demo? By the way, I read that you tested the speed of using pool and not, could you please show me how to test? Thank you.

@allanwax have you experienced any of the issues described by #1120 or #1108 when using JedisCluster?

@ustcshopping The class I published here is in a sense not used but since code already exists uses it, we have to keep it going.  As mentioned above all this class really does create a jedis cluster with a certain config and hands out the cluster as requested.  You should be able to modify the above code and just call the constructor with the list of host and port.  Use acquire() to get a Jedis instance and release() when you're done.
@marcosnils I have not seen those issues. We run with 4 masters and 4+ slaves and configure the connections to block if there are none currently available.

hi , @allanwax  , can give me all of your test code or the perf data, thinks

That was a while back.  I'll see if I can find the code.  I'll post here if I find it but otherwise it's gone to the bit-bucket.

thinks @allanwax  i  am care with the perf of  redis run the module between cluster and single ， i test it , cluster is slow too many then single。

@liuwenru  @allanwax would love an updated result of those tests as many fixes were merged since then.

@liuwenru @marcosnils I cannot find my test code but I'd be willing to examine your test program and perhaps provide some suggestions.  It may jog some memories from two years ago.

Interesting, I faced the same issue and use the pool to manage the RedisCluster objects.
It's working fine so far.
public class JedisClusterPool extends Pool<JedisCluster> {

    private String servers;

    public JedisClusterPool(String servers, JedisPoolConfig config) {
        this.servers = servers;
        initInternalPool(servers, config);
    }

    /**
     * Create a JedisPoolConfig with new maxPoolSize becasuse JedisPoolConfig's default maxPoolSize is only 8.
     * Also reset the idle checking time to 10 minutes, the default value is half minute.
     * Also rest the max idle to zero, the default value is 8 too.
     * The default idle time is 60 seconds.
     */
    public static JedisPoolConfig createPoolConfig(int maxPoolSize) {
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(maxPoolSize);
        config.setMaxIdle(maxPoolSize);
        config.setTimeBetweenEvictionRunsMillis(600 * 1000);
        return config;
    }

    /**
     * Initialize the internal pool with connection info and pool config.
     */
    protected void initInternalPool(String servers, JedisPoolConfig config) {
        JedisClusterFactory factory = new JedisClusterFactory(servers);
        internalPool = new GenericObjectPool<>(factory, config);
    }

    public String getServers() {
        return servers;
    }
}

@Slf4j
public class JedisClusterFactory implements PooledObjectFactory<JedisCluster> {
    private final Set<HostAndPort> hostAndPorts = new HashSet<>();

    public JedisClusterFactory(final String servers) {
        super();
        String[] serverArr = servers.split(",");
        for (String server : serverArr) {
            String[] configs = server.split(":");
            HostAndPort hostAndPort = new HostAndPort(configs[0], Integer.parseInt(configs[1]));
            hostAndPorts.add(hostAndPort);
        }
    }

    @Override
    public void activateObject(PooledObject<JedisCluster> pooledJedis) throws Exception {
        pooledJedis.getObject();
    }

    @Override
    public void destroyObject(PooledObject<JedisCluster> pooledJedis) throws Exception {
        final BinaryJedisCluster jedis = pooledJedis.getObject();
        if (jedis != null) {
            try {
                jedis.close();
            } catch (Exception e) {
                log.error("destroyObject error!!!", e);
            }
        }
    }

    @Override
    public PooledObject<JedisCluster> makeObject() throws Exception {
        final JedisCluster jedis = new JedisCluster(hostAndPorts);
        return new DefaultPooledObject<>(jedis);
    }

    @Override
    public void passivateObject(PooledObject<JedisCluster> pooledJedis) throws Exception {
        // TODO maybe should select db 0? Not sure right now.

    }

    @Override
    public boolean validateObject(PooledObject<JedisCluster> pooledJedis) {
        final BinaryJedisCluster jedis = pooledJedis.getObject();
        try {
            return jedis != null;
        } catch (final Exception e) {
            log.error("validateObject error!!!", e);
            return false;
        }
    }
}

@superleo-cn thx for the feedback. I'll close this as there's not too much to do here. Let's wait to see if someone opens a new issue.

@superleo-cn @marcosnils As a side note, we actually don't use the pooling anymore.  We just hand out the one cluster to whatever asks for it.  If there are too many requests, it blocks until a resource is available.  The pooling framework exists but it's hollow now.  It exists for the older code that expects it to be there.  A single cluster (and it's pools) seems to work fine.


Feature suggestions

I have a lot of suggestions, so I thought it would be a good idea to combine them all here.

Component Grouping #10

Two factor authentication #13

AWS SNS intergration  #11

Custom colours/ styling changeable via a settings page  #12

This could be done by having the S3 page trigger a lambda even in order to modify the CSS in S3

SSO

E.g. With google/ facebook

You could use amazon SNS for emailing/ texting subscribers with incident updates

I see. Yes, it sounds good idea to use amazon SNS for that purpose. Thank you for explaining.

A small suggestion/question:

Is their a way to change the HTML Layout or just CSS. We'd love to customize the UI to our brand, without having to use AWS CloudFormation Designer. Thank you!

Thank you for asking. Sorry, you can change only the logo and the background color so far.
But it's great to support the feature to make CSS customizable. Can you tell me what kinds of changes you want to make (like font size, font color or margin size)?

Thanks for taking the time to respond. The ability to change font-family, font-size, font-color, padding and margins would be more than appreciated.
Below is a list of customizations that would be amazing to have.

Integrate a new CSS/SCSS file for manipulating the UI, without touching any core SCSS files. Could also be similar to Edit CSS in Wordpress (https://en.support.wordpress.com/custom-design/editing-css/)
. While inspecting the structure I noticed that all class names are appended with a random string in the end which could be a possible blocker for targeting CSS classes?
Google font integration would be great
Ability to add external links to the footer or header. Would love to add links for documentation, support, etc.
Manipulate the structure of Header, Main Container and Footer would be a added bonus if possible. Something similar to https://www.statuspage.io/features/customization.

I know I’m asking for a lot, but i feel that the above features would make LambStatus Awesome-er. I’d love to help in any capacity to help implement customizations/theme options or any other UI related needs. Thank you!

Integrate a new CSS/SCSS file for manipulating the UI, without touching any core SCSS files.

StatusPage.io also has a similar feature https://help.statuspage.io/knowledge_base/topics/using-custom-css . Though the css class has a random prefix since CSS modules are used, maybe we can let the principal UI components have the id attribute and customize the design like this:
#container {
    width: 90%;
    max-width: 850px;
}

I've created the issue for this: https://github.com/ks888/LambStatus/issues/92

Google font integration would be great

Does it mean the option to choose the font family of the Google fonts? That sounds interesting.

Ability to add external links to the footer or header. Would love to add links for documentation, support, etc.
Manipulate the structure of Header, Main Container and Footer would be a added bonus if possible. Something similar to https://www.statuspage.io/features/customization.

Maybe we can support these customizations by having the feature to customize the header html and footer html. I've created the issue for this: #93

Does it mean the option to choose the font family of the Google fonts? That sounds interesting.

Yes, a dropdown with a list of google fonts to choose from in the settings page. Where the user can choose fonts for Page Header and Paragraphs(General Text).

Thank you for your reply. I've created the issue for this: https://github.com/ks888/LambStatus/issues/94


fix: Remove any and use Record

This PR will

remove any
use Record

@jdanyow any update on this?

@ffflorian thanks for the PR, nice improvements. Sorry it took so long to merge.


harcoded parameter values in command

See this command
export SERVICE_IDENTITY=$(az spring app show --name "springapp" -s "myspringcloud" -g "myResourceGroup" | jq -r '.identity.principalId')

It hardcodes myspringcloud and myResourceGroup.
Placeholders instead of these values were used in the earlier tutorial steps, so this command will fail.
myspringcloud appears a second time on the page.

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

ID: e10c3efb-ce94-9e03-72eb-8db51f67c644
Version Independent ID: 1affe29a-4616-b6b8-f265-6e524518c056
Content: Tutorial: Managed identity to connect Key Vault
Content Source: articles/spring-apps/tutorial-managed-identities-key-vault.md
Service: spring-apps
GitHub Login: @KarlErickson
Microsoft Alias: karler

@ciufudean
Thanks for your feedback! We will investigate and update as appropriate.

Thanks, @ciufudean! I've submitted a pull request to fix this.


False positive (?) in no-environment-urls rule

@description('Specifies a URI for the data, for testing purposes use: https://azbotstorage.blob.core.windows.net/sample-artifacts/yellow_tripdata_2022-04.parquet')
param dataUri string

There are several of these in the quickstarts.
We could skip looking inside attribute parameters

@bmoore-msft  would you agree this is a false positive?

Is this a duplicate of https://github.com/Azure/bicep/issues/7954?

@jeskew - yes, dupe of #7954 / false positive


Allow user to select identity and issuer when signing

Ref: https://github.com/sigstore/sigstore-python/issues/567

dup #490


Improve docs after CRIUGM work session

Description

Missing sample command for make_doughnut.py
Container store steps unclear/undocumented

Relevant documentation pages
No response
Additional details
No response

Hey @michellewang do you want to close this one / copy over to nipoppy repo now that you are moving the docs there?

Closing since this issue is no longer really relevant with the new docs


Added a mapping for labels to make them more human-readable

A label mapping from a json file has been added. The file is called spm_labels.json and is located in the following directory bids_prov/mapping_labels.
Here is its format:
{
"matlab label part": "new name"
}

For example, we can have the following dictionary:
{
  "coreg": "Coregistration"
}

If we have the following label spm.spatial.coreg.estimate.ref(1) , it will be transformed into Coregistration because the key in our dict in contained in `spm.spatial.coreg.estimate.ref(1).
spm.spatial.coreg.estimate.ref(1)  -> Coregistration
Application example with the 1st result example:

This is awesome! Thank you @thomasbtnfr. I tried to updated the mapping file to include more labels for SPM but the tests are now failing. Could you help me understand what I did wrong? Thank you!

It must come from the internal functioning, you filled in the file correctly. I fix that in the day

The problem came from the activity labels. Indeed, I replaced completely the existing label by the mapping but in the global process the "_{activity number}" is actually very important especially for the "used" and "wasGeneratedBy" keys. That's why I added the activity number after the mapping which solves the current problem. At the end of the script I added a post processing to remove this activity number which I think is not interesting for the users.
Now, example of graph:


Move JavascriptErrorDebug functionality out of core.

JavascriptErrorDebug functionality is used for WinRT related errors only. Also rename MapAndThrowError (which does not map in the terminology of the error codebase) to SetMessageAndThrowError

Few minor comments. Looks great!


Login to MunkiReport with AD users

Hi all,
I have a problem that can not log in with AD users after adding configure to .env
<EMAIL_ADDRESS>AUTH_AD_BASE_DN="OU=Company Users,DC=my,DC=pseudo,DC=company"
AUTH_AD_HOSTS="dc1.my.pseudo.company,dc2.my.pseudo.company"
AUTH_AD_ALLOWED_USERS=user1
AUTH_AD_ALLOWED_GROUPS=munkireport_admins
AUTH_AD_RECURSIVE_GROUPSEARCH=FALSE

When login it got an error  An error occurred while contacting AD
Does anyone have the same problem or can help me
Thank you!!

The problem is that SE Linux needs to allow httpd_can_connect_ldap >> on


Restart_instance in sumo_params should be true for inflows

In sumo_params, restart_instance defaults to false. However, if you have inflows, this causes it to progressively slow down. If we have inflows, it should be defaulting to True.

If we force restart_instance to be true, then they will not be able to run simulations with resets without the windows constantly opening and closing. We could recommend in the docstring when to sit it to true and when to set it to false, or alternatively have them deal with constantly pressing run inbetween rollouts. Thoughts?


Add puppeteer and simplest catalogue integration test

Who is this for?
Devs
What is it doing for them?
Letting them write integration tests by driving headless Chrome with jest-puppeteer

Devs

This will be for more than devs! Nice

Add puppeteer and failing test

Assuming this PR will address the failing test?

For https://github.com/wellcomecollection/platform/issues/4278


GridConfig UX improvements

Desired behavior
Current GridConfig UI below.
Proposed enhancements:

"Horizontal" should precede "Vertical" field, for better intuition
"Position" field should be more clear which part of the grid it refers to, the center, a corner and which corner, etc.
Consider making the "Color" group a linear layout as opposed to 2 x 2. Opposing argument: 2 x 2 saves space over vertical. They might fit horizontally.

Other enhancements:

There has been community suggestion that we offer an interface in degrees for angles. Has not been discussed internally. If we make standard widgets to be reused across plugins, that might be something to add.
If we do that, then similar could be said of colors in range 0-255, since color pickers online and in drawing tools usually give colors in that range.

Implementation suggestion
GridConfig plugin is located at https://github.com/ignitionrobotics/ign-gui/tree/ign-gui6/src/plugins/grid_config
Additional context
Original discussion here https://github.com/osrf/lrauv/pull/125

Consider making the "Color" group a linear layout as opposed to 2 x 2. Opposing argument: 2 x 2 saves space over vertical. They might fit horizontally.
...
If we do that, then similar could be said of colors in range 0-255, since color pickers online and in drawing tools usually give colors in that range.

Implementator can leverage https://github.com/ignitionrobotics/ign-gazebo/pull/1123#issuecomment-953411356

I've marked it as help wanted, feel free to remove if you believe otherwise.


NetworkedAnimator may cause excessive allocations

Apologies for pointing this out before I've tested it, but noticed that, just like in the vanilla HLAPI, the for loops when reading and writing parameters repeatedly call the m_Animator.parameters property. This causes huge allocation spikes there. I created PR 12 for this. https://github.com/TwoTenPvP/MLAPI/pull/12

Haven't tested either. But this should be right. However, no need to allocate a new array each time we can WriteParameters. The parameters are not changed during runtime (AFAIK) and thus we can keep the array. Fix this and I'll merge.

Agreed. I felt this was less than optimal in the original PR also.

Have update PR with this.
BTW, the original patch works in HLAPI, which I've verified through testing, so expecting this to work as well.

It doesn't. See comments on PR.

Ok. I'll make the equivalent change in HLAPI and test before updating again.


Update examples to VRS 2.0

note that the gene descriptor in the ABL1 functional domain example should be updated to a GKS Gene as well

@jarbesfeld @katiestahl @jsstevenson I think this issue still needs to be addressed. I'm also looking at the nomenclature tests and I think TranscriptSegmentElement are incorrect. They should only be using start or end, not both.

@jsstevenson IIRC we're holding off on adjacency for a bit. I re-opened #172 and made a PR to update the examples


SAK-29407 Don’t fail where params undefined.

Reports defined earlier may not contain from/to dates so before copying
them we should check they aren’t null (to prevent NPE). The copying of
null fields is fine in other places.
It’s not practical to update the DB to ensure all fields are always defined.

LGTM


Missing slash added in pypa server

Related to #126

@ant6 merge at will

Current coverage is 69.01% (diff: 100%)

Merging #127 into master will decrease coverage by 0.39%

@@             master       #127   diff @@
==========================================
  Files             7          7
  Lines           768        768
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits            533        530     -3
- Misses          235        238     +3
  Partials          0          0

Powered by Codecov. Last update 3837394...e3bbc2e


Revert "Remove last few references to window singleton"

Reverts flutter/flutter#122644
Reason: Need to investigate an internal screenshot test failure.

Closing this as the new screenshot is actually what was intended originally.


Port latest wiki changes

Ported all changes from September 5th to October 25th

Nice catch with the literals, @hidmic ! Should all be fixed on 4a6fe963e0380762aecc027bfb12719132f64072


Update mirror-fitness branch with forked repo

@Rhetorical there is a conflict on this pr. can we resolve this? you can talk to @FrancoisObob if you need help.

@yapiskan I don't think that there is any conflict in the file, I just tried it locally, I think the issue is that I don't have write access. If there is a conflict I can't update any files to upload at this time. Can you update my permissions on the repo?


Items not rendering

Describe the bug
A clear and concise description of what the bug is. If you intend to submit a PR for this issue, tell us in the description. Thanks!
There is nothing rendering in our carousel. I can console log the item but nothing visually shows up. It was working previously. We recently started testing on iOS 17.2 which required us to upgrade several packages. We haven't been able to get anything to render since updating. I've attempted to just simply display text in the carousel but nothing will render.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Expecting to see the component given to renderItem
Screenshots
If applicable, add screenshots to help explain your problem.
Versions (please complete the following information):

react: v18.2.0
react-native: v0.72.9
react-native-reanimated: v3.6.1
react-native-reanimated-carousel: v3.5.1
react-native-gesture-handler: v2.14.1

Smartphone (please complete the following information):

Device: iPad Air 5th Generation
OS: iOS 17.2

Additional context
Add any other context about the problem here.

I've been playing around in the source code some. If I removed overflow: "hidden" from the container I can see my items, though they aren't displayed quite correctly. I can also see that if I just put some text as a sibling to ItemRenderer my carousel content is visible for whatever the width of the text is. Seems there is an issue with width somewhere in here.

Turns out we had width and a different width being pasted into style. Once I removed the style width things seemed to work correctly.


Check if the accused member ID is non-zero

In the resolve secret shares accusation phase and resolve public key share points accusations phase, we were checking whether the accused member ID does not exceed the group size. We were not, however, checking if it's non-zero which could result in returning an error from GJKR protocol.

LGTM, if @lukasz-zimnoch has no comments, I think we can merge.


Helm Lint: RFC 1123 warnings (resource names) should be an error

Output of helm version: version.BuildInfo{Version:"v3.16.2", GitCommit:"13654a52f7c70a143b1dd51416d633e1071faffb", GitTreeState:"dirty", GoVersion:"go1.23.2"}
Output of kubectl version: 1.29
Cloud Provider/Platform (AKS, GKE, Minikube etc.): Orbstack
Helm lint issues a warning when a resource is not named in a DNS-compliant way.
In practice, this naming will result in the chart being impossible to install, because K8S enforces the DNS compliance for resource names.
Could you switch this warning to an error ?

This makes sense

In practice, this naming will result in the chart being impossible to install, because K8S enforces the DNS compliance for resource names.

This isn't entirely true. And I think the reason for a warning here. ie. the following template:
name: {{ .Values.name | default "InValiD" }}

Would produce a valid (RFC 1123 compliant) name, if the name value was valid. But an invalid name if the name value was unset or invalid. Hence an error I don't think is warranted, as it is not certainly true that the name during lint time will be invalid during install/upgrade time.
Overall, a linting a chart, is not the same as linting the chart's rendered manifests. These depend strongly on the charts' release's input values.

FWIW, in my case, the issue is being emitted for an invalid, non-templated name (someone named a newly introduced configMap "aaa_bbb-dashboard" and didn't pay attention to warnings).
Neither the helm lint nor helm upgrade -i xxx . --dry-run produced an error.
The new chart was merged & published as a minor update (as correctly inferred because no breaking change was introduced), and broke all installs.
Although I agree that this is a complicated matter, my opinion is that the linting should be applied to the "default" rendered chart, with the values from the values.yml file that sits along the Helm chart. And if this produces something that's invalid, then it should be an error.
What use is it to be a warning if it results in impossible-to-install charts when the chart is rendered with the default values?
The only solution I see for stopping these charts from going into production is passing the --strict option in our helm lint CI. But doing so will force people to fix less important issues like a missing icon URL or other warnings issued about "please don't do that, it won't break your install but it's better another way".
So.. yeah. I'm no contributor to Helm so I won't press, but this has bitten me twice now, and I feel I'm not the only one.


Update iot-hub-devguide-protocols.md

doesn't seem to make sense as currently worded

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

Thanks @robinsh! Should be updated to the latest text. #sign-off

@dcbrown16: I'm sorry - only the author of this article, @robinsh, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@robinsh, you can only sign off in the main PR conversation, not in review comments.

Right, that's where I meant. I guess this is the "main PR conversation".


PGATour leaderboard

Hi Nosquint, since updating to Firefox 43.0.1 having trouble with Noquint and the PGATour Leaderboard site: http://www.pgatour.com/leaderboard.html/?cid=USAT_top5LB.
If I turn off Nosquint it displays correctly. Have tried exceptions: *.pgatour.com, pgatour.com, .pgatour.com/ with no success.
Link to image of error page below, any advice would be appreciated.

yours Andy Joyner

It is the text zooming option causing the problem, anyone??


build: Add pre-commit

Adds hooks for black and flake8 to ensure that changes are linted and blackened before committing.

I split PR #92 into several pull request, so you can comment on them incrementally.
Nevertheless due to the dependencies they are still cummulative and thus hould be applied in the folloing order:
#91 > #95 > #96 > #97 > #92
If you don't like some of the features (e.g. flake8 or tox) - although it would be a pitty ;-)  - let me know and I will rebase and modify the subsequent once to fit.

And this is the next one, if I'm not mistaken. Rebase, please.

@KeNaCo I think we can consider this as pefect timing... 😆


Add initial version of memory_mapped_file

Currently, there are a few open points left:

The windows implementation needs testing
This should probably be a span<std::byte **const**>. Otherwise implementations need to be updated to allow read/write access.

There were some redesigns: memory_mapped_file is now given a template parameter that determines the type T of the parent span. Depending on the constness of T the mapping gives either readonly or read/write access.
The Windows implementation still needs testing.

The windows implementation is now tested and working. Both readonly, as well as read/write work nicely now!


Finalize Travis CI Integration

The current goal is to have this repository auto-trigger builds at the main Travis CI instance [1] when commits are pushed.
[1] https://travis-ci.org/Lind-Project/lind_project/settings

Webhooks should be triggering automated builds on pushes now.

This is still something that should be revisited at some point, as a working CI would be very useful to have.

I created this little Flask webapp that listens for push notifications on the native_client repo (1) originating from a GitHub webhook and makes a call to the Travis API to  trigger a build on the lind_project repo (2).
Feel free to adopt and use it as you see fit. Alternatively, I can set it up for you, if you give me admin access to the Lind project organization. :)
One thing I'm not so sure about is how (1) and (2) are related. I see that you have a bunch of submodules in (2), but none of them point to (1), right?
So in order for this webhook to make sense, a change in (1) should somehow propagate to (2).

Thanks, @alyptik. Before I set anything up though, we should discuss the questions I have. Either here and/or later today during the dev meeting.

@lukpueh Hope that kind of explained things a bit, if you have any other questions feel free to email me

Okay, so from our discussion on Tuesday I gathered that, when building Lind-project/lind_project it git clones Lind-project/native_client at branch develop  (see mklind#L190 and mklind#L296-L297).
In order for the proposed trigger-push-via-webhook setup to be effective the  hardcoded develop branch in mklind#L190 would need to be changed to the commit id being pushed before building.
The GitHub webhook does send the commit id that's being pushed, so we could pass it on to Travis CI in the API call, e.g. setting a Travis environment variable that is read by mklind to override the pointer to the develop branch.
I don't really like that approach as it builds lind_project with a version of native_client that is not defined in the lind_project codebase but magically set on the Travis server.
We could do some more webhook sorcery, e.g. listen for pushes to native_client and dynamically change and commit the reference in lind_project and push it to a dedicated branch, which would also trigger a build.
Addendum:
An alternative to cloning native_client in mklind would be to add native_client as a submodule. But this would still require actively updating the submodule reference in lind_project on a push to the submodule, akin to telling mklind to clone the dependency at a certain commit.
There's also an alternative solution to GitHub webhooks with a custom listening endpoint. That is, specifying a travis build routine for native_client whose only purpose is to trigger the build for lind_project using the Travis API (see this example).

@lukpueh Hm, I'm currently seeing if I can just git submodule the native_client repository, and merge all the dependencies into the main repository with git subtree. Would that make this a bit easier you think?

As mentioned above, it does not eliminate the need to update the submodule on a push, so that the supermodule is built with the updated submodule.
So no, it does not make building lind_project on a push to native_client any easier. I do think however that it would make the relationship more transparent.

We should discuss in the developers' meeting.  In general, we want to use
similar git features / setup across projects unless there is a good reason
not to.
On Fri, Nov 2, 2018 at 5:18 AM lukpueh<EMAIL_ADDRESS>wrote:

As mentioned above, it does not eliminate the need to update the submodule
on a push, so that the supermodule is built with the updated submodule.
So no, it does not make building lind_project on a push to native_client
any easier. I do think however that it would make the relationship more
transparent.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/Lind-Project/native_client/issues/1#issuecomment-435318239,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA0XD2pTyOwy4A6TceCYBLDr7AG1q56gks5urA3ugaJpZM4U-BAB
.

@lukpueh Since native_client is a submodule now, mklind#L235 should update the submodule reference when the webhook triggers the build to run ./mklind shouldn't it?

@JustinCappos Yeah, so then I think making it a submodule is for the best, since that's what our other projects do. After shifting a few things around it does seem to be a lot cleaner in general doing it this way too.

Okay, that's fine.  It's more that I want to be sure that someone coming in
doesn't need to learn 5 different git oddities to handle similar cases.
On Fri, Nov 2, 2018 at 3:19 PM Joey Pabalinas (jp<EMAIL_ADDRESS>wrote:

@JustinCappos https://github.com/JustinCappos Yeah, so then I think
making it a submodule is for the best, since that's what our other projects
do. After shifting a few things around it does seem to be a lot cleaner in
general doing it this way too.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Lind-Project/native_client/issues/1#issuecomment-435464379,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA0XD6-dd35k5h81OqyZnGE6fdosqvycks5urJrXgaJpZM4U-BAB
.


Hotfix for v1.5.0 download race

This change is

It looks like that a test needs to be adjusted for new netstore changes https://github.com/ethersphere/bee/runs/5835696394?check_suite_focus=true#step:11:5530.


build: Update to header 1.3.271

Update known-good
Generate source

CI Vulkan-Tools build queued with queue ID 90783.

CI Vulkan-Tools build # 1297 running.

CI Vulkan-Tools build # 1297 passed.


Configurable number of retries for Enumerator cronjob submission

Is your feature request related to a problem? Please describe.
When testing the enumerator, in case the PGE crashes, currently HySDS retries job submissions to 5 attempts. This is normally okay, but frustrating in that we have to wait 5x longer than needed to read and debug a given _stderr.txt (each retry overwrites the file).
Describe the solution you'd like
A default of 5 retries specified in a configuration file that can be adjusted by hand if needed. Specifically this code block most likely.
Describe alternatives you've considered
n/a
Additional context
Add any other context or screenshots about the feature request here.

Cron is you retry. Do not have hysds retry.
On Mon, Apr 12, 2021, 14:47 Rishi Verma @.***> wrote:

Assigned #9 https://github.com/aria-jpl/coseismic_enumerator/issues/9
to @al-niessner https://github.com/al-niessner.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/aria-jpl/coseismic_enumerator/issues/9#event-4584740193,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIUBIWSAH3EAEJ45ZTUFGTTINTANANCNFSM422DJDAA
.


Notebooks show "no renderer"

todays insiders
open any notebook (ipynb or ghinb)
no output is rendered

reverting https://github.com/microsoft/vscode/commit/8b0248854a4c6996ddea13e30dcc4fb0b56ef53b fixes this

Ugh sorry, missed a case where we were calling URI.isUri(this.entrypoint)


Nighttime Forecast

Instead of only showing Today or Tomorrow's Forecast only, use the nighttime forecast as well.
EXAMPLE:
If Today's forecast is available, show Tonight's forecast 2nd.
If Tomorrow's forecast is available, show Tonight's forecast 1st.

This is a test

Any progress on the nighttime forecast? Just checking.

It looks like the issue is I am missing too many night time images.  The ones that you provided where great but I am missing ones such as night time windy.

I know the original WeatherSTAR 4000 didn't have the nighttime forecast during the 90's, but here are three nighttime icons that I have created for you:

Scattered (Rain) Showers Night

Scattered Snow Showers Night

Scattered Thunderstorms Night

Oh, and as for the nighttime windy icon?

 I made some that were similar to the daytime ones, but these are a lot more pleasing.

@malekmasoud: Thanks!  I'll be sure to incorporate theses images into a future version of the site!

FYI, this is what I have so far.  I am still working on it so stay tuned!

@vbguyny Nice! Hope it gets released in the next 2 or 3 days!

This has been implemented in v1.31 which is now live.

Alright. Thank you for helping! I have another suggestion I'll open soon since I have a soure that might work.

@malekmasoud: I would like to give you credit for the images on the front page for the graphics.


diff: Improvements checklist

Some things I think can be done to improve lvsfunc.comparison.diff after hearing some user feedback:

[x] Return ranges when possible instead of just single frames with return_frames=True
[x] ~~Some kind of output file if specified that can be referenced later (and ideally will not get overwritten) ~~Was handled in #40, and there it was determined it'd be better to just return the frames (which it does right now).
[x] Param to create a bookmark file, or to add to an existing bookmark file maybe? Likewise, by outputting the list of frame ranges, the user can write this themselves.
[x] If vspreview/vsedit at one point allows for it, maybe somehow overwrite the frame number you can jump to to only display the frame numbers of the actual frames taken (instead of going sequentially from 0-1000 for example like it would normally). This would make copy-pasting values a lot easier. Unlikely to ever happen, so just marking this as done.

These aren't hard requirements, but potential improvements to be made at a later date.

Comments added to the remaining 3 tasks about their viability, as well as has and hasn't been discussed so far. No real reason to keep this issue open any longer.


change organization name to "ReSwift Community"

This affects project file creation templates.
I also went ahead and changed all copyright lines in the 2nd commit of this PR.
This changes files attributed to @Ben-G -- he's fine with the change.
Result:
//
//  Filename.swift
//  ReSwift
//
//  Created by Your Name Here on 2019-08-03.
//  Copyright © 2019 ReSwift Community. All rights reserved.
//

@mjarvis @danielmartinprieto How do you like "ReSwift Community"? Could truncate to just "ReSwift", too, but liked the ring of "Community" better.

Codecov Report

Merging #421 into master will decrease coverage by 1.45%.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           master   #421      +/-   ##
========================================
- Coverage   99.45%    98%   -1.46%
========================================
  Files           5     16      +11
  Lines         185   1003     +818
========================================
+ Hits          184    983     +799
- Misses          1     20      +19

Impacted Files
Coverage Δ

ReSwiftTests/PerformanceTests.swift
100% <ø> (ø)

ReSwiftTests/StoreTests.swift
100% <ø> (ø)

ReSwift/CoreTypes/Subscription.swift
100% <ø> (ø)
:arrow_up:

ReSwift/CoreTypes/Store.swift
100% <ø> (ø)
:arrow_up:

ReSwiftTests/TestFakes.swift
96% <ø> (ø)

ReSwiftTests/StoreSubscriptionTests.swift
98.26% <ø> (ø)

ReSwiftTests/StoreDispatchTests.swift
96.77% <ø> (ø)

ReSwiftTests/XCTest+Compatibility.swift
100% <ø> (ø)

ReSwiftTests/AutomaticallySkipRepeatsTests.swift
94.11% <ø> (ø)

ReSwiftTests/TypeHelperTests.swift
90% <ø> (ø)

... and 15 more

Continue to review full report at Codecov.

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

I think ReSwift Community sounds cool 💯
Sent with GitHawk


Fixed bokeh bug with offset being undefined

Fixes a small bug in bokeh which occurs in certain layouts containing Empty objects.

[x] Fixes https://github.com/ioam/holoviews/issues/2378

Looks good. Merging.


travis: ElasticSearch 2.2.0

I'm testing installation process for ElasticSearch 2.2.0 on Travis CI (current 1.4.0) for Invenio-OAIServer.
-services:
-  - elasticsearch

env:
+  - ES_VERSION=2.2.0

before_install:
+  - "mkdir /tmp/elasticsearch"
+  - "wget -O - https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/${ES_VERSION}/elasticsearch-${ES_VERSION}.tar.gz | tar xz --directory=/tmp/elasticsearch --strip-components=1"
+  - "/tmp/elasticsearch/bin/elasticsearch -d -D es.path.data=/tmp -D es.index.store.type=memory -D es.discovery.zen.ping.multicast.enabled=false"

Proposal

lowest: ES_VERSION=2.0.1 2.2.0
released: ES_VERSION=2.1.0 5.0.0/latest?
dev: ES_VERSION=2.2.0 dev
(updated: 2016-10-24)

--
see https://github.com/jirikuncar/invenio-oaiserver/commit/b2041e33f0ca5b3236ae000713acc33c556e9704

We should have a look at supporting latest Elasticsearch 5.0 and unpin elasticsearch dependency created in #87.

closed via ecd50fb53ed89d755952fafc823e31e04a1da4a2


Generated typescript code for dictionary does not compile

"responses": {
    "200": {
        "schema": {
            "type": "object",
            "additionalProperties": {
                "$ref": "#/definitions/myItem"
            }
        }
    }
 }

The response above, from this swagger document, will result in incorrectly generated TypeScirpt code.
result200[key] = resultData200[key] ? MyItem.fromJS(resultData200[key]) : {};

result200 is of the type  { [key: string]: MyItem; } | null and {} is not conform to the MyItem type

Based on my investigation the issue is in ConvertToClassTemplate (line  25) in the JSonSchema repo. As it uses the default value of Model, i.e. the dictionary and not the default value of the item.
If I'm correct then this patch should fix the issue

https://github.com/RSuter/NJsonSchema/commit/121091576486d6a99d0772f8e90314706dde0c41


Log source code in run_experiment

source_path = log_path / '.source_files'
source_path.mkdir()
for source_file in Path(inspect.getsourcefile(run)).parent.glob('*.py'):
    shutil.copyfile(source_file, source_path / source_file)


better document dependencies for installing

For those of us not familiar with the ocaml toolchain and errors messages it spits, it would be helpful to document which system dependencies are needed. For instance, installing the following packages
apt-get install libfindlib-ocaml libgmp-ocaml libgmp-ocaml-dev ocaml ocaml-base ocaml-base-nox ocaml-compiler-libs ocaml-interp ocaml-nox opam opam-docs

via debian unstable leaves me with the following versions:
user@host:~/.opam/system$ ocaml -version
The OCaml toplevel, version 4.05.0
user@host:~/.opam/system$ opam --version
1.2.2

Yet after running opam install jackline I run into this issue:
...
  installed x5<IP_ADDRESS>
∗  installed tls.0.8.0

#=== ERROR while installing erm_xml.0.3.1 =====================================#
# opam-version 1.2.2
# os           linux
# command      ocaml setup.ml -configure --prefix /home/user/.opam/system
# path         /home/user/.opam/system/build/erm_xml.0.3.1
# compiler     system (4.05.0)
# exit-code    1
# env-file     /home/user/.opam/system/build/erm_xml.0.3.1/erm_xml-3530-a6f66d.env
# stdout-file  /home/user/.opam/system/build/erm_xml.0.3.1/erm_xml-3530-a6f66d.out
# stderr-file  /home/user/.opam/system/build/erm_xml.0.3.1/erm_xml-3530-a6f66d.err
### stderr ###
# [...]
# File "/usr/home/ermine/projects/ocaml/src/oasis/src/plugins/internal/InternalInstallPlugin.ml", line 290, characters 31-50:
# Warning 3: deprecated: String.uncapitalize
# Use String.uncapitalize_ascii instead.
# File "/usr/home/ermine/projects/ocaml/src/oasis/src/plugins/internal/InternalInstallPlugin.ml", line 291, characters 31-48:
# Warning 3: deprecated: String.capitalize
# Use String.capitalize_ascii instead.
# W: Not_found
# W: Not_found
# E: Cannot find external tool 'ocamlbuild'
# E: Failure("1 configuration error")

=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The following actions were aborted
  ∗  install erm_xmpp 0.3
  ∗  install jackline 0.1.0
The following actions failed
  ∗  install erm_xml 0.3.1
The following changes have been performed
  ∗  install asn1-combinators        0.1.3
...

@DarkCoridor thanks for your issue report.  I'm not sure why the build is failing for you.  In the ... above, I'm certain there was ocamlbuild and ocamlfind installed!?
It may be related to the "system" switch -- could you try opam switch 4.05.0 ; eval `opam config env`  and afterwards opam install jackline?
Did you after opam init do an eval `opam config env`  in the same terminal session where you opam install jackline?

please reopen if you still encounter this issue


Vector notation in weight & balance

Currently, there are pointLists for the COG location. This will result in utter data masses, if applied for a reasonable weight & balance calculation. should be changed to a vector notation.

Must have worked on this issue before. Seems to be solved in the up to date schema. Will be closed


November 2nd 2023, Community Meeting Agenda

📞 Radius Community Meeting
Every month we host a community meeting to highlight community created content, showcase new features, review upcoming milestones, and engage in Q&A with the Radius community - all are welcome and encouraged to participate.
The purpose of this thread is to form a discussion amongst the Radius community on potential topics to highlight during the meeting. If you have a topic you wish to present or learn more about, please add a comment and be sure to include your name and a short description of the topic.

The conversations in this thread will directly influence the meeting agenda for the community call on October 31 2023, at 9 AM PST (See it in your local time). The meeting agenda is finalized by a Community Call Host prior to the meeting.
See you at the community call! 👋
Agenda

Introduction
Welcome to the Radius community
Radius launch update
Navigating Radius
v0.26 release highlights + demos
Open Discussion
Closing

Checklists for the host
Before the meeting

[x] Find speakers
[x] Collect Radius news (blog posts & videos found on social media, and show-and-tell Discord channel)
[x] Prepare slide deck
[x] Send meeting invite to the speakers

During the meeting

Welcome & announce that the meeting will be recorded
Start the recording
Show the agenda
Welcome first speaker
First session
Q&A first session
Welcome second speaker
Second session
Q&A second session
Show Radius related news, posts, videos.
Open discussion
Closing & mention Radius Discord channel

After the meeting

[x] Upload the meeting to  the Teams drive and include:

[x] Read-only link to slides
[x] Radius Discord link
[x] Other relevant links related to the sessions

[x] Close this issue

Recording from this community call: https://youtu.be/EfGAwli5W4U?si=FqSq_nt1bKrtNDm2
See you next time!


Monomorphic processing of TopN queries with simple double aggregators over historical segments (part of #3798)

Add a Cursor specialization: HistoricalCursor
Add DimensionSelector specializations: SingleValueDimensionSelector, HistoricalDimensionSelector, SingleValueHistoricalDimensionSelector
Add a FloatColumnSelector specialization: HistoricalFloatColumnSelector
Monomorphic processing of TopN queries with simple double aggregators over historical segments

Follow-up of #3889, part of #3798

When we reach the global limit here, we begin to spam to logs on each call
     @Override
     public void run()
     {
       try {
         T specialized;
         if (specializedClassCounter.get() > maxSpecializations) {
           // Don't specialize, just instantiate the prototype class and emit a warning.
           // The "better" approach is probably to implement some kind of cache eviction from
           // PerPrototypeClassState.specializationStates. But it might be that nobody ever hits even the current
           // maxSpecializations limit, so implementing cache eviction is an unnecessary complexity.
           specialized = perPrototypeClassState.prototypeClass.newInstance();
           LOG.warn(
               "SpecializationService couldn't make more than [%d] specializations. "
               + "Not doing specialization for runtime shape[%s] and class remapping[%s], using the prototype class[%s]",
               maxSpecializations,
               specializationId.runtimeShape,
               specializationId.classRemapping,
               perPrototypeClassState.prototypeClass

@fjy we run this in production since December: charts in #3798 show that.

Did not find it in github diff:
      {
        @Override
        protected String getValue()
        {
          return extractionFn.apply(baseSelector.get());
        }

        @Override
        public void inspectRuntimeShape(RuntimeShapeInspector inspector)//done
        {
          inspector.visit("baseSelector", baseSelector);
        }
      }

You miss expressionFn here to inspect.
io/druid/segment/virtual/ExpressionSelectors.java:132

io/druid/query/aggregation/distinctcount/DistinctCountBufferAggregator.java:97
Probably forget mutableBitmapCollection (used during aggregate())

@egor-ryashin it always has the same class: Int2ObjectOpenHashMap

@drcrallen I've changed existing tests so that they cover all added "prototypes" (and it helped to find bugs).
Regarding testing inspectRuntimeShape(), I don't think it's needed. Mistakes in inspectRuntimeShape would cause performance regression at worst, and to the level not worse than pre-#3798.
Manual testing of inspectRuntimeShape() is

a giant amount of work
often not possible, with anonymous or private classes
still won't help much, because most likely type of mistake is adding a new field to HotLoopCallee-extending class, that should be inspected, but forgetting to add it to inspectRuntimeShape(). But in this case manual test would still pass, because it is also not updated.

Ways to test inspectRuntimeShape() automatically could exist, some approaches possibly similar to mocking, when entering @CalledFromHotLoop-annotated methods is recorded, entering downstream methods is recorded, and checking that for the same runtime shape, the same methods are called at all downstream call sites. However it's a huge and complex task to develop such automated inspectRuntimeShape() testing framework, and definitely not as part of this PR.

On https://github.com/druid-io/druid/pull/4079#discussion_r116312988: no, because it's in the method called "advanceUninterruptibly"


solved #301 in python

Solved issue #(301)
In Language- (python)

[x] Updated README Link
[x] Added code with comments

Thanks for contributing!

Please resolve conflicts

Done @adityabisoi


Track memory used by DoH buffers

Fixes https://github.com/letsencrypt/unbound_exporter/issues/71

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (e284f50) 5.23% compared to head (bc9624a) 5.23%.

:exclamation: Current head bc9624a differs from pull request most recent head 677514f. Consider uploading reports for the commit 677514f to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@          Coverage Diff          @@
##            main     #72   +/-   ##
=====================================
  Coverage   5.23%   5.23%
=====================================
  Files          1       1
  Lines        191     191
=====================================
  Hits          10      10
  Misses       181     181

Flag
Coverage Δ

unbound_exporter_tests
5.23% <ø> (ø)

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

want to add this to the expected metrics list in the integration test? https://github.com/letsencrypt/unbound_exporter/blob/main/integration_test.go#L47


fails to format json with invalid unicode

{
    "": "\ud83d\udcf1",
}

deno fmt fails to format files contains such things, maybe its better to ignore these kind of errors and still format the file
<EMAIL_ADDRESS>for example does format such files (with no warnings/errors)

dup https://github.com/dprint/dprint-plugin-json/issues/5


fix: support true/false JSON Schemas in Schema Object

title: "Mention about true/false JSON Schemas in Schema Object"
As Schema Object in spec is defined as superset of the JSON Schema Specification Draft 07, it would be nice to specify that the Schema Object itself can be boolean value. I know it results from the definition of draft 07, so I'd like to hear your opinion about the changes.

Related issue(s):
https://github.com/asyncapi/parser-js/issues/232
Related PR(s):
https://github.com/asyncapi/asyncapi-node/pull/63 - fix bug with true/false schemas in JSON Schema of spec
https://github.com/asyncapi/parser-js/pull/311 - handle true/false JSON Schema in parser

@magicmatatjahu is this really necessary? When we refer to the Schema object, to me that implicitly say that boolean is allowed? 🤔

@jonaslagoni Do you mean union type Schema Object | boolean? I honestly wonder. We can describe that Schema Object can be boolean (as I did) and won't add a union type.

From our co-incidentally raised PR over at OAS https://github.com/OAI/OpenAPI-Specification/pull/2609/files

As I can see AsyncAPI not only copied the architecture (of spec), but also full sentences from the specification 😅
@jonaslagoni Do you agree that

The empty schema (which allows any instance to validate) MAY be represented by the boolean value true and a schema which allows no instance to validate MAY be represented by the boolean value false.

is much better that current description in PR? Will you accept it? As you see, there we have desc from validation POV.
@MikeRalphson will you have any problem so that we can reuse it in the AsyncAPI specification, or do you want us to pay you? 😄

I think we share a common license, as well as having common interests!

@fmvilas I see that you changed two times the target branch and we end to master. I thought that we will merge it to master and then rebase the 2021-06-release. Am I right?

Yes, I got confused at first. If it's just an editorial change and it doesn't change the behavior, it should point to master and should trigger a patch release when merged.

@magicmatatjahu @fmvilas
We did not trigger official 2.1 yet using automation.

If it's just an editorial change and it doesn't change the behavior, it should point to master
yes, but in the future after 2.1, otherwise merge of this fix will trigger 2.1

now it should go to release candidate branch with fix: and it will produce v2.1.0-2021-06-release.3

yes, but in the future after 2.1, otherwise merge of this fix will trigger 2.1

why? because it already happened twice 😓
semantic-release analyze all commits between tags, so after merging this to master it will analyze all commits since 2.0 tag, and therefore trigger release that we do not want

Another solution can be go with docs:, rebase in pre-release and make patch manually, but merging it to pre-release branch is fine for me.

@magicmatatjahu

Another solution can be go with docs:

no, unless you provide in commit details [skip: ci]

rebase in pre-release and make patch manually

good luck 😄

@fmvilas I'm changing the target to prerelease due to problems described by Łukasz :) I need only info from you that you accept our decision, or if you have problems, please write them.

That's fine. I don't think we too many options right now 😄

Merged in https://github.com/asyncapi/spec/pull/561 Thanks guys for review!


Add open-ssh-tunnel

open-ssh-tunnel is a function based on ssh2 library that let's you open an ssh tunnel to a remote machine.

ping @Kikobeats

build failing, v0.1.0,... I don't feel confortable adding this, sorry :(

No worries, I will correct that (failed build is only due to a timeout on test server)
Could I ping you here when I'll release some other version and the module is more mature?

go ahead! 🙂


Fix for the Writing Web Applications tutorial

What version of Go are you using (go version)?

$ go version go1.12.1 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/nivaldogmelo/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/nivaldogmelo/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/lib/go"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build083406842=/tmp/go-build -gno-record-gcc-switches"
What did you do?
At the part 2 of the Writing Web Applications tutorial it's not in the instructions the need to import the "log" at the import step for the wiki app. Although the log is used at the

func main() {
    http.HandleFunc("/view/", viewHandler)
    log.Fatal(http.ListenAndServe(":8080", nil))
}

What did you expect to see?

import (
	"fmt"
	"io/ioutil"
	"net/http"
        "log"
)

What did you see instead?

import (
	"fmt"
	"io/ioutil"
	"net/http"
)

Duplicate of https://github.com/golang/go/issues/25188


Cannot install rgl package in linuxbrew-R

Please follow the general troubleshooting steps first:

[X] Ran brew update and retried your prior step?
[X] Ran brew doctor, fixed as many issues as possible and retried your prior step?
[x] If you're seeing permission errors tried running sudo chown -R $(whoami) $(brew --prefix)?

You can erase any parts of this template not applicable to your Issue.
Bug reports:
Hello,
I've installed R 3.3.1 through linuxbrew.
I am trying to install the rgl package on a Red Hat 7 machine, but the installation fails with the message below.
After several trials, I haven't been able to figure out which package should be installed in order to get this working.
I've tried installing homebrew/x11/mesalib-glw, but the installation didn't complete properly. Moreover  I am unsure if I should install packages from X11 from homebrew,as these may be optimized for Mac systems.

checking whether  accepts -fvisibility... no
checking for libpng-config... yes
configure: using libpng-config
configure: using libpng dynamic linkage
checking for X... libraries , headers
checking GL/gl.h usability... yes
checking GL/gl.h presence... yes
checking for GL/gl.h... yes
checking GL/glu.h usability... yes
checking GL/glu.h presence... yes
checking for GL/glu.h... yes
checking for glEnd in -lGL... no
configure: error: missing required library GL
ERROR: configuration failed for package ‘rgl’
* removing ‘~/linuxbrew/lib/R/3.3/site-library/rgl’

Try
brew install linuxbrew/xorg/mesa

When running linuxbrew/xorg/mesa, the installation process gets interrupted abruptly. There is no error code returned, but the package is not installed, nor its libxml2 dependency:
$: brew install linuxbrew/xorg/mesa
==> Installing mesa from linuxbrew/xorg
x==> Installing dependencies for linuxbrew/xorg/mesa: libxml2, gettext, flex, freetype, fontconfig, homebrew/dupes/gperf, libcap, coreutils, systemd, llvm, libelf, libomxil-bellagio, wayland, libva
==> Installing linuxbrew/xorg/mesa dependency: libxml2
==> Downloading http://xmlsoft.org/sources/libxml2-2.9.4.tar.gz
Already downloaded: /home/cbapps/.cache/Homebrew/libxml2-2.9.4.tar.gz
==> ./configure --prefix=/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4 --without-python --without-lzma
==> make
==> make install
==> python setup.py install --prefix=/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4
Warning: Nothing was installed to /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4
🍺  /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4: 287 files, 13.6M, built in 15 minutes 45 seconds
==> Installing linuxbrew/xorg/mesa dependency: gettext
==> Installing dependencies for gettext: libxml2
$:

$ brew info linuxbrew/xorg/mesa
linuxbrew/xorg/mesa: stable 12.0.1
Mesa: cross-driver middleware
http://dri.freedesktop.org
Not installed
From: https://github.com/Linuxbrew/homebrew-xorg/blob/master/mesa.rb
==> Dependencies
Build: xz ✔, pkg-config ✔, flex ✘, bison ✔, autoconf ✔, gpatch ✔
Required: xorg ✔, libdrm ✔, systemd ✘, llvm ✘, libelf ✘, libomxil-bellagio ✘
Recommended: wayland ✘, libva ✘
==> Requirements
Build: python ✔
==> Options
--with-static
        Build static libraries (not recommended)
--without-libva
        Build without libva support
--without-test
        Skip compile-time tests
--without-wayland
        Build without wayland support

Why are you installing libxml2 from source? brew install libxml2 should use the precompiled binary bottle. Please report the output of brew config and brew install libxml2

Thanks,
I am not explicitly installing libxml2 from source. I just type brew install linuxbrew/xorg/mesa and I've no control on whether brew decides to use the precompiled bottle or not.
 brew config libxml2
HOMEBREW_VERSION: 1.0.7-12-g3335f11
ORIGIN: https://github.com/Linuxbrew/brew.git
HEAD: 3335f11b180974b59ddf33932a6a4bd19d5b6b3b
Last commit: 5 days ago
Core tap ORIGIN: https://github.com/Linuxbrew/homebrew-core
Core tap HEAD: 6d3f5a3026ad149669c8a1646c1ba5dd929fa606
Core tap last commit: 3 days ago
HOMEBREW_PREFIX: /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew
HOMEBREW_REPOSITORY: /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew
HOMEBREW_CELLAR: /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://linuxbrew.bintray.com
CPU: 72-core 64-bit haswell
Homebrew Ruby: 2.3.1 => /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/ruby/2.3.1/bin/ruby
Clang: N/A
Git: 2.10.0 => /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/bin/git
Perl: /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/bin/perl => /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/perl/5.24.0_2/bin/perl
Python: /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/bin/python => /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/python/2.7.11/bin/python2.7
Ruby: /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/bin/ruby => /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/ruby/2.3.1/bin/ruby
Java: 1.8.0_60
Kernel: Linux 3.10.0-327.36.1.el7.x86_64 x86_64 GNU/Linux
OS: Red Hat Enterprise Linux Server release 7.2 (Maipo)
OS glibc: 2.17
OS gcc: 4.8.5
Linuxbrew glibc: 2.19
Linuxbrew gcc: 5.3.0
Linuxbrew xorg: 20160314

$ brew install libxml2
Error: libxml2-2.9.4 already installed
To install this version, first `brew unlink libxml2`

$ brew unlink libxml2
Unlinking /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4... 23 symlinks removed

$ brew install libxml2
==> Downloading https://linuxbrew.bintray.com/bottles/libxml2-2.9.4.x86_64_linux.bottle.tar.gz
######################################################################## 100.0%
==> Pouring libxml2-2.9.4.x86_64_linux.bottle.tar.gz
Warning: Nothing was installed to /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4
🍺  /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4: 287 files, 13.7M

libxml2 is installed. Can you try brew install linuxbrew/xorg/mesa again?

running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
copying libxml2.py -> build/lib.linux-x86_64-2.7
copying drv_libxml2.py -> build/lib.linux-x86_64-2.7
running build_ext
building 'libxml2mod' extension
creating build/temp.linux-x86_64-2.7
/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/bin/gcc-5 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Os -w -pipe -march=core2 -isystem/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/include -fPIC -D_REENTRANT=1 -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4/include/libxml2 -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/include -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/include -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/opt/openssl/include -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/opt/sqlite/include -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/python/2.7.11/include/python2.7 -c libxml2-py.c -o build/temp.linux-x86_64-2.7/libxml2-py.o
/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/bin/gcc-5 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Os -w -pipe -march=core2 -isystem/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/include -fPIC -D_REENTRANT=1 -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4/include/libxml2 -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/include -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/include -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/opt/openssl/include -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/opt/sqlite/include -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/python/2.7.11/include/python2.7 -c libxml.c -o build/temp.linux-x86_64-2.7/libxml.o
/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/bin/gcc-5 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Os -w -pipe -march=core2 -isystem/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/include -fPIC -D_REENTRANT=1 -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4/include/libxml2 -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/include -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/include -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/opt/openssl/include -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/opt/sqlite/include -I/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/python/2.7.11/include/python2.7 -c types.c -o build/temp.linux-x86_64-2.7/types.o
/usr/bin/gcc -pthread -shared -L/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/lib -Wl,--dynamic-linker=/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/lib/ld.so -Wl,-rpath,/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/lib -L/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/lib -Wl,--dynamic-linker=/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/lib/ld.so -Wl,-rpath,/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/lib -Os -w -pipe -march=core2 -isystem/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/include build/temp.linux-x86_64-2.7/libxml2-py.o build/temp.linux-x86_64-2.7/libxml.o build/temp.linux-x86_64-2.7/types.o -L/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4/lib -L/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/lib -L/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/opt/openssl/lib -L/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/opt/sqlite/lib -L/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/python/2.7.11/lib -lxml2 -lm -lz -lpython2.7 -o build/lib.linux-x86_64-2.7/libxml2mod.so
running install_lib
copying build/lib.linux-x86_64-2.7/libxml2mod.so -> /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4/lib/python2.7/site-packages
running install_egg_info
Removing /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4/lib/python2.7/site-packages/libxml2_python-2.9.4-py2.7.egg-info
Writing /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4/lib/python2.7/site-packages/libxml2_python-2.9.4-py2.7.egg-info
==> Cleaning
rm /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4/lib/libxml2.la
ln -s ../Cellar/libxml2/2.9.4/bin/xml2-config xml2-config
ln -s ../Cellar/libxml2/2.9.4/bin/xmlcatalog xmlcatalog
ln -s ../Cellar/libxml2/2.9.4/bin/xmllint xmllint
ln -s ../Cellar/libxml2/2.9.4/include/libxml2 libxml2
ln -s ../../Cellar/libxml2/2.9.4/share/aclocal/libxml.m4 libxml.m4
ln -s ../../Cellar/libxml2/2.9.4/share/doc/libxml2-2.9.4 libxml2-2.9.4
ln -s ../../../Cellar/libxml2/2.9.4/share/gtk-doc/html/libxml2 libxml2
ln -s ../../../Cellar/libxml2/2.9.4/share/man/man1/xml2-config.1 xml2-config.1
ln -s ../../../Cellar/libxml2/2.9.4/share/man/man1/xmlcatalog.1 xmlcatalog.1
ln -s ../../../Cellar/libxml2/2.9.4/share/man/man1/xmllint.1 xmllint.1
ln -s ../../../Cellar/libxml2/2.9.4/share/man/man3/libxml.3 libxml.3
ln -s ../Cellar/libxml2/2.9.4/lib/.nfs0000000005207da500000a9f .nfs0000000005207da500000a9f
ln -s ../Cellar/libxml2/2.9.4/lib/.nfs000000000529f3df00036e77 .nfs000000000529f3df00036e77
ln -s ../../Cellar/libxml2/2.9.4/lib/cmake/libxml2 libxml2
ln -s ../Cellar/libxml2/2.9.4/lib/libxml2.a libxml2.a
ln -s ../Cellar/libxml2/2.9.4/lib/libxml2.so libxml2.so
ln -s ../Cellar/libxml2/2.9.4/lib/libxml2.so.2 libxml2.so.2
ln -s ../Cellar/libxml2/2.9.4/lib/libxml2.so.2.9.4 libxml2.so.2.9.4
ln -s ../../Cellar/libxml2/2.9.4/lib/pkgconfig/libxml-2.0.pc libxml-2.0.pc
ln -s ../../../Cellar/libxml2/2.9.4/lib/python2.7/site-packages/drv_libxml2.py drv_libxml2.py
ln -s ../../../Cellar/libxml2/2.9.4/lib/python2.7/site-packages/libxml2.py libxml2.py
ln -s ../../../Cellar/libxml2/2.9.4/lib/python2.7/site-packages/libxml2_python-2.9.4-py2.7.egg-info libxml2_python-2.9.4-py2.7.egg-info
ln -s ../../../Cellar/libxml2/2.9.4/lib/python2.7/site-packages/libxml2mod.so libxml2mod.so
ln -s ../Cellar/libxml2/2.9.4/lib/xml2Conf.sh xml2Conf.sh
Error: File exists @ dir_s_mkdir - /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4/.brew

brew info libxml2
libxml2: stable 2.9.4 (bottled), HEAD
GNOME XML library
http://xmlsoft.org
/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.3_1 (277 files, 10.4M)
  Poured from bottle on 2016-06-29 at 10:24:31
/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4 (288 files, 15.0M) *
  Built from source on 2016-11-24 at 04:08:20 with: --with-python
/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/HEAD (4K)
  Built from source
From: https://github.com/Linuxbrew/homebrew-core/blob/master/Formula/libxml2.rb
==> Dependencies
Required: zlib ✔
==> Requirements
Optional: python ✔
==> Options
--universal
        Build a universal binary
--with-python
        Build with python support
--HEAD
        Install HEAD version

I've also tried removing the libxml2/2.9.4/.brew folder:
$: rm -rf /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4/.brew

After this step I am back at the same point as before. Installing linuxbrew/xorg/mesa gets interrupted during the installation of libxml2 (even though it should be already installed), with no error code returned but also no installation happening:

$ brew install linuxbrew/xorg/mesa
==> Installing mesa from linuxbrew/xorg
==> Installing dependencies for linuxbrew/xorg/mesa: libxml2, gettext, flex, freetype, fontconfig, homebrew/dupes/gperf, libcap, coreutils, systemd, llvm, libelf, libomxil-bellagio, wayland, li
bva
==> Installing linuxbrew/xorg/mesa dependency: libxml2
==> Downloading http://xmlsoft.org/sources/libxml2-2.9.4.tar.gz
Already downloaded: /home/cbapps/.cache/Homebrew/libxml2-2.9.4.tar.gz
==> ./configure --prefix=/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4 --without-python --without-lzma
==> make
==> make install
==> python setup.py install --prefix=/GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4
Warning: Nothing was installed to /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4
🍺  /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4: 288 files, 15.0M, built in 29 seconds
==> Installing linuxbrew/xorg/mesa dependency: gettext
==> Installing dependencies for gettext: libxml2
$:

brew install libxml2
…
Error: File exists @ dir_s_mkdir - /GWD/bioinfo/projects/RD-TSci-Software/CB/linuxbrew/Cellar/libxml2/2.9.4/.brew

That's a strange error, and I'm not able to reproduce it. Please report the output of…
brew update
brew install libxml2
brew gist-logs libxml2


Update catalog-info.yaml to show data acquisition group as owner

This seems to have been done: https://github.com/DiamondLightSource/blueapi/blob/caf7e466dba86eba5eb38da2834548f670d04e8d/catalog-info.yaml#L13


Possible Money Problem?

Under sv_emergency line 91 you have "user:setMoney(0)" wouldn't that set your money to nil? You'd want to remove money instead with "Player:removeMoney(amount)" (assuming you use EssentialMode)

I don't agree, setMoney should be work, it's a function in resources\essentialmode\server\classes\player.lua
user or Player are the same, it depends the context you use

If your intention is to remove all of the players money then yeah it's good to go. But if you want to remove money then it's wrong I believe? - I think your intention is the first though judging from your forum replies.

Yes I assume the server use a mod to have money in you pocket and money in your bank, lot of servers works in this way


Suggestion for roadmap: User Based Package Management

Check:
http://www.linuxfromscratch.org/hints/downloads/files/more_control_and_pkg_man.txt
https://github.com/ericherman/package-users

Thank you for this link, I have found some of those points are really helpful.
However, I would prefer not having user-based package management as it tends to
make things more complex to manage the system. I see that the main point of this
user-based management system is handling conflicts and managing who can maintain
specific software in the system.
Since kiss can resolve conflicts with the alternatives system (or error out if
you specify KISS_CHOICE=0 in your environment), we do not need package users to
handle these conflict errors by permission. Regardless, this way of handling is
not ideal, because

You either have to add users for each package, which will make the system
extremely complex. I currently have 326 packages in my system, with 463
file conflicts easily resolved by the package manager's alternatives system.
If I were to resolve this by package users, it would take so many time.
If you don't have users for each package but for each category, you will not
know if a package of the same category overwrites a file from another package.

Setting up users to maintain specific software, in my opinion, should be configured
in a sudo/doas configuration instead of the package manager itself. Unlike LFS,
where you have to manage each software manually, kiss has repositories. Now, you
might not be using the repositories from Carbs Linux, or KISS Linux, but a system
admin can add repositories for different users and add it to his/her KISS_PATH.
Those user can create package directories that they manage manually. Once they
are done, a sysadmin can build packages maintained by other users in the system.
I think these sum up my thoughts on the matter, thanks for bringing it to my
attention.
On 20/05/15 12:28PM, serhanekmekci wrote:

Check:
http://www.linuxfromscratch.org/hints/downloads/files/more_control_and_pkg_man.txt
https://github.com/ericherman/package-users
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/CarbsLinux/kiss/issues/4

--
Best Regards,
Cem Keylan


Deploy Landsat

During Sprint 3 a lot of work went into trying to get backends deployed to AWS. There was certainly progress, but we aren't quite done yet.
This ticket is to finish the work of deploying the default backend. This could be done either by continuing down the path started during the sprint, or by using a different base image (like titiler does).
Acceptance Criteria

[x] Landsat STAPI backend is running and accessible from the frontend.
[x] Deployment plan is documented so other backend implementations can follows suit.

first point is checked off by the StatLandsatBackend which is available at https://qmma9ne4d0.execute-api.us-east-1.amazonaws.com.

deployed new version, for updated demo URL see https://github.com/stapi-spec/.github/blob/main/README.md


Remove usage of overlapping eta partitions for hit grouping

Introduce z-binning and internal phi-bin sorting into HitStructures::LayerOfHits.

Sorting is done using RadixSort, implementation in mkFit/Ice.

Modify all track finding functions to use LayerOfHits.

Use N_proc parameter in MkFitter::AddBestHit() as well as in all mkFit Propagation and KalmanUtils functions.

Remove obsolete functions in MkFitter dealing with vector.

Remove HitStructures::BunchOfHits and all functions for their usage and handling.

Consolidate debug mode, remove obsolete g_debug global.

Calculate some Config constants that depend on command-line parameter --num-tracks after parsing of command-line options.

Add support for using gcc-5 from MacPorts on OSX.

Performance notes
Tuning done for selection of hits to be considered for each candidate is such
that the code runs a bit faster than before (5%) and gives a bit better
results than before (1.5% more good tracks).
Opening up of phi windows for one extra phi bin on each side (1/1024 2Pi)
gives further 1.5% more of good tracks and takes 10% of runtime.
Further speedup is possible once we understand errors and minimal phi and z
windows as the new code make it easy to do hit pre-selection based on dphi /
dz between the hit and predicted track intersection.
The above speedups are for tbb, cloner-same-thread, n_thr = 1.
There is no change in seed processing ... they are processed in the same order
/ loop structure as if the eta bins still existed. Chaning this might improve
work balancing with multi-threading.
Notes on discrepancies between MIC / Host
This code has some discrepancies between number of hits found on MIC /
host. Most of them seem to originate from cumulative effect of
rounding during the initial fit of seeds. Giuseppe and Matevz decided
to postpone further investigation. See comments starting with DDDD in
MkBuilder.cc to see how to reproduce the problem and do full debugging.

Benchmarking results: http://uaf-2.t2.ucsd.edu/~matevz/mictest/2016-06-02-mt-nix-eta-bins/

And the latest benchmarks: http://uaf-2.t2.ucsd.edu/~matevz/mictest/2016-06-07-mt-nix-eta-bins-pr/
This restores performance for NN=2.

Rerun benchmarking: http://uaf-6.t2.ucsd.edu/~cerati/mictest/2016-06-08-PR50/
All good, merging.


spike: research how to validate blower in 100% o2

We could save ourselves some trouble by just proving our blower works in a 100% o2 environment (or not). How do we do this?

This ticket was in the "Done" column in Hardware. Moved it to the same column after changing repositories.

This ticket was in the "Done" column in Hardware. Moved it to the same column after changing repositories.


can not support candidateUsers

can not support candidateUsers ,Now only candidateGroups can use; I want use  candidateUsers  to replace assignee, but TaskList Query not filter on it.

Hi @heerzhang,
This is not yet available in the apis. So this is not possible for now in this library.


shortcut keys

Is there a way to add shortcut keys to a custom action.json ?
Also, is there a way to change the current shortcut keys?
Thanks for a great piece of software

No, you cannot change keys or define new ones.


Can this suite be made available to run in a Jupyter notebook?

I am using a spark cloud service with minimal access to the command line.  I was wondering if a version of this benchmark could be designed as a notebook.  Then it would be very portable for me to test many cloud implementations.  Thanks

Thanks for submitting an issue to spark-bench!
Spark-bench has recently gone through a major rewrite, and it looks like this issue is targeted towards the legacy version.
If you'd like to reopen this issue for examination against the legacy branch feel free, but I am going to close this for now due to inactivity.


Annotations on same Axis drawing annotation label at wrong position.

Hi all,
I've been working on a graph that emulates an oscilloscope, i.e. with cursors that draw on the graph and can be manipulated. I'm pretty happy with the result but noticed some behavior that looks unintended.
When drawing the second annotation on an axis it will draw the annotation label(The little box that sits on the annotation)at the position of previously specified position.

please excuse the black areas.
This gif shows the issue, so when incrementing small amounts with the dial it looks fine because the position is only a small distance away from previous location. when selecting on the graph the annotation draws correctly at the right position but the Square box of the label is still drawn at the previous Position. the text of the label is drawn at the correct position.
The order of events when a datapoint is selected are:

Data Point Selected from graph (either by selecting or by incrementing with dial)
new annotation B with unique ID is created
annotation B is added to the chart using AddYAxisAnnotationAsync
annotation A is cleared with its unique ID using RemoveAnnotationAsync

I have tried the following order that works but makes it display of the annotation flicker which I'm trying to avoid:

Data point selected from the graph
annotation A is cleared with its unique ID using RemoveAnnotationAsync
annotation B is created with unique ID is created
annotation B is added to the chart using addYAxisAnnotationAsync

If anyone can help, or if you need/want a minimal repo to i can try and get one to replicate the issue.
Cheers!

Hello,
If you can provide a minimal repo I can take a look.

Will try and get one set up today!

Sorry had a busy week, Am still going to make a small repo

Okay, adapted one of my other repos to demonstrate the problem.
repo is here: https://github.com/HeathAndrew/BlazorChartMiniRepo
once launched just click load data and wait for annotations to draw, then select the "Amp" Cursor with the drop down.
then use the buttons to change the position, you should see the annotation line and text move but the little backing box is drawing at the previous position.

Hi, I ran the sample and was able to reproduce.
But I'm afraid that I'm not sure what the problem is.
Just like you wrote it works if you change the order, remove first an then add.
That looked ok to me and I could not see any flickering.


Write to .csv file

Writes the name, phone, address and email of all persons in the addressbook to a .csv file with the default filepath /data/pineapple.csv
resolve #59

Not so soon. Got to let users define the file path and also specify contacts to export before moving to vcf.


Rename Division to Source or similiar

I think the term division is not only unsuitable concerning our structural change, but also not very exact/agnostic in terms of what it actually means to SIPA.
The main role of a Division object is to provide information about some arbitrary, isolated backend, like the User class, the init_context function, etc.
If we look how it is going to change when Pycroft is deployed, we would have to create a Division object called “Pycroft”, which conflicts with the meaning of a division. Naming a LoginBackend or UserSource “Pycroft” would make sense and not be conflicting.
Besides that, I propose to drop the “display_name”  property of this class, since this belongs more to a Dormitory (which is where it is actually used).
So, yeah, naming proposals?

Ideas so far:

LoginProvider
UserProvider
DataSource
DataBackend
UserBackend
Generally: {User,Data,Login}{Source,Backend,Provider}

Doesn't seem very suitable to me though. There must be something more elegant.


price sorting not wokring

insted of number sorting it is doing string sorting, value sorting not working
https://instances.vantage.sh/?min_memory=16&min_vcpus=4&filter=(r|m|c)5a.(|.)xlarge&region=ap-southeast-1

Looks like this pricing column doesn't respect the sort metadata included in each cell for some reason. Example: $0.090400 hourly

@himanshudoraGithub I am not actually able to reproduce this. Could you provide more detailed steps of how you entered this state? It may have something to do with the filters or search.
 able to reproduce this.

Going to close for now. @himanshudoraGithub let me know if you can provide reproduction steps.


vkQueueBindSparse used with a fence reports a false warning

I'm binding a sparse resource like this (pseudocode):
VkFence fence;
vkCreateFence(device, &fenceCreateInfo, NULL, &fence)
vkQueueBindSparse(queue, 1, &bindSparseInfo, fence)
vkWaitForFences(device, 1, &fence, VK_TRUE, ~(0ull));

and it results in the following message:

MEM(WARN): object: 0x61ffe50 type: 7 location: 5346 msgCode: 14: vkWaitForFences called for fence 0x61ffe50 which has not been submitted on a Queue or during acquire next image.

I think the message is incorrect. The fence is properly signaled, because if I omit it from the sparse bind call, vkWaitForFences blocks until the timeout is hit.

Submitted #340 to address this issue

Fix was cherry-picked and pushed to master


I got some error response when I use codewars api

When I type this:
curl https://www.codewars.com/api/v1/users/no13bus
I do not get some data like this:
{
    "username": "some_user",
    "name": "Some Person",
    "honor": 544,
    "clan": "some clan",
    "leaderboardPosition": 134,
    "skills": [
        "ruby",
        "c#",
        ".net",
        "javascript",
        "coffeescript",
        "nodejs",
        "rails"
    ],
    "ranks": {
        "overall": {
            "rank": -3,
            "name": "3 kyu",
            "color": "blue",
            "score": 2116
        },
        "languages": {
            "javascript": {
                "rank": -3,
                "name": "3 kyu",
                "color": "blue",
                "score": 1819
            },
            "ruby": {
                "rank": -4,
                "name": "4 kyu",
                "color": "blue",
                "score": 1005
            },
            "coffeescript": {
                "rank": -4,
                "name": "4 kyu",
                "color": "blue",
                "score": 870
            }
        }
    },
    "codeChallenges": {
        "totalAuthored": 3,
        "totalCompleted": 230
    }
}

But I get these data:
{"data":[{"id":"5265326f5fda8eb1160004c8","name":"Convert a Number to a String!","slug":"convert-a-number-to-a-string","completedLanguages":["python"],"completedAt":"2014-10-17T01:39:08Z"},{"id":"53d32bea2f2a21f666000256","name":"Largest Elements","slug":"largest-elements","completedLanguages":["python"],"completedAt":"2014-10-16T15:36:32Z"},{"id":"540de1f0716ab384b4000828","name":"Unpacking Arguments","slug":"unpacking-arguments","completedLanguages":["python"],"completedAt":"2014-10-16T15:27:55Z"},{"id":"5390bac347d09b7da40006f6","name":"Jaden Casing Strings","slug":"jaden-casing-strings","completedLanguages":["python"],"completedAt":"2014-10-16T13:21:29Z"},{"id":"50654ddff44f800200000001","name":"Broken Greetings","slug":"broken-greetings","completedLanguages":["python"],"completedAt":"2014-10-16T12:49:59Z"},{"id":"50654ddff44f800200000004","name":"Multiply","slug":"multiply","completedLanguages":["python"],"completedAt":"2014-10-16T12:13:52Z"}]}

why??

Thats odd. Are you sure? That link works as expected for me.
curl https://www.codewars.com/api/v1/users/no13bus
{"username":"no13bus","name":"no13bus","honor":9,"clan":"CCC","leaderboardPosition":72959,"skills":["python"],"ranks":{"overall":{"rank":-8,"name":"8 kyu","color":"white","score":15},"languages":{"python":{"rank":-8,"name":"8 kyu","color":"white","score":15}}},"codeChallenges":{"totalAuthored":0,"totalCompleted":7}}

ok. thank you.


pytorch implementation

Hi,
I am looking for a PyTorch version of tbcnn. I cannot find a PyTorch implementation on google.
I wonder if you have completed your PyTorch implementation and if you could share it with me.

hey, maybe you can check https://github.com/Tomsawyerhu/tbcnn-pytorch, it's a pytorch version for classification tasks.