Support RocksDB as Metadata Engine

This could be supported, at least, for standalone deployments.
There are some Go wrappers out there too.
http://rocksdb.org/ and http://myrocks.io/ and https://mariadb.com/kb/en/myrocks/
High Performance
RocksDB uses a log structured database engine, written entirely in C++, for maximum performance. Keys and values are just arbitrarily-sized byte streams.
Optimized for Fast Storage
RocksDB is optimized for fast, low latency storage such as flash drives and high-speed disk drives. RocksDB exploits the full potential of high read/write rates offered by flash or RAM.
Adaptable
RocksDB is adaptable to different workloads. From database storage engines such as MyRocks to application data caching to embedded workloads, RocksDB can be used for a variety of data needs.
Basic and Advanced Database Operations
RocksDB provides basic operations such as opening and closing a database, reading and writing to more advanced operations such as merging and compaction filters.

We're currently focused on the release of v1.0.0. It will be great if you could open a PR for this.

Sure, I understand. I'm no a Go programmer so I can't really help on this.

Sure, I understand. I'm not a Go programmer so I can't really help on this.

Rocksdb is great, But there is no good go client library, The most star library (gorocksdb)[https://github.com/tecbot/gorocksdb.git] isn't maintained.

@SandyXSD what do you think about this thing? pebble or rocksdb? If you want to add rocksdb, is grocksdb a good go client library? I'm glad to help with this issue.

Sorry we don't have much experience about pebble or grocksdb. From what I found:

pebble is specifically targetting the use case and feature set needed by CockroachDB

And grocksdb seems like not a widely used client for RocksDB (100+ stars).
So far we don't have strong motivation to support this, and would like to suggest users trying BadgerDB (supported in 1.0.0-beta2) first.

JuiceFS is released as a single binary, RocksDB may introduce a dependency, that's why we don't have built-in support for Ceph Rados. So we prefer to have embedded KV engine that could be static linked.
What's the advantage of RocksDB comparing to SQLite and BadgerDB?

What's the advantage of RocksDB comparing to SQLite and BadgerDB?

Agree, there is very little value supporting RocksDB with already supported BadgerDB. Feel free to close.

Let's close it for now, thanks!


remove source files after compilation

I need you to do one more important thing before we can have a release.
Please separate the development directory with all source files away from /etc/RFoptic Preferably under /home/pi/projects/html-server
Only the executables and scripts required for deployment should be in the /etc/RFoptic tree
Please tar the deployment directory that remains under /etc/RFoptic/ tree into /home/pi/projects/directory/html-etc.gz
Also please tar the development tree into /home/pi/projects/directory/html-server.gz


Is pb-for-desktop a dead project?

As the pb-for-desktop project has had no news, updates or developer responses to bug/issue reports for literally years, can we assume that it is now a dead project?
As it is an Electron-based app, a lack of updates means that security fixes for the underlying Chromium/Node.js framework are not being implemented, placing users at risk from security flaws.
I'm a long-term user, but would now argue that we should now no longer be using this application.
Would a dev care to comment on the current status of the project?

Hi @itsjustarumour
Thank you for your input & your continued usage of the app.
The project is not dead, but has rather been in a state of hibernation for some time, due to reasons of developer availability & time constraints.
The points you raised are certainly important - thus, the current plan is to release a new version (maintenance update) shortly, including updates of all relevant dependencies and frameworks. Afterwards, issues and bugs which have emerged in the meantime are to be addressed in additional releases.
Let's keep in touch.
Cheers, S

Hi @sidneys
Thanks so much for the quick response, and as a long-term user I'm glad to see the project is still active :-)
Happy to help with any testing, yes let's keep in touch.
Cheers,
itsjustarumour

waiting for that update, just fyi, thanks in advance, happy to help with testing too.

Likewise checking in on this - it seems like the project needs new contributors? :)


A flag to exclude consumer groups would be useful

Being able to exclude consumer groups from reporting that match a certain regular expression would be ideal for excluding unnecessary or testing consumer metrics

 -x,--exclude <EXCLUDES>     Regular expression for consumer groups to
                             exclude from reporting (can be declared
                             multiple times)


Set up CI/CD with GitHub Actions and itch.io's Butler

Each push on the master branch triggers artefacts to be built for each platform of Windows, Linux, MacOs, which will be attached to that commit in GitHub.
Versioned tags will trigger a new release with that version on itch.io if the BUTTLER_CREDENTIALS secret is set up. For this you can generate a new API key here, and paste it in here with the name BUTTLER_CREDENTIALS. Read more about encrypted secrets here.
This pull request is based on: https://github.com/sinisterstuf/ebiten-game-template/

The Linux and Mac builds are failing but I don't know why, I'll check it when I wake up.

All green now :wink:

Thanks!


Allow doc comments for modules

Is your feature request related to a problem? Please describe.
A doc comment /** */ before a module declaration result in a syntax error.
Describe the solution you'd like
The user might want to describe the module and also see this description in the generated C file.
Describe alternatives you've considered
The comment may placed under the module declaration and is thereby attached to the first top level declaration of the module but this seems unnatural.

Should be possible, but not for imports - due to nasty shift-reduce conflicts.

Syntax changed. See commit 83591e462ef7ae01b3cf9fe3e0d3b79450511307.
Still todo: Store annotation in AST. Generate doc comment in signatures, .c and .h files.

Doc comments for modules are now stored in AST and typed AST.
module (and signatures) only allow for doc comment annotations.
This is checked during annotation checking.
See commit 919dc835be1a80cbdf155e0268ada33b9cd7e068
Still todo: Generation of doc comments in signatures, .c and .h files.

Module doc comments are now generated to signature, .c-files and .h-files. See commit 63651fcaf4ebf34ed902f431166afdebed48c9da


Suggestions

Hey, here is my vision of what can be done.
Please consider this just as an opinion of another person.
/**
 * JP BEHRENS - RandomNumber
 */
 function randomNumbers({ quantity = 1, sort = null, uniqe = true, min = 0, max = 99 }) {
    const selected = [];
    let loops = 0; // Here the required loops are counted

    const getRandomNumbers = () => {
        if (quantity > (max - min)) {
            const eCode = 101; // Error 101: desired number greater than the difference between min and max value

            return {
                error: true,
                eCode,
            };
        }

        while (selected.length < quantity) {
            // Generates a random number from min to max
            const randNum = Math.floor(Math.random() * (max - min) + min);
            // If the numbers are to be unique
            if (uniqe) {
                if (!selected.includes(randNum)) {
                    selected.push(randNum);
                }
            } else {
                selected.push(randNum);
            }
            // loops are counted up
            loops++;
        }

        // Sorting
        if (sort === 'up') { selected.sort((a, b) => a - b); } // Ascending
        if (sort === 'down') { selected.sort((a, b) => b - a); } // Descending

        return selected;
    };
    getRandomNumbers.notSelected = () => {
        const numbers = [];
        const selectedRandomNumbers = getRandomNumbers();
        for (let i = min; i < max; i++) {
            if (!selectedRandomNumbers.includes(i)) {
                numbers.push(i);
            }
        }
        return numbers;
    };
    getRandomNumbers.error = false;

    return getRandomNumbers;
}

// Demo
const getRandomNumbers = randomNumbers({ quantity: 20, sort: 'up' });
console.log(
    // this way it's possible to have required result once function was called
    getRandomNumbers(),

    // all other auxiliary information can be accessed like this:
    getRandomNumbers.notSelected(),
    getRandomNumbers.error,

    // loops variable was removed as it's quite tricky to expose it the way
    // refactoring was implemented. Moreover it's not completely clear what
    // this value is needed for.
    getRandomNumbers.loops,
);

P.S. I cannot create pull requests, I have no permissions.

i have tweaked this again and pulled it to a new repo
-> https://github.com/behrens-de/random-numbers
what do you think?

Sorry, didn't have time to look into... ;(


Fix the project overview page contributor error

Purpose
Fix the error that the contributors are not showing correctly in project overview page when it is a public project visited under anonymous private link.
Before fix:

After fix:

Partially fix https://openscience.atlassian.net/browse/OSF-5824

Thanks for responding so quickly.


which situation could cause the soft_mutext unlock error

I met the error, when use the websocket async_write and got the error 'assert failed id_ == T::id', but I dont know which situation could cause this ?

is there a comment in the source code above the line containing the assert?

is there a comment in the source code above the line containing the assert?

nope, there is only a comments on the method try_lock(T const*) but none on unlock. But the problem, which I met, is I use the strand pattern to serialize the async_write initiation recurve forever, suddenly met the SIGABORT that told me the id_ == T::id assertion on the soft_mutex unlock method failed.

So you don't see something relevant here?
beast/include/boost/beast/websocket/detail/soft_mutex.hpp
Line 83 in a21250d
// If this assert goes off it means you are attempting to

I have seen it. But It is interesting that the whole system is only one thread, and initiate next write operations in previous operation completion handler, but about some messages sent, suddenly, core dump raised

You can get that assert even with one thread. For example, this will cause the assert:
void f( auto& stream, asio::const_buffer buf )
{
   stream.async_write( buf );
   stream.async_write( buf );
}

Two writes at the same time without an intermediate completion.

That code does look good

That code does look good. Can you make a small program which reproduces the defect?

same as the demo I have wrote but the producer function is running in multi-thread environment , there are many concurrent producers working until receive a signal

To access websocket::stream from multiple threads, you need to consider the following:

If you're using a multi-threaded executor, wrap the executor in an ASIO strand to avoid race conditions when scheduling completion handlers. You can see an example here: (https://github.com/boostorg/beast/blob/develop/example/websocket/client/async/websocket_client_async.cpp#L52.

When accessing the websocket::stream object (for calling any member function not just asynchronous operations), post your work to that strand:
asio::post(ws.get_executor(), [&](){
    // Safe to call ws object interfaces here
    ws.async_close(...);
});

To access websocket::stream from multiple threads, you need to consider the following:

If you're using a multi-threaded executor, wrap the executor in an ASIO strand to avoid race conditions when scheduling completion handlers. You can see an example here: (https://github.com/boostorg/beast/blob/develop/example/websocket/client/async/websocket_client_async.cpp#L52.
When accessing the websocket::stream object (for calling any member function not just asynchronous operations), post your work to that strand:
asio::post(ws.get_executor(), &{
// Safe to call ws object interfaces here
ws.async_close(...);
});

I have only one io_context and only on thread work for IO not only accept but session read write, but the business threads will always call post to post message and distribute these messages into every session, just a simple pub/sub model. And the bug is always raise on the sofet_mutex unlock method. I dont think, this bug is derived from the overlaping async_write calls, because if the overlaping async_write always raised error on try_lock not unlock

I have only one io_context and only on thread work for IO not only accept but session read write, but the business threads will always call post to post message and distribute these messages into every session, just a simple pub/sub model. And the bug is always raise on the sofet_mutex unlock method. I dont think, this bug is derived from the overlaping async_write calls, because if the overlaping async_write always raised error on try_lock not unlock

At this point, it's hard to guess what the issue might be. Could you provide a minimal reproducible example?

I have only one io_context and only on thread work for IO not only accept but session read write, but the business threads will always call post to post message and distribute these messages into every session, just a simple pub/sub model. And the bug is always raise on the sofet_mutex unlock method. I dont think, this bug is derived from the overlaping async_write calls, because if the overlaping async_write always raised error on try_lock not unlock

At this point, it's hard to guess what the issue might be. Could you provide a minimal reproducible example?

I am working for this demo, move all business into all in one mode

Here is my example code to show this case
#include <boost/asio.hpp>
#include <boost/beast.hpp>
#include <boost/thread.hpp>
#include <iostream>
#include <memory>
#include <queue>
#include <set>
#include <thread>
#include <vector>

namespace beast = boost::beast;
namespace net = boost::asio;
namespace ws = beast::websocket;

class WebSocketSession : public std::enable_shared_from_this<WebSocketSession> {
   public:
    WebSocketSession(boost::asio::local::stream_protocol::socket socket) : ws_(std::move(socket)) {}

    void start() { doAccept(); }

    void send(std::shared_ptr<std::string const>& message) {
        json_message_queue_.push(message);
        if (json_message_queue_.size() == 1) doCheckWrite();
    }

   private:
    ws::stream<boost::asio::local::stream_protocol::socket> ws_;
    beast::flat_buffer buffer_;

    void doAccept() {
        std::cout << "session doAccept" << std::endl;
        ws_.async_accept([self = shared_from_this()](boost::system::error_code ec) {
            if (!ec) {
                self->doRead();
            }
        });
    }

    void doRead() {
        ws_.async_read(buffer_,
                       [self = shared_from_this()](boost::system::error_code ec,
                                                   std::size_t bytes_transferred) {
                           if (!ec) {
                               std::cout << "Received message: "
                                         << beast::buffers_to_string(self->buffer_.data())
                                         << std::endl;
                               self->buffer_.consume(bytes_transferred);
                               self->doRead();
                           }
                       });
    }

   private:
    std::queue<std::shared_ptr<std::string const>> json_message_queue_;

    void doCheckWrite() {
        if (json_message_queue_.size() > 0) {
            auto message = json_message_queue_.front();
            ws_.text(true);
            ws_.async_write(boost::asio::buffer(message->data(), message->size()),
                            [this, self = shared_from_this()](const std::error_code& ec,
                                                              std::size_t bytes_transferred) {
                                if (ec) {
                                    std::cout << "async_write error: " << ec.message() << std::endl;
                                } else {
                                    json_message_queue_.pop();
                                    this->doCheckWrite();
                                }
                            });
        }
    }
};

class SessionScheduler {
   public:
    SessionScheduler(boost::asio::io_context& ioc,
                     boost::asio::strand<boost::asio::io_context::executor_type>& strand)
        : ioc_(ioc), strand_(strand) {}

    void registerSession(std::shared_ptr<WebSocketSession> session) {
        sessions_set_.insert(session);
    }

    void unRegisterSession(std::shared_ptr<WebSocketSession> session) {
        // TODO: Remove
    }

    void sendMessage(std::shared_ptr<std::string const> message) {
        boost::asio::post(strand_, std::bind(&SessionScheduler::doSendMessage, this, message));
    }

    void doSendMessage(std::shared_ptr<std::string const> message) {
        for (auto& session : sessions_set_) {
            session->send(message);
        }
    }

   private:
    std::set<std::shared_ptr<WebSocketSession>> sessions_set_;
    boost::asio::io_context& ioc_;
    boost::asio::strand<boost::asio::io_context::executor_type>& strand_;
};

class UnixSocketServer {
   public:
    UnixSocketServer(net::io_context& ioc,
                     const std::string& socket_path,
                     SessionScheduler* scheduler,
                     boost::asio::strand<boost::asio::io_context::executor_type>& strand)
        : ioc_(ioc), acceptor_(ioc), scheduler_(scheduler), strand_(strand) {
        boost::asio::local::stream_protocol::endpoint endpoint(socket_path.data());
        boost::system::error_code ec;
        acceptor_.open(endpoint.protocol(), ec);
        if (ec) {
            std::cout << "Failed to open file" << socket_path << " " << ec.message() << std::endl;
            exit(1);
        }
        acceptor_.bind(endpoint, ec);
        if (ec) {
            std::cout << "Failed to bind to endpoint" << socket_path << " " << ec.message()
                      << std::endl;
            exit(1);
        }
        acceptor_.listen();
    }

    void run() {
        std::cout << "Starting server on " << acceptor_.local_endpoint() << std::endl;
        doAccept();
    }

   private:
    boost::asio::local::stream_protocol::acceptor acceptor_;
    SessionScheduler* scheduler_;
    boost::asio::strand<boost::asio::io_context::executor_type>& strand_;
    boost::asio::io_context& ioc_;

    void doAccept() {
        acceptor_.async_accept(
            strand_,
            [this](boost::system::error_code ec,
                   boost::asio::local::stream_protocol::socket socket) {
                if (!ec) {
                    std::cout << "New connection accepted" << std::endl;
                    auto session = std::make_shared<WebSocketSession>(std::move(socket));
                    scheduler_->registerSession(session);
                    session->start();
                } else {
                    std::cout << "doAccept failed: " << ec.message() << std::endl;
                }
                doAccept();
            });
    }
};

int main() {
    try {
        net::io_context ioc;
        boost::asio::strand<boost::asio::io_context::executor_type> strand = net::make_strand(ioc);
        SessionScheduler scheduler(ioc, strand);
        const std::string socket_path = "/tmp/websocket_server.sock";
        UnixSocketServer server(ioc, socket_path, &scheduler, strand);

        std::thread server_thread([&ioc, &server]() {
            server.run();
            ioc.run();
        });

        const int num_writer_threads = 5;
        std::vector<std::thread> writer_threads;

        for (int i = 0; i < num_writer_threads; ++i) {
            writer_threads.emplace_back([&scheduler, i]() {
                while (true) {
                    std::this_thread::sleep_for(std::chrono::milliseconds(1));  // sleep 30ms
                    std::shared_ptr<std::string> msg = std::make_shared<std::string>(
                        "Hello from server! Thread " + std::to_string(i));
                    scheduler.sendMessage(msg);
                }
            });
        }
        server_thread.join();
        for (auto& t : writer_threads) {
            t.join();
        }

    } catch (const std::exception& e) {
        std::cerr << "Error: " << e.what() << std::endl;
    }

    return 0;
}

You're calling async_write while an async_handshake is still in progress. You can either delay stream registration until the handshake is complete or check ws_.is_open() before scheduling a write, which returns false until the handshake is successful.

thx for your reply, I have fixed this error. I will close this issue


[smarts-service] case run with error

Run case in scenarios/kyber/README.md
after stop first scenario, then start next scenario with below error and sumo view has no vehicle display
ERROR:tornado.application:Uncaught exception GET /reset (<IP_ADDRESS>)
HTTPServerRequest(protocol='http', host='localhost:8888', method='GET', uri='/reset', version='HTTP/1.1', remote_ip='<IP_ADDRESS>')
Traceback (most recent call last):
  File "/home/chendong/.venv-py3.7.6/lib/python3.7/site-packages/tornado/web.py", line 1701, in _execute
    result = method(*self.path_args, **self.path_kwargs)
  File "smarts/service/server.py", line 136, in get
    manager.reset()
  File "smarts/service/server.py", line 107, in reset
    self._smarts.reset(scenario)
  File "/home/chendong/codes/github/SMARTS/smarts/core/smarts.py", line 268, in reset
    self.teardown()
  File "/home/chendong/codes/github/SMARTS/smarts/core/smarts.py", line 378, in teardown
    self._bullet_client.resetSimulation()
pybullet.error: Not connected to physics server.
ERROR:tornado.access:500 GET /reset (<IP_ADDRESS>) 150.26ms

The root cause is #179, close this one.


Update Settings to Foundry VTT 0.7.9

Which class should be updated?
Settings
For which version should the class be updated?
Foundry VTT 0.7.9

Taking this.

Fixed by #298.


--csv option for importing CSV

Right now CSV is handled by an obtuse recipe in https://github.com/simonw/git-history/blob/84663eeb60fc5f35f6845597d1cddb85e70b8f19/README.md#custom-conversions-using---convert
git-history file trees.db ../sf-tree-history/Street_Tree_List.csv \
  --repo ../sf-tree-history \
  --import csv \
  --import io \
  --convert 'list(csv.DictReader(io.StringIO(content.decode("utf-8"))))' \
  --id TreeID

This could and should be easier! Maybe a --csv option that does that for you?

I'm going to leave the example in the documentation but change it to use a different delimiter.

git-history file trees.db ../sf-tree-history/Street_Tree_List.csv \
  --repo ../sf-tree-history \
  --import csv \
  --import io \
  --convert 'list(csv.DictReader(io.StringIO(content.decode("utf-8"))), delimiter=";")' \
  --id TreeID


Wrong text - autotrain

The success human message has the text in italian

Removed it, it will replaced with the console in the future once it will be fixed


Publishing artifacts on a hosted linux agent

Hi. The documentation assumes you're using a Windows agent. Where is the documentation and examples for us that use Linux agents?

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

ID: 0b3f565b-88e4-88d6-a534-48ec21e6e3d8
Version Independent ID: 9fca89ae-4a6e-a43a-2834-1a91ad44c256
Content: Publish Build Artifacts task - Azure Pipelines
Content Source: docs/pipelines/tasks/utility/publish-build-artifacts.md
Product: devops
Technology: devops-cicd
GitHub Login: @DavidStaheli
Microsoft Alias: dastahel

@basickarl -- thank you for your question.  Please try Azure DevOps on Stack Overflow to see if there is additional information for you there.
@davidstaheli -- is this in your current plans?

@basickarl thanks for pointing this out.  I updated the documentation for this and it should be live in a couple of days. However, it is now recommended to use the Publish Pipeline Artifact task instead of "Public Build Artifacts".


Add Julian date converter UI

Codecov Report
Base: 95.78% // Head: 95.78% // No change to project coverage :thumbsup:

Coverage data is based on head (19d8f4c) compared to base (2e6459d).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #30   +/-   ##
=======================================
  Coverage   95.78%   95.78%
=======================================
  Files          11       11
  Lines         427      427
  Branches       51       51
=======================================
  Hits          409      409
  Misses          9        9
  Partials        9        9

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


routes.php exists

Hi
I try to using our plugin and fetched discourage me error
  Stop everything!!! This file already exists: /var/www/myproject/plugins/dimti/myplugin/routes.php

I use this file for custom code. How to resolve that conflict in create rest controller?

You can use custom routes.php file, the plugin would still work fine. I’ll tell you how to overcome this:
Method 1
Make a backup of your routes.php file, delete the http folder entirely and run the restcontroller scaffolding command again. Open routes.php, copy the code inside it (except the first line — namespace declaration) and then delete the file, put back your original routes.php which you backed up and paste the code which you copied at the end of the file.
Method 2
Just add the code manually in the following format:
Route::group(['prefix' => 'api/v1'], function () {
    Route::resource('{{lower_plural_controller_name}}', ‘{{plugin_author_name}}\{{plugin_name}}\Http\{{controller_name}}');
});

So if you want to expose the Person controller in Acme.People plugin then it should look like:
Route::group(['prefix' => 'api/v1'], function () {
    Route::resource(‘persons', ‘Acme\People\Http\Person');
});

Let me know if this solves the issue. And if you like the plugin kindly drop a good review, good day.

Please, give me info (links, books, publications) about restfull api. Im beginner with creates of api.. and have more fantasy about that aspect. I can add custom api-methods(actions) to one controller? why, if not?
add validation / define input data, define http-method for every action.. But laravel Route::resource slice my fantasy about api.

There are several features that this plugin has missing and I will add eventually—these include better API versioning, auth packages support to secure API using auth scheme of user's choice, and many more interesting features. This would all take a while to create so I’m glad you want to learn to write custom code. Here are some links that I think may help you with this:
https://laravel.com/docs/5.0/controllers#restful-resource-controllers
http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api
I do not know of any popular books or publications on the matter but I do have plans to make video tutorials in future as I have experience building large apps using RESTful APIs. If I do publish these videos in the future I’ll let you know then, otherwise you may have to learn on your own. Happy learning, good day.

There are several features that this plugin has missing and I will add eventually—these include better API versioning, auth packages support to secure API using auth scheme of user's choice, and many more interesting features. This would all take a while to create so I’m glad you want to learn to write custom code. Here are some links that I think may help you with this:
https://laravel.com/docs/5.0/controllers#restful-resource-controllers
http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api

I can add custom api-methods(actions) to one controller?

Yes, please check out the plugin’s documentation on how to do this. You basically have to specify the method in the config and then write the function for it inside the Http folder in the write RESTful controller file.

add validation / define input data

Yes, you can add custom validation code by overloading the default actions, or if it’s a custom action then just add the validation to that. Read OctoberCMS documentation on how to do validation. You create the validator class instance inside the action and do it. If you stick to the default then RESTful plugin uses the same model’s validation for validating data.
I do not know of any popular books or publications on the matter but I do have plans to make video tutorials in future as I have experience building large apps using RESTful APIs. If I do publish these videos in the future I’ll let you know then, otherwise you may have to learn on your own. Happy learning, good day.


[SEC-174] Point to proper IAM role name

Per SEC-174, update reference to IAM role in docs to match aws-assumerole

This updates the doc to point to the Caktus Assumed Role. Please use this role going forward.


#1: add support for horses in database initialization

Horse added as animal type

/paulo - can you check now?


Add persistence to helm charts

Add persistence to VDC helm chart
(note - see https://github.com/odpi/egeria/issues/753#issuecomment-465102360 as a reminder on keeping the config file as well as the data store, to ensure metadatacollectionid is preserved and stable)

The VDC environment will need significant re-work to adapt to the many changes made in Egeria to better support
metadata integration. Additionally the helm charts used for the lab & a simple base config have evolved to better support
different types of services, exposing of ports, persistent storage etc.
As such specific incremental changes to the current - now old - charts do not really add value.
As such closing for now
(Note the other charts in egeria do now have persistence support)


Fix Line collapsing for plural messages in PO tokenizer

Fixes #108

@erictapen Can you try if this solved your issue?

Pull Request Test Coverage Report for Build f70ed88a225f2b7f6c81235c7dd4f38f74d248a5-PR-109

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build a4575e174d3add301c15475dab97ea3d8444ad19:
0.0%

Covered Lines:
374

Relevant Lines:
374

💛  - Coveralls

Pull Request Test Coverage Report for Build f70ed88a225f2b7f6c81235c7dd4f38f74d248a5-PR-109
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build a4575e174d3add301c15475dab97ea3d8444ad19:
0.0%

Covered Lines:
374

Relevant Lines:
374

💛  - Coveralls

Pull Request Test Coverage Report for Build f70ed88a225f2b7f6c81235c7dd4f38f74d248a5-PR-109
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build a4575e174d3add301c15475dab97ea3d8444ad19:
0.0%

Covered Lines:
374

Relevant Lines:
374

💛  - Coveralls


Make sure status values are propogated back to main queue

If a submission in an internal queue is invalid, the main queue submission should be made invalid.  Should be an easy python tool to write.  An example of such tool: https://github.com/nlpsandbox/nlpsandbox-controller/blob/develop/scripts/reject_submissions.py

@vpchung This way should work as long as the workflow never fails to propagate the status.. let's test it for now


otp linked long nif.

if the long nif panics, then kill the parent process, which will also kill the thread.
if the parent process dies, then kill the thread.

blocked on zig 0.6.0 https://github.com/ziglang/zig/issues?q=milestone%3A0.6.0
Key features needed: std.os.tkill
might be able to do this properly by having the panic handler loop while (true)


ODataMetaData and Getting the Command

Hello,
How should I proceed if I want to create a fake client with Settings:
BasiUri = new Uri("http://localhost") <--- not existing
MetaDataDocument = FIle.ReadAllText("pathToMyDocument")
and only translate Linq expression into a string command using GetCommandTextAsync(...)?
What exactly should I put to MetaDataDocument for it to be generic, valid, and working to simply retrieve a string command?

@hryhorii Have a look at the integration test examples in the cost, a lot of them mock the response string

@phatcher could you please share a link to those test examples?

@hryhorii Here are some examples:
https://github.com/object/Simple.OData.Client/tree/master/src/Simple.OData.Client.UnitTests/Core
They all use local URL like "localhost", assigns a metadata document, some of them just validate GetCommandTextAsync, like you need.

@object @phatcher  Thank you! So there's absolutely no way to make it metadata-agnostic and achieve this:
var settings = new ODataClientSettings();
        settings.BaseUri = new Uri("http://localhost");
        settings.MetadataDocument = "A value that would fit any Entity with any properties.";

        var client = new ODataClient(settings);

        var command = client.For<Entity>().Filter(e => e.Id == 1)
        .GetCommandTextAsync(CancellationToken.None).Result;

        Console.WriteLine(command); // $filter=Id eq 1

Not sure what you mean by metadata agnostic. OData is not schema-less, any request refers to schema elements such as entity sets, and every response contains a set of data generated in accordance with the schema.


Update pH_fetch_data.cpp

In this modified code via ChatGPT - Would this work?
We introduce a previousValue variable to store the previously recorded pH value, initializing it to 0.0.
After reading the pH value with pH_sensor.readMeasurement(), we check if the pH value is less than 2.
If the pH value is less than 2, we ignore it, save the previousValue to the file, and print a message indicating that we're using the previous value.
If the pH value is greater than or equal to 2, we save it to the file, update the previousValue, and print a message indicating that the pH value has been saved.
This way, the code will report the previous pH value if the current value is less than 2.

screwed up with the github thing just wanted to update the one file lol

I'm afraid that would not work in this context. The program is executed regularly as defined by the pH_service file. That means there is no carry over from the previous execution, each time the program is started with a clean slate.
One could read out the previous value from the pH.dat file however, it would be much more efficient to simply forego updating the file. You can see that done in the fetch_data file, where the save measurement function returns (meaning stops without updating the file) when the value is not a number (NaN) or equal to 0.0
A better update would be to exchange the "equal to 0.0" with the condition "smaller than 1.0".

Thanks for checking it out I think I will leave the code for you to solve I am already in above my head lol
I think the issue that needs to be resolved in your code is to have it like you say to ignore when NaN or anything under ph 2 including into the -0 territory as for me no logs from reef-pi or anything show any errors only the reading 0.15 which in my situation with this current ph probe and calibration is to do with the calibration offset
Sent from my iPhone
On 2 Oct 2023, at 6:29 pm, Sral931 @.***> wrote:

I'm afraid that would not work in this context. The program is executed regularly as defined by the pH_service file. That means there is no carry over from the previous execution, each time the program is started with a clean slate.
One could read out the previous value from the pH.dat file however, it would be much more efficient to simply forego updating the file. You can see that done in the fetch_data file, where the save measurement function returns (meaning stops without updating the file) when the value is not a number (NaN) or equal to 0.0
A better update would be to exchange the "equal to 0.0" with the condition "smaller than 1.0".
—
Reply to this email directly, view it on GitHubhttps://github.com/Sral931/pH_service/pull/1#issuecomment-1742769781, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AMCDRZIB7OBIT2XOUQHSKD3X5KJQNANCNFSM6AAAAAA5O5AFXI.
You are receiving this because you modified the open/close state.Message ID: @.***>

i dont know how people code for a living its soo frustrating lol
Would this work instead
I made the following changes:
I modified the condition in the if statement to check if saveValue is either NaN (isnan(saveValue)) or less than 2 (saveValue < 2.0).
If the condition is met (i.e., saveValue is NaN or less than 2), the function returns without saving the value.
With these changes, the code will now check for NaN or values less than 2 before saving the measurement to the file.
void saveToFile(float saveValue, std::string filename){
// Check if the value is NaN or less than 2
if (isnan(saveValue) || saveValue < 2.0) {
// Value does not meet the condition, so return without saving
return;
}
// open file to save value
std::fstream saveFile;
saveFile.open(filename, std::ios::out);
if (saveFile.is_open()) {
	saveFile << saveValue;  // save value
	saveFile.close();  // close file
}

}


如何关闭控制台的log？

How to close the log message in console?THX

I suggest you to ready logger module in python inside of raising an issue because this issue not belong to python-wechaty
If you want to close most log meesages you can try to below behavior:

find logger.py file in Lib wechaty-puppet (carefully, it's not python-wechaty)
change logger.setLevel(logging.DEBUG) to logger.setLevel(logging.ERROR)

after above, most of log messages won't print in your console any more.

@why2lyj @huangmu168  Another solution: you can just set envrioment variable: WECHATY_LOG  to close log output.
For linux/mac:
export WECHATY_LOG=ERROR

For windows:
set WECHATY_LOG=ERROR

A more friendlier way :  using python code.
os.environ["WECHATY_LOG"] = 'ERROR'

I hope this helps you.  Please feel free to ask for more question. Thanks a lot.

@why2lyj @huangmu168 Another solution: you can just set envrioment variable: WECHATY_LOG to close log output.
For linux/mac:
export WECHATY_LOG=ERROR

For windows:
set WECHATY_LOG=ERROR

A more friendlier way : using python code.
os.environ["WECHATY_LOG"] = 'ERROR'

I hope this helps you. Please feel free to ask for more question. Thanks a lot.

absolutely right, I miss the following code in logger.py


Initialize tessellation related variables conditionally in indirect draws

Calling MVKGraphicsPipeline::getTessVertexStage*State causes a crash for non-tessellated draws due to the lack of corresponding pipeline descriptor. I moved it, together with other tessellation related variables, inside the isTessellationPipeline check. This should fix #989.

@cdavis5e Since this is a fix to tess behavior, before I pull this in, can you review and approve, please?


[DON'T MERGE] Remove less helpful categories

The three result types 'Different issue found', 'Wrong issue reported' and 'Unrelated issue' are a) too similar and b) not very important and c) apply to a lot more results than the ones we have currently categorised as such. They should either be simplified and consolidated or removed.
When I discussed this with @aduggin, he said he would be happy to get rid of them if all the categories they get replaced with make sense.
During the re-testing of some of the tools I already replaced most of the results with those categories. This change is about getting rid of the final 12 instances.
I have re-tested those 12 instances and am quite happy with 10 of those being replaced. Only two (quite similar cases) give me a headache and I'm not quite sure what to do with them:
Tenon's error message for link with a role=button does not work with space bar is:

This element has a role attribute even though native semantics are available.
Replace this element's role attribute with native semantics.

While our test is too descriptive (it could be a more generic "Link with a role=button doesn't have all typical button attributes and behaviour"), Tenon's error message doesn't really say what the problem is. Although having "a role attribute even though native semantics are available" is bad practice, if it's implemented correctly, it wouldn't necessarily lead to accessibility issues. But on the other hand, using their solution (to replace with native semantics) would fix our original issue.
So far I've marked this with "Issue found" but none of our current categories really fit (including the ones I'm removing here).
HTML_CodeSniffer's warning message for inline style adds colour is:

Check that this element has an inherited background colour or image to complement the corresponding inline foreground colour.

While our test is not exactly a really good one, it is meant to show issues users might have when they change their colour settings. From that aspect HTML_CodeSniffer found more or less what we were looking for, but is maybe not specific enough.
So far I've marked this with "Warning only" but, again, none of our current categories really fit here either.

Thanks for your thoughts @cfq.
I've discussed the two remaining issues with @aduggin and we decided to change them both the "Not found".
I forgot to discuss a potential "related issue" category with him, but I think we'll just add that when the need arises.


Add save() and load() methods to manage ross results

Adds an abstract class ST_Results that holds a generic save() and load() methods.
The other classes will inherit these methods from ST_Results. It avoids redundancies by repetition of functions with the same functionality.
The user will be able to save the results of a given analysis and load it later, avoiding the need to re-run the entire analysis, which could be costly.
Example of how to use it:
        >>> # Example running a stochastic unbalance response
        >>> from tempfile import tempdir
        >>> from pathlib import Path
        >>> import ross.stochastic as srs

        >>> # Running an example
        >>> rotors = srs.st_rotor_example()
        >>> freq_range = np.linspace(0, 500, 31)
        >>> n = 3
        >>> m = np.random.uniform(0.001, 0.002, 10)
        >>> p = 0.0
        >>> results = rotors.run_unbalance_response(n, m, p, freq_range)

        >>> # create path for a temporary file
        >>> file = Path(tempdir) / 'results.toml'
        >>> results.save(file)

        >>> # Loading file
        >>> results2 = srs.ST_ForcedResponseResults.load(file)
        >>> results2.magnitude.all() == results.magnitude.all()
        True

It is first applied to Stochastic ROSS. But the idea will be extended to ROSS.

I'm facing a problem regarding to TOML while saving / loading complex128 values. Despite I'm using the TOML enconder like: toml.dump(data, f, encoder=toml.TomlNumpyEncoder()) to guarantee the numpy data is stored correctly and it returns an array when it is loaded, the complex values still returns as strings:
>>> # loading results from an unbalance response
>>> results = ForcedRespnseResults.load(some_file)
>>> results.forced_response
['0j', '(4.546164340501405e-06+8.618002209913051e-18j)',
        '(1.9993323820899606e-05+2.808265984338688e-17j)',
        '(5.397777741253809e-05+6.855555853279516e-17j)',
        '(0.00013363345889400713+2.2244836428298553e-16j)',
        '(0.00042455441401372066+1.3017933041397235e-15j)',
        '(-0.0020262513775299524-2.704728865175545e-14j)',
        '(-0.00045190885817565814-2.463811835680412e-16j)',
        '(-0.0002971961665637599+5.070529833696888e-16j)',
        '(-0.0002387446702750649-2.605025098011477e-16j)' ...

@raphaeltimbo @GabrielBachmann if you guys have any idea of how to fix it.

I found a way to go around this issue, but I don't know if it's the best way.
Also, unbalance_response demands a Rotor argument. So, when saving this analysis, an auxiliary file to save the rotor model is created:
    @classmethod
    def load(cls, file):
        data = toml.load(file)
        # extract single dictionary in the data
        data = list(data.values())[0]
        for key, value in data.items():
            if isinstance(value, Iterable):
                data[key] = np.array(value)
                if data[key].dtype == np.dtype("<U49"):
                    data[key] = np.array(value).astype(np.complex128)

            if key == "rotor":
                aux_file = str(file)[:-5] + "_rotor" + str(file)[-5:]
                from ross.rotor_assembly import Rotor
                data[key] = Rotor.load(aux_file)

        return cls.read_toml_data(data)

    def save(self, file):
        # get __init__ arguments
        signature = inspect.signature(self.__init__)
        args_list = list(signature.parameters)
        args = {arg: getattr(self, arg) for arg in args_list}
        try:
            data = toml.load(file)
        except FileNotFoundError:
            data = {}

        data[f"{self.__class__.__name__}"] = args
        with open(file, "w") as f:
            toml.dump(data, f, encoder=toml.TomlNumpyEncoder())

        if args["rotor"]:
            aux_file = str(file)[:-5] + "_rotor" + str(file)[-5:]
            args["rotor"].save(aux_file)

I think everything is ok here. Could not understand why the travis build for the 3.6 version is failing. After solving that I think we can merge this.

Neither do I.
It raises the error below. It seems numpy could not receive a set of strings and convert it to complex. I'm looking for a solution to this problem.
UNEXPECTED EXCEPTION: TypeError('must be real number, not numpy.str_',)

Traceback (most recent call last):

  File "/opt/python/3.6.7/lib/python3.6/doctest.py", line 1330, in __run

    compileflags, 1), test.globs)

  File "<doctest ross.stochastic.st_results.ST_Results.load[11]>", line 1, in <module>

  File "/home/travis/build/ross-rotordynamics/ross/ross/stochastic/st_results.py", line 147, in load

    data[key] = np.array(value).astype(np.complex128)

TypeError: must be real number, not numpy.str_

I'm closing this PR to try solving the conflicts and the Travis issues. I couldn't reproduce the same error in my local machine.

@rodrigomoliveira1
Maybe this is related to the numpy version in each build.
I've checked and we have the following:
TRAVIS 3.6 - numpy 1.19.0
TRAVIS 3.7 - numpy 1.16.4
TRAVIS 3.8 - numpy 1.17.2
Appveyor 3.6 - numpy 1.19.4
Appveyor 3.7 - numpy 1.19.4
Appveyor 3.8 - numpy 1.19.4
Appveyor 3.6-x64 - numpy 1.19.4
Appveyor 3.7-x64 - numpy 1.19.4
Appveyor 3.8-x64 - numpy 1.19.4
I don't know why we have these differences between versions in the travis build, but maybe the problem is some bug related to the 1.19.0 version of numpy.

@rodrigomoliveira1 , I have merged #709, which adds conda to our travis CI builds.
Now we have the numpy 1.19.2 version for all travis builds.
You can reopen this PR or make a new one so we can test if the problem we were having here is still occurring.


{"detail":"Missing Cookie fastapi-csrf-token"}

https://pastecord.com/ewisabacyb.py I no longer get the error I sent before. I now get this {"detail":"Missing Cookie fastapi-csrf-token"}

is there a way to make it so I dont need to use the csrf cookie at all?

You used set_csrf_cookie in a Response object.
And then returned a different TemplateResponse object in your GET endpoint.
See example in README for details on how to set_csrf_cookie

is there a way to make it so I dont need to use the csrf cookie at all?

See example titled With Context and Headers on README

This one is more tedious since it requires more works using passed context object
(See: https://fastapi.tiangolo.com/advanced/templates/#using-jinja2templates)
Using the passed object to set the header of the POST request manually (via JavaScript)
(See: https://masteringjs.io/tutorials/axios/headers)

Good luck.


fix: github pages URL uses github.io domain, now

this corrects the old and no longer functioning links to documentation
on the old agnat.github.com domain. github now uses .io TLD for
github pages, so all links (including an old link in the CHANGELOG) have
been updated to reflect this.

Thanks, @spikegrobstein


text are not truncated properly if multi byte character included

マルチバイトが含まれている長い文字列を切り捨てても、32766 byte 以上になりAmazon ESに取り込まれない。
文字数ではなく byte で処理すべし。
{"level":"WARNING","message":"Data was trauncated because the size of xxxxxx field is bigger than 32,766. _id is c66d2f6512cbc486d8cd63159440a7aa","location":"truncate_big_field:855","timestamp":"2021-07-15 21:55:47,379+0900","service":"service_undefined","s3_key":"testdata/test/123456789012/hoge-20210714.log"}
{"level":"ERROR","message":"1 of logs were NOT loaded into Amazon ES","location":"lambda_handler:277","timestamp":"2021-07-15 21:55:47,496+0900","service":"service_undefined","s3_key":"testdata/test/123456789012/hoge-210714.log"}
{"level":"ERROR","message":[[{"type":"illegal_argument_exception","reason":"Document contains at least one immense term in field=\"xxxxxx\" (whose UTF8 encoding is longer than the max length 32766), all of which were skipped.  Please correct the analyzer to not produce such terms.  The prefix of the first immense term is: '[91, 78, 81, 83, 95, 108, 97, 116, 101, 115, 116, 95, 110, 101, 119, 115, 95, 114, 101, 103, 105, 115, 116, 101, 114, 46, 112, 121, 93, 40]...', original message: bytes can be at most 32766 in length; got 46092"}]],"location":"lambda_handler:278","timestamp":"2021-07-15 21:55:47,497+0900","service":"service_undefined","s3_key":"testdata/test/123456789012/hoge-20210714.log"}

#117

対策が不十分でログによっては再発


Optimum windows fix

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

Project coverage is 85.78%. Comparing base (fce830d) to head (6d92e37).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #117      +/-   ##
==========================================
+ Coverage   85.75%   85.78%   +0.02%
==========================================
  Files          28       28
  Lines        1299     1301       +2
==========================================
+ Hits         1114     1116       +2
  Misses        185      185

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


FIX: [CLIMATE WALLET] Fix excel download for token blocks to include token quantity

The button to download all token positions does not include quantity in the excel output. Please include quantity.

In addition, we want to title the column header for "CW Link" in excel download to "CADT Link"


tf.nn.ctc_beam_search_decoder expects output of softmax whereas documentation says it expects logits

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 2.3.0
Python version: 3.7

Describe the current behavior
Currently https://www.tensorflow.org/api_docs/python/tf/nn/ctc_beam_search_decoder says it expects input to be logits, whereas it acutally expects softmax already applied.
See https://www.tensorflow.org/api_docs/python/tf/keras/backend/ctc_decode, which expects output of softmax, and it directly passes the input to https://www.tensorflow.org/api_docs/python/tf/nn/ctc_beam_search_decoder - see https://github.com/tensorflow/tensorflow/blob/7b301123019d2b4bbd9c597916ba032f05854074/tensorflow/python/keras/backend.py#L6037-L6088
Describe the expected behavior
The documentation of https://www.tensorflow.org/api_docs/python/tf/nn/ctc_beam_search_decoder should say it expects softmax output.

Note that ctc_beam_search_decoder performs beam search decoding on the logits given in input.
Below is the code reference.
https://github.com/tensorflow/tensorflow/blob/f894368ea586bae5fa15b1d9f6da4b9265cb5ed3/tensorflow/python/ops/ctc_ops.py#L379-L386


Allow signals to be used when building for std

This is useful to run unit tests where signal code is involved as a way to do signalling between tasks.

Thanks for the PR!
I'd be more comfortable with a different approach: making the critical_section fn standalone instead. On std, it'd lock a global mutex. It could be in embassy::util for example. This has a few advantages:

No std-specific code inside Signal.
critical_section can now be reused for things other than Signal.
When adding support for platforms with a "weird" critical section implementation, it only needs adding in one place (for example hardware-specific mutexes like those on the RP2040)


Longest Increasing Subsequence

Implement Longest Increasing Subsequence in C++

I want to try this.

Yes @d2Anubis please go ahead. Please read the contribution guidelines and make sure to follow all the guidelines and open a PR once done.


Still under development ?

Hi Kawal,
Narayanan here.
Just bumped into your tenor repo. it is still under development. Any idea when it might be available ? there is no alternative to giphy plugin avaliable yet for dart. Waiting for your reply. Have a nice day.

@narayanan-ka, Thanks for putting this to light
Yes, it was under development and now it is published on https://pub.dev/tenor
See the full documentation on - Documentation
Don't forget to become Patron Member
Long Live Open Source,

@narayanan-ka, Thanks for putting this to light
Yes, it was under development and now it is published on https://pub.dev/tenor
See the full documentation on - Documentation
Don't forget to become Patron Member
Long Live Open Source,


Problems with group policy and auto update feature

I confirm (by marking "x" in the [ ] below: [x]):

[x] This is not a troubleshooting question. Troubleshooting questions go here: https://docs.mattermost.com/install/troubleshooting.html.
[x] This doesn't reproduce on web browsers (such as in Chrome). If it does, issue reports go to the Mattermost Server repository.
[x] I have read contributing guidelines.

Summary
Disabling the auto update function doesn't work via group policies
Environment

Operating System: Windows 10 1809
Mattermost Desktop App version: 5.1.0
Mattermost Server version: 6.3.9

Steps to reproduce

distribute group policies as described in the docs and set "EnableAutoUpdater" to "0"
start desktop client

Expected behavior

no "update available" popup and icon in the right corner

Observed behavior

"update available" popup and icon in the right corner

With gpresult, we confirmed that the group policy is distributed and active. We checked via regedit that the registry key is set as follows:
Path: HKEY_LOCAL_MACHINE\Software\Policies\Mattermost
Key: EnableAutoUpdater
Value: 0
In the user context HKEY_CURRENT_USER we didn't find any entry like this, though.
In C:\Users\censored\AppData\Roaming\Mattermost\logs\main.log I found this error multiple times:
[2022-09-09 14:17:28.796] [info]  Found version 5.1.1 (url: 5.1.1/mattermost-desktop-setup-5.1.1-win.exe)
[2022-09-09 14:17:28.828] [info]  [Mattermost] available version 5.1.1
[2022-09-09 14:17:29.014] [info]  Log level set to: info
[2022-09-09 14:17:34.166] [info]  [<censored>___T...] finished loading https://<censored>/
[2022-09-09 14:17:35.817] [error] error: ProcessUncleanExitError: ADD command exited with code 1:
FEHLER: Die Registrierungsbearbeitung wurde vom Administrator deaktiviert.
    at mkErrorMsg (C:\Program Files\Mattermost\Desktop\resources\app.asar\index.js:51742:10)
    at ChildProcess.<anonymous> (C:\Program Files\Mattermost\Desktop\resources\app.asar\index.js:52354:10)
    at ChildProcess.emit (node:events:390:28)
    at maybeClose (node:internal/child_process:1064:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)

Also, in C:\Users\censored\AppData\Roaming\Mattermost\config.json the auto update setting is configured as follows:
"autoCheckForUpdates": true,

When I manually set this to "false", the popups disappear. But unfortunately this isn't a sustainable solution for my whole company.
Possible fixes
n/a

I don't speak German, but a quick Google translate reveals the error: ERROR: Registry editing has been disabled by the administrator.
Digging a bit, looks like the issue is coming from our registry library. My recommendation here would be to contact your system administrator to figure out why you're unable to access the registry at all, since reading shouldn't be restricted here (especially when trying to read Group Policy).

Hey @devinbinnie,
thanks for your answer! I'll get in touch with our responsible department and check this out.

Addendum:
I tried some stuff with a private virtual machine (with admin rights) running Windows 10 Pro (which has group policy support) and I feel that the issue described above might not have something to do with my company's computer config.
first try

installed v5.1.0 via msi installer
configured mattermost client (added one server)
stopped mattermost client
defined GPO's afterwards
started mattermost client

result: "update v5.1.1 available" popup and icon in the upper right corner
Via regedit I confirmed that the registry key is set as described in the initial post.
main.log:
[2022-09-13 19:29:16.090] [info]  Log level set to: info
[2022-09-13 19:29:16.963] [info]  Checking for update
[2022-09-13 19:29:17.702] [info]  [censored___TAB_MESSAGING] finished loading https://censored.de/
[2022-09-13 19:29:18.519] [info]  Found version 5.1.1 (url: 5.1.1/mattermost-desktop-setup-5.1.1-win.exe)
[2022-09-13 19:29:18.642] [info]  [Mattermost] available version 5.1.1

second try

uninstalled v5.1.0
removed AppData under C:\Users\censored\AppData\Roaming\Mattermost
defined GPO's afterwards
installed v5.1.0 via msi installer
started mattermost client

same result as above
main.log:
[2022-09-13 19:40:28.318] [info]  Checking for update
[2022-09-13 19:40:28.592] [info]  Log level set to: info
[2022-09-13 19:40:28.670] [info]  config.autostart has been configured: true
[2022-09-13 19:40:28.815] [info]  Generated new staging user ID: censored_ID
[2022-09-13 19:40:30.268] [info]  Found version 5.1.1 (url: 5.1.1/mattermost-desktop-setup-5.1.1-win.exe)
[2022-09-13 19:40:30.377] [info]  [Mattermost] available version 5.1.1

@rtfm98 The MSI fix was included in v5.2, has your issue been resolved?

@devinbinnie Thanks for the follow-up. v5.2 is currently being packed into a SCCM package, so I can't answer your question right now.
As soon as we deployed v5.2 and there is an actual update available, I'll come back to it.

@devinbinnie Hi again, we deployed v5.2.1 and I can confirm, that the "update available" popup is gone (even though v5.2.2 is available) 👍


Fixing bug in timeresp.forced_response

When forced_response was called with a discrete MIMO sys and T=None, the following error occurred:
Traceback (most recent call last):   File "/home/andrew/Apps/python-control/control/tests/timeresp_test.py", line 281, in test_forced_response     _t, yout, _xout = forced_response(sysd, U=u, X0=x0)   File "/home/andrew/Apps/python-control/control/timeresp.py", line 374, in forced_response     tout, yout, xout = sp.signal.dlsim(dsys, np.transpose(U), T, X0)   File "/home/andrew/.virtualenvs/python-control-dev/local/lib/python2.7/site-packages/scipy/signal/ltisys.py", line 3327, in dlsim     u_dt_interp = interp1d(t, u.transpose(), copy=False, bounds_error=True)   File "/home/andrew/.virtualenvs/python-control-dev/local/lib/python2.7/site-packages/scipy/interpolate/interpolate.py", line 433, in __init__     _Interpolator1D.__init__(self, x, y, axis=axis)   File "/home/andrew/.virtualenvs/python-control-dev/local/lib/python2.7/site-packages/scipy/interpolate/polyint.py", line 60, in __init__     self._set_yi(yi, xi=xi, axis=axis)   File "/home/andrew/.virtualenvs/python-control-dev/local/lib/python2.7/site-packages/scipy/interpolate/polyint.py", line 125, in _set_yi     raise ValueError("x and y arrays must be equal in length along " ValueError: x and y arrays must be equal in length along interpolation axis.
Fix:

Removing use of len method on U and T arrays, replacing with appropriate numpy shape call
Ensure correct U dimension is being checked for MIMO systems
Adding new unit test for this case

Coverage decreased (-0.08%) to 83.416% when pulling efc42c8ab1320f66055a556242b43ff826b445ca on adm78:bugfix/forced_response into 129a05364aa94e35b9ea02f81292d555f27e2b69 on python-control:master.


OCPBUGS-41642: config/v1/types_cluster_version: Add v4.17 capability set

This is a synonym for v4.16, because there have not been capability-recommendation changes since that release.  4.17 is about to go Generally Available, which means v4.17 will always be a synonym for v4.16.  I think defining synonym capability sets is busywork that takes developer time without adding customer value, but OCPBUGS-41111 points out that so far every 4.y release has had a v4.y capability set string associated with it, and folks might find adjustments to that pattern surprising.  I'm declaring the v4.17 set to continue the existing set-for-each-4.y pattern (and breaking the
set-for-each-4.y-with-a-different-default pattern) to unblock 4.17's GA, but we may revisit this approach in the future with more lead time.  This commit backports (without v4.18) #2022 to release-4.17.

/Jira cherrypick OCPBUGS-41111

/lgtm
/approve


Remove unused namespaces, extra blank lines.

Remove unused namespaces and extra blank lines.
I was wondering registed column name is ok or it's registered.

not sure why you closed this... if you are still interested in pursuing it, I don't see any reason not to take it :) I just didn't get to it sooner.

I thought removing unused namespaces and extra blank lines do not add any value to the repo.

I would concede that any contribution that improves the state of the repo is one worth doing! 😃 just my 2 cents.


fix: use new arguments syntax

- Summary
We changed the CLI interface in https://github.com/netlify/local-functions-proxy/commit/d2cd7fdb7a58ebb530b089cfc6d5cb565018f388#diff-ef2b813e004771704c627906842d921b5bf3e0d027dba4f042a72f19a0013d58. This PR makes the necessary changes in the consumer.
- Test plan
N/A
- A picture of a cute animal (not mandatory but encouraged)
🐩

Should this be coupled with https://github.com/netlify/cli/pull/2979?

Should this be coupled with #2979?

Yes, I'm making this PR against the Renovate branch, because the two need to go together.


Added more courses for Data Science

What does this PR do?
Add 10 more resource(s) | Grouped the resource(s) by websites
For resources
Data Science
Description
All courses added are free.
Why is this valuable (or not)?
Through the resource(s), the user can get more diverse idea about data science.
How do we know it's really free?
Link is given along with their names.
For book lists, is it a book? For course lists, is it a course? etc.
It is a course.
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Checked


Release v12.0.2

Hi @Divlo
Is it possible to publish a 12.0.2 release to NPM to pick up this change: https://github.com/standard/ts-standard/pull/269
Thank you ❤

Hey! @lindluni
Thanks for the reminder!
I don't have the rights to publish a new version on npm, but I opened a PR so hopefully someone from the team can approve and merge and publish a new version on npm.
See: https://github.com/standard/ts-standard/pull/277


rebase upstream

This PR is complimentary to https://github.com/equinix/pulumi-equinix/pull/24

I would imagine that we would only introduce patches/ for changes that would differ from the upstream Terraform provider. In all other cases, we should be able to update the submodule and adjust the patches as needed. We should strive to upstream in Terraform any patches that could land in here.

I accidentally converted it into PR instead of draft, I'm testing the automation of upgrades


[Feature] New Condition route v3.1

Pre-check

[X] I am sure that all the content I provide is in English.

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Apache Dubbo Component
Java SDK (apache/dubbo)
Descriptions
the updated condition-route like
dubbo/config/group/{$name}.condition-router
configVersion: v3.1
scope: service
key: org.apache.dubbo.samples.CommentService
force: false
runtime: true
enabled: true

#######
conditions:
  - from:
      match: tag=tag1     # disable traffic
  - from:
      match: tag=gray
    to:
      - match: tag!=gray
        weight: 100
      - match: tag=gray
        weight: 900
  - from:
      match: version=v1
    to:
      - match: version=v1

dubbo/config/group/{$name}.affinity-router
configVersion: v3.1
scope: service # Or application
key: service.apache.com
enabled: true
runtime: true
affinityAware:
  key: region
  ratio: 20

Related issues
https://github.com/apache/dubbo/pull/14356
Are you willing to submit a pull request to fix on your own?

[X] Yes I am willing to submit a pull request on my own!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Use ref like $invocation.attachment.tag or $url.tag would be better


[BUG] Validator isn't called with inheritance

Code:
from typing import Optional

import pydantic

class A(pydantic.BaseModel):
    login: str
    password: str

class ClientA(A):
    password: Optional[str] = None

    @pydantic.validator("login")
    def not_called(self):
        return "test"

    @pydantic.validator("password")
    def clean_up(self):
        return None

print(
    ClientA(
        login="login",
        password="password"
    )
)

Output:
ClientA login='login' password=None

As you can see ClientA:not_called validator is not called but it will work if I redefine login field in ClientA, like:
Code:
from typing import Optional

import pydantic

class A(pydantic.BaseModel):
    login: str
    password: str

class ClientA(A):
    login: str
    password: Optional[str] = None

    @pydantic.validator("login")
    def not_called(self):
        return "test"

    @pydantic.validator("password")
    def clean_up(self):
        return None

print(
    ClientA(
        login="login",
        password="password"
    )
)

Output:
ClientA login='test' password=None

Not sure this is a bug, just a current limitation. Isn't that trivial to add validators to fields on inherited classes, but should be possible.

@samuelcolvin yeah, maybe. It was just a little bit of a surprise when I stumbled upon it.

I think we should do two things, raise an exception when a validator is set up wrong (eg fields don't match anything).
Allow validators to operate on attributes of patent classes.

Cool! :+1:

Still happens!! :(

This issue is very old. Please give an example of you think there is still a problem.

I have this code:
from pydantic import BaseModel

class ReviewValidator:
    @validator('score')
    def validate_score(cls, value: int):
        if value < 1 or value > 5:
            raise ValueError('Score is out of range, min 1 and max 5')
        return value

class ReviewRequestPutModel(BaseModel, ReviewValidator):
    review: str
    score: int

I have this code:
from pydantic import BaseModel

class ReviewValidator:
    @validator('score')
    def validate_score(cls, value: int):
        if value < 1 or value > 5:
            raise ValueError('Score is out of range, min 1 and max 5')
        return value

class ReviewRequestPutModel(BaseModel, ReviewValidator):
    review: str
    score: int

This issue is very old. Please give an example of you think there is still a problem.

Hey. Any updates on this one?

We don't anywhere say this should work.
How validators are gathered is changing in v2, but I don't think we want to support this behavior.

I have this code:
from pydantic import BaseModel

class ReviewValidator:
    @validator('score')
    def validate_score(cls, value: int):
        if value < 1 or value > 5:
            raise ValueError('Score is out of range, min 1 and max 5')
        return value

class ReviewRequestPutModel(BaseModel, ReviewValidator):
    review: str
    score: int

This issue is very old. Please give an example of you think there is still a problem.

Hey. Any updates on this one?

It worked in v2.


Adding Blackbox exporter to prometheus

Notes for Reviewers
This PR fixes ##7690
The Ask was to add another exporter that is compatible with Prometheus. So as a new addition, I have added Blackbox exporter. The Blackbox Exporter is a valuable addition to our monitoring toolkit. It's designed to give us an external view of our services, enabling us to monitor endpoints from a user's perspective. With this exporter, we can perform health checks and actively monitor the availability and performance of critical services. By sending requests to various endpoints such as HTTP, HTTPS, and other protocols, we gather metrics that provide insights into their responsiveness and overall health. ( which is helpful in case of any application being deployed through Meshery. user can check the health of all the request which is passed through his deployed application.)
This PR introduces the integration of the Blackbox Exporter into our Prometheus monitoring infrastructure. By including the Blackbox Exporter in our monitoring stack, we enhance our ability to detect and respond to service outages and degradations before they impact our users. This ensures that we maintain a high level of service reliability and availability.
key Benefits and Features:

Ability to monitor endpoints from an external perspective.
Support for various protocols including HTTP, HTTPS, TCP, ICMP, and DNS.
Synthetic monitoring that simulates real user interactions.
Gathering metrics on endpoint responsiveness and correctness.
Enhanced detection of service outages and degradations.
Proactive monitoring to prevent user impact.
Integration with our existing Prometheus monitoring setup.

By incorporating the Blackbox Exporter, we enhance our observability and build a more comprehensive understanding of our services' health. This enables us to take proactive measures to ensure exceptional user experiences and maintain a high standard of service reliability.
This PR sets the foundation for more robust monitoring and helps us stay ahead of potential issues. It's a significant step toward maintaining the high standards we've set for our services.
[NOTE]:- It's still under development and needs some work done with @Freedisch
Signed commits

[x] Yes, I signed my commits.

@yash37158 Let's discuss this on Meshery Dev call. Please add this as an agenda item in the meeting minutes if you would. :)

@Freedisch your thoughts here are welcomed.


VIP: Client improvement

FIX:

#20
#18

Future:

You can input part of ID rule or use regular expresion,but you must put regular expresion betwen quotation marks. Example: "(_package_)\w+(_removed)"

Hello @Honny1! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file graph/client.py:

Line 49:11: E271 multiple spaces after keyword
Line 49:49: E203 whitespace before ':'
Line 53:35: E272 multiple spaces before keyword
Line 77:1: W293 blank line contains whitespace
Line 86:77: W291 trailing whitespace
Line 87:65: W605 invalid escape sequence '\w'

In the file run.py:

Line 2:11: W291 trailing whitespace
Line 3:1: E302 expected 2 blank lines, found 0
Line 4:11: E225 missing whitespace around operator
Line 5:12: E225 missing whitespace around operator
Line 7:1: W293 blank line contains whitespace
Line 10:11: W292 no newline at end of file

In the file tests/any_test_help.py:

Line 99:1: E302 expected 2 blank lines, found 1
Line 102:28: W292 no newline at end of file

In the file tests/test_client.py:

Line 4:1: E302 expected 2 blank lines, found 0
Line 4:19: E231 missing whitespace after ','
Line 5:36: E231 missing whitespace after ','
Line 9:8: E225 missing whitespace around operator
Line 10:9: E225 missing whitespace around operator
Line 17:8: E225 missing whitespace around operator
Line 18:20: E225 missing whitespace around operator
Line 24:9: E225 missing whitespace around operator
Line 25:8: E225 missing whitespace around operator
Line 32:9: E225 missing whitespace around operator
Line 33:8: E225 missing whitespace around operator
Line 40:8: E225 missing whitespace around operator
Line 41:10: E225 missing whitespace around operator
Line 45:1: E302 expected 2 blank lines, found 1
Line 46:8: E225 missing whitespace around operator
Line 47:10: E225 missing whitespace around operator
Line 51:59: E225 missing whitespace around operator
Line 51:100: E501 line too long (116 > 99 characters)
Line 52:59: E225 missing whitespace around operator
Line 52:100: E501 line too long (120 > 99 characters)

One more note: If you write the PR description in the following way:
Fixes: #20
the linked issue will be closed automatically after the PR is merged. That can save you time :smile:


Session switch : show keyboard

The keyboard should be available after switching the session. Currently, I need to touch the ipad screen to activate the keyboard after switching the session.
Originally posted by @AInteriorB in https://github.com/isontheline/pro.webssh.net/issues/101#issuecomment-1136943038

Hello @AInteriorB 👋
WebSSH 23.0.1132 should fix this issue
Have a nice day ☀


Type inference failure in small snippet.

Currently in this code snippet, ra cannot infer the type of variable v. I'm using ra  commit baf832d6d903afbc39e3a01c752a1aa5218c020e now.
    let mut action_contexts: Vec<i32> = vec![1, 2, 3];
    for v in action_contexts.iter_mut() {
        dbg!(v);
    }

This is one of many cases where we are not able to normalize associated types because of a Chalk bug. I'm collecting these in #2603.

As seen in https://github.com/rust-analyzer/rust-analyzer/issues/2683#issuecomment-569536866 :smile:.


Player should have certain mobility before moving the camera

Maybe we should make it so the player can move in a certain area, and only move the camera when the player is close to the screen borders. As it is right now it's pretty hard to play, as in it's hard to get used to it.

https://github.com/huytd/agar.io-clone/pull/42
this could resolve the problem.


Add retry to urlzsource

Now that URLZsource is a separate package, we can add the ability to automtically retry http(s) connections on error a limited number of times with exponential backoff. This will improve handling of transitent network issues.
See https://www.peterbe.com/plog/best-practice-with-retries-with-requests for a starting point

Closing, would be nice, but not criticial. Can be revisited in future.


cask upgrade: ensure cache exists

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

Fixes https://github.com/caskroom/homebrew-cask/issues/46403

@reitermarkus Updated.


add missing attribute for js-module tag

was causing obscure bug during installation with older version of nodejs, as is the case when using meteor (uses its own version of node currently at v0.10.41 where the 'path' package doesn't have the 'parse' method (see error below):
=> Errors executing Cordova commands:
While adding plugin<EMAIL_ADDRESS>to Cordova project:
TypeError: Uh oh!
Object [object Object] has no method 'parse'
at handlers.js-module.install (//.meteor/local/cordova-build/platforms/android/cordova/lib/pluginHandlers.js:142:66)
and the culprit code (last line falls back to parsing the src attribute for a name if name is not defined):
'js-module': {
    install: function (obj, plugin, project, options) {
        // Copy the plugin's files into the www directory.
        var moduleSource = path.resolve(plugin.dir, obj.src);
        var moduleName = plugin.id + '.' + (obj.name || path.parse(obj.src).name);

Defining the name attribute just avoids this mess :-)

This looks good to me, I'll need to test and there are a few open PR's at the moment that I may merge up together for an update, this will likely go on that branch...


[Feature request]

Is there have a nuget package?

i might try and make a nuget package soon, i still haven't learnt how to do it yet

@AngryCarrot789

Create Wpf lib project
Project Properties > Package > Generate NuGet package on build
Fill in Package-related properties (version, author, etc.)
Menu > Build > Publish
Built: Your project\bin\Release\netX.0-windows\publish\v<IP_ADDRESS>\yourproject.nupkg
Go to nuget.org and sign up for an account, create the app, and then upload this .nupkg file.


Likely stupid question -> kmer u64 to kmer [u8]

I have created u64 representations of a kmer like this:
for kmer in needletail::kmer::Kmers::new(seq, 32 as u8 ) {
     let km = Kmer::from(kmer).into_u64();

Is there a function to reverse that? To get from this u64 a kmer representation back?
I am quite sure there is and I am absolutely sure I will not find it ;-)
Please help!
I tried this, but it fails with an utf8 error:
std::str::from_utf8( &km.to_le_bytes()).unwrap().to_string()

I am sure it can be done and it should be simple. But I am not getting it ;-)

Took me quite some time and a lot of ChatGPG 'talks' to get there but this is the way to go:
let mut data:String = "".to_string();
let kmer_size = 7; // otherwise you get the last of a stretch of A's as 'A'
for u8_rep in &km.to_le_bytes(){
    if i < kmer_size{
         match u8_rep & 0x03{
               0b00000000 => data +="A",
               0b00000001 => data +="C",
               0b00000010 => data +="G",
               0b00000011 => data +="T",
                _ => data +="N",
         };
         i += 1;
    }
    if i < self.kmer_size{
         match u8_rep & 0x0C{
                0b00000000 => data +="A",
                0b00000100 => data +="C",
                0b00001000 => data +="G",
                0b00001100 => data +="T",
                 _ => data +="N",
          };
          i += 1;
    }
    if i < self.kmer_size{
          match u8_rep & 0x30{
                   0b00000000 => data +="A",
                   0b00010000 => data +="C",
                   0b00100000 => data +="G",
                   0b00110000 => data +="T",
                   _ => data +="N",
           };
           i += 1;
    }
    if i < self.kmer_size{
           match u8_rep & 0xC0{
                 0b00000000 => data +="A",
                 0b01000000 => data +="C",
                 0b10000000 => data +="G",
                 0b11000000 => data +="T",
                  _ => data +="N",
            };
            i += 1;
    }
}
data.to_string() // is what you need then.

likely not perfect, but it is working and I am glad.

fn u64_to_str (kmer_size:usize, km:&u64,  data:&mut String ){

    let mut i = 0;
    for u8_rep in km.to_le_bytes(){
        if i < kmer_size{
            match u8_rep & 0x03{
                0b00000000 => *data +="A",
                0b00000001 => *data +="C",
                0b00000010 => *data +="G",
                0b00000011 => *data +="T",
                _ => *data +="N",
            };
            i += 1;
        }
        if i < kmer_size{
            match u8_rep & 0x0C{
                0b00000000 => *data +="A",
                0b00000100 => *data +="C",
                0b00001000 => *data +="G",
                0b00001100 => *data +="T",
                _ => *data +="N",
            };
            i += 1;
        }
        if i < kmer_size{
            match u8_rep & 0x30{
                0b00000000 => *data +="A",
                0b00010000 => *data +="C",
                0b00100000 => *data +="G",
                0b00110000 => *data +="T",
                _ => *data +="N",
            };
            i += 1;
        }
        if i < kmer_size{
            match u8_rep & 0xC0{
                0b00000000 => *data +="A",
                0b01000000 => *data +="C",
                0b10000000 => *data +="G",
                0b11000000 => *data +="T",
                _ => *data +="N",
            };
            i += 1;
        }
        if i == kmer_size{
            break;
        }
   }
}

Hi @stela2502,
Sorry for the slow reply here.  The other potential approach would be to use the bitmer_to_bytes function, which returns a Vec<u8> which can then be interpreted / converted to a string of the nucleotides.  One benefit of your approach, however, is that the owned String argument is passed in, and so can be reused between many subsequent calls. It probably make sense to have a variant of bitmer_to_bytes that also takes an owned Vec<u8> argument as well for the same reason.

Thank you for this input. Even with the bitmer_to_bytes function I would have ended up with my problem to convert bits to sting. Do you know if the usage of an external &[u8;8] array would actually make a difference in the compiled version? Regarding the huge speed improvement between debug and release version of the program I assume the compiler is already cleaning out a lot of these problems. In addition I only actually need this function for error messages.
Would it make sense to actually add this functionality to the kmers library? It does not actually use any kmer object. But possibly in the utilities? Just grab the code if you think it makes sense. Most of the intellectual work was done by ChatGPT anyhow...

Hmm, @stela2502 what is the specific use case and type conversions you would like?
Regarding speed / usage: if you only need kmers of length <= 32 then naive_impl::kmers is fast and has an easy into_u64() function that simply returns the internal u64 representation used for "naive" kmers.
Regarding error messages: Kmer derives Debug so you can always print the internal representation with something like:println!("{:?}", km) for some kmer km.
Hope this helps!

Hi @theJasonFan. The specific case was to check how my gene matching function actually matches sequences. As all the matching is performed on basically bits level it was REALLY hard for me to grasp what is going on.
By the way - do you know of an efficient matching algorithm for sequences in Rust? What I have seams to not be giving the results I want and alevin-fry does not seam to actually do the sequence matching in Rust as this seams to be done by salmon and that is cpp... What I am really hunting for is a genome wide matching approach as salmon does.

Would calling bitmer_to_bytes() then [std::str::from_utf8](https://doc.rust-lang.org/std/str/fn.from_utf8.html) work for your use case?
We do something like this in the tests where we compare kmer representations to a sequence of bytes: https://github.com/COMBINE-lab/kmers/blob/15016e2d7fdc8be34d57ba77b269c74cd81f8901/src/kmer.rs#L195

Hehehe, that is exactly what I had expected, but as I stated before (in my first post) I was unable to find the function.
More documentation please :-D
And for me as a bioinformatician it was hard to understand the function name 'bitmer_to_bytes'. I did neither get that it would 'digest' u64 nor that it would give back Utf8... The function is so much more beautiful than my hack ;-).


🚀 [FEAT]: IMPROVE ACCESSIBILITY, BEST PRACTICES OF SITE

Description

There are several issues regarding accessibility and best practices which we must want to focus to build a well scalable web application
As per my analysis, there are some many loopholes in codes. i need to work on improvement of this site which helps to get Better ranking in Google for this site

Additional Information

I'm would like to work on this issue, so kindly assign me under gssoc23 label and level2 label for making new changes in codebase
Thank you & looking forward to contribute!

Hello @prnvtripathi, I'm gonna work at html to improve accessibility & best practices of this site to get best Search Engine Optimization

@0xabdulkhalid Looks relevant, go ahead

The work has Done @AbhiPatel10, you can now check it out the PR!


"Overriding value generation" section is confusing

It states:

To override value generation with an explicit value, simply set the property to any value that is not the CLR default value for that property's type (null for string, 0 for int, Guid.Empty for Guid, etc.).

What it is saying that you shouldn't set the property to null/0/Guid.Empty, you should set it to the actual value you want. So why even mention the default value bit? It's unnecessary and confusing. Better text would be:

To override value generation with an explicit value, simply set the property to the value you require. You cannot use a property type's default value (null for string, 0 for int, Guid.Empty for Guid, etc.) in this manner, as Entity Framework interprets these values as "property not populated" and will thus perform its standard behaviour of generating them at runtime.

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

ID: 97d622b2-1e4b-4d76-b3df-fefaa5ba99cb
Version Independent ID: ec833af2-275e-981f-689f-8c65edfc00cd
Content: Generated Values - EF Core
Content Source: entity-framework/core/modeling/generated-properties.md
Product: entity-framework
Technology: entity-framework-core
GitHub Login: @AndriySvyryd
Microsoft Alias: avickers

@IanKemp We looked at this in triage and the new text doesn't seem clearer to us. Can you try to explain again what it is specifically that you are attempting to clarify in the original text?

EF Team Triage: Closing this issue as the requested additional details have not been provided and we have been unable to reproduce it.
BTW this is a canned response and may have info or details that do not directly apply to this particular issue. While we'd like to spend the time to uniquely address every incoming issue, we get a lot traffic on the EF projects and that is not practical. To ensure we maximize the time we have to work on fixing bugs, implementing new features, etc. we use canned responses for common triage decisions.


Bugfixes

@brauner we really need to figure out the source of those "not found" in the migration tests, they've only started a few days/weeks back and are concerning given that nothing else shows up as an error in those logs...

@brauner this branch should be good to merge

@stgraber, I can start looking into it tomorrow.


x64: avoid load-coalescing SIMD operations with non-aligned loads

Fixes #2943, though not as optimally as may be desired. With x64 SIMD
instructions, the memory operand must be aligned--this change adds that
check. There are cases, however, where we can do better--see #3106.

One thing I noticed reading your thoughts on #2943 is that as an engine we have to assume that all loads/stores in wasm are unaligned, even if the alignment specified on the memory operation is aligned. The alignment in the memarg is just a hint and the wasm itself doesn't have to uphold the alignment. I suspect, though, that all wasm loads/stores are flagged as unaligned, so this should still fix the issue? (can tests be added?)
I presume that cranelift could still otherwise try to prove that an address is actually aligned, but I would be surprised if that were a cheap or already-implemented analysis...

I'll probably leave this open until @cfallin takes a look: I think this type of change has to happen but maybe he can think of a better way.

Dealing with a signal and handling it I don't think should be too too hard on embedders, there's nothing really different than trap handling I think. That being said I suspect it would be significantly tricky, so I think we'd probably want some motivating data first to see if the optimization is worth it.

In case of for example cg_clif there is no embedder that can catch the SIGBUS. Now in case of cg_clif most loads/stores are guaranteed to be aligned, so AlignHint is not very useful, but I can imagine that there will be other cases where it may be useful. I think at the very least cranelift-wasm should have an option to disable AlignHint emission.


Restuctured & Refactored The Code

I think the code is more organized this way.
Don't know how to test it~

::group::Push shouldn't be skipped in commit.sh you mean?

No, the push to main repo is useless if we don't change anything (if INPUT_UPDATE_PKGBUILD is not true and at the same time the user has not provided us any value in INPUT_AUR_SUBMODULE_PATH, so we can skip it also

okay I pushed the changes


feat(core): add lifecycle unit test

增加 core/lifecycle 单测

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.松屹 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Refactored index module export

This refactors index.js module exports as standard anonymous function instead of arrow function in order to be compatible with webpack build system.

No thanks :)

why not? =/

This module mainly targets Node.js, not the browser. It's up to you to transpile it with Babel if you want to use it in the browser. You can find a more detailed explanation here: https://github.com/sindresorhus/ama/issues/446
If you use Webpack, check out babel-engine-plugin, which transpiles only the dependencies that needs to be transpiled.


PBF-MVT service for centroids

In gitlab by @sylvaingaudan on Oct 20, 2017, 09:05
Implement the geosearch with PBF/MVT output format

In gitlab by @sylvaingaudan on Oct 20, 2017, 10:59
assigned to @sylvaingaudan

In gitlab by @sylvaingaudan on Oct 20, 2017, 10:59
added ~2424199 label

In gitlab by @sylvaingaudan on Oct 20, 2017, 11:07
changed the description

In gitlab by @sfalquier on Dec 18, 2017, 13:37
changed milestone to %23

In gitlab by @sfalquier on Jan 12, 2018, 11:00
changed milestone to %25

In gitlab by @sfalquier on Jan 31, 2018, 14:45
changed milestone to %26


Thanks!

Just wanted to say thanks for this package! I'm just getting into using jest to actually test what is being rendered to the DOM instead of only the logic in my applications. I didn't have the slightest idea how to do so but the with-jest example in glamorous and this package have helped me immensely! 👍  💯

That's awesome! Thank you so much for letting me know. This is my favorite kind of issue <3


Use isomorphic fetch

I don't see the point in using node-fetch or any other solution than the web standard.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Sven Rogge seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Pytest test discovery fails due to libcudart loading message

Environment data

VS Code version: 1.43.0
Extension version (available under the Extensions sidebar): Python 2020.2.64397
OS and version: Windows 10
Python version (& distribution if applicable, e.g. Anaconda): 3.6.9
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Relevant/affected Python packages and their versions: pytest 5.4.1
Relevant/affected Python-related VS Code extensions and their versions: XXX
Jedi or Language Server? (i.e. what is "python.jediEnabled" set to; more info #3977): Language Server
Value of the python.languageServer setting: Microsoft

Expected behaviour
Automatic test discovery
Actual behaviour
Message: Test discovery error, please check the configuration settings for the tests.
Steps to reproduce:

Docker container based on this NVidia Docker base image, build server has GPU's (4x V100)
FROM nvcr.io/nvidia/tensorflow:19.12-tf1-py3
A pytest where the module under test has a import tensorflow as tfstatement

Logs
Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)
> /usr/bin/python ~/.vscode-server/extensions/ms-python.python-2020.2.64397/pythonFiles/testing_tools/run_adapter.py discover pytest -- --rootdir /git/research-manifest -s --cache-clear .
cwd: /git/research-manifest

Output from Console under the Developer Tools panel (toggle Developer Tools on under Help; turn on source maps to make any tracebacks be useful by running Enable source map support for extension debugging)
Test discovery error, please check the configuration settings for the tests.
onDidChangeNotification @ notificationsAlerts.ts:40
console.ts:137 [Extension Host] Error Python Extension: 2020-03-15 20:51:37: Python Extension: displayDiscoverStatus [r [Error]: 2020-03-15 20:51:36.058657: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.2	at ChildProcess.<anonymous> (/root/.vscode-server/extensions/ms-python.python-2020.2.64397/out/client/extension.js:1:455844)	at Object.onceWrapper (events.js:288:20)	at ChildProcess.emit (events.js:200:13)	at ChildProcess.EventEmitter.emit (domain.js:471:20)	at maybeClose (internal/child_process.js:1021:16)	at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)]
t.log @ console.ts:137

If I run the Python command manually:
root@3bbd644007be:/git/research-manifest# python /root/.vscode-server/extensions/ms-python.python-2020.2.64397/pythonFiles/testing_tools/run_adapter.py discover pytest -- --rootdir /git/research-manifest -s --cache-clear .
2020-03-14 07:08:49.715514: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.2
[{"rootid": ".", "root": "/git/research-manifest", "parents": [{"id": "./ai", "kind": "folder", "name": "ai", "parentid": ".", "relpath": "./ai"}, {"id": "./ai/ml_serving", "kind": "folder", "name": "ml_serving", "parentid": "./ai", "relpath": "./ai/ml_serving"}, {"id": "./ai/ml_serving/test", "kind": "folder", "name": "test", "parentid": "./ai/ml_serving", "relpath": "./ai/ml_serving/test"},
...

The culprit here is the automatically generated message of libcudart loading, of coarse inside those nice list-like brackets... I think this causes the parsing of the pytest discovery output to fail.
My current workaround
As a workaround I now did the following:

pip install pytest-env, to allow defining environment variables in the pytest.ini file
add the TF_CPP_MIN_LOG_LEVEL environment variable in the pytest.ini file, which mutes that libcuadart message

My pytest.ini now looks like this:
[pytest]
norecursedirs = ai/public_models* .repo* BDA_tf* tools*
addopts=-s
env =
    TF_CPP_MIN_LOG_LEVEL=1

This way the libcudart message is no longer interfering with the automatic test discovery. However, it would be better if the test discovery could handle these type of interfering messages.

Closing in favour of #6594


3.0.0 is a disaster movie on my device

Android 14
Gallery nomap 3.0.0 stable
OnePlus CPH2399
No way to enlarge the boxes.
The 2.1.2 ran smoothly.

Take the time to properly fill an issue form.
If you're referring to the albums column size, you can use gestures to increase or decrease the number.
Currently it tries to find the right one based on calculateWindowSizeClass from material3

Yes, gestures.
I believed it was a bug, sorry dev. You are terribly right.

No problem, later on will be a visible way to change the grid size without relying on gestures


Lack of Padding on job pages

The padding and margins on our articles is well, absent, and I think we need to fix that up.

cc @simonv3 any idea?

Yep, the changes that were made in events and the normal site still need to be pulled in to the jobs pages site. This is a reason for #40.
If I get a chance today I can do it, it should be really quick.


[doubt] Is possible to Record a mp3 file with social_media_recorder

Is possible with this package to record a mp3 file from microphone on Android and IOS? If yes, with which AudioEncoder?

hello @EuHigorBarbosa
i am very sorry for mp3 type because some error happened in mp3 so i removed it from this package
but i will try again for to add mp3 to this package

Ok, thanks a lot...


fix: reword props in card stories

Closes #5863
this helps to alleviate some issues Raghu was experiencing while testing cards. when the button is focused with VO in the link button example VO was reading like link. ghost button. which made it unclear as to what the element being focused was. a button or a link? this just rewords some of the props so they look like more real world examples to make our examples more clear to assistive technology.

@kennylam @anamikaanu96 when you have a chance thanks!