Suggest changes to SE skills section

Here is my long-promised suggestion for changes to the section on SE skills. Some words on the motivation behind these changes:

First suggestion is to rename "software engineering skills" to "technical skills". This is in particular motivate by the fact that things like re-use and teamwork that are included in the research and communication skills are also usually regarded SE skills. I think it makes sense to focus here on the technical aspects in contrast. Also, it makes it a bit easier to motivate why RSE is different from "standard" SE.
Then I would suggest to mention the life cycle as first item in the list, as at least DOCBB and LIBS build upon that. I enriched the SWLC with a number of standard technical terms from SE, to show that all these things also have their place in RSE (albeit often in different forms).
MOD seems to be the skill to me that in SE is commonly called "program comprehension" so I added that term.

So far for this PR. I have some more comments on the paper, but they will go another route.

Overall, the changes make a lot of sense. Thank you!
I am however unhappy with the new name of 'technical skills' since some of the R and comm skills to some part are technical, (PM) without technical tools seems like a glass half full and (DOMREP) as well as 'Software publication' are also partially technical.
Maybe it has to be some combination like 'technical software skills' or something along those lines.

Overall, the changes make a lot of sense. Thank you!
I am however unhappy with the new name of 'technical skills' since some of the R and comm skills to some part are technical, (PM) without technical tools seems like a glass half full and (DOMREP) as well as 'Software publication' are also partially technical.
Maybe it has to be some combination like 'technical software skills' or something along those lines.

I see the term technical skills in the context of the other two pillars, research and communication skills. They are all neutral and snappy terms. I think taking those three pillars together it is clear that technical skills are the base software engineering skills. The research skills are the add-ons that make RSEs somewhat different. Both SE and researchers need to have communication skills. They all contain aspects of each other. I take PM tools as productivity tools, ie like a spreadsheet program (I know some people use them for data management...). In the same vein I have no clue how to operate the new fangled teams conference hardware....
We do have both SWREPOS and DOMREP. My understanding is that SWREPOS cover the technical details of using repos and version control. While DOMREP is about knowing your way around of specific repos that are relevant to a particular field.

We decided to postpone this discussion to next friday 23.02

Use Software Skills.

So, I think I have created in here a new state for discussion. On the ToDo List are:

remove the duplication of SWLC. I'm not sure how it crept in.
appease the spellchecker.
And I've deferred the discussion of repos to #241 and #250.

After fixing these minor things(Or I do it in main) I could merge this MR and we can continue on the new issues.
What do you think @annalenalamprecht , @sdruskat , @jpthiele , @mhagdorn

this looks good to me. I do like the change to Software/Technical Skills

In the RSE tasks and responsibilities section we have under the "Proper development" bullet point SE skills. Do we want to change the abbreviation? We do have it in the glossary. I think it is fine since we are talking about actual software engineering tasks. But I did make we wonder given we went to great lengths to define technical skills.


Restore tab history

Each tab has a unique history (accessible via the "back" and "forward" buttons); such history is lost when tabs are sent to the corral. Is it possible to keep it and restore it when the tab is reopened?
Thanks!

The history of each tab is called a Session in the Chrome API. Chrome stores up to 25 closed sessions it seems. Tab Wrangler could restore the session if it still exists and otherwise fall back to the current behavior.
https://developer.chrome.com/extensions/sessions#method-restore

For what it's worth, I know the FreshStart (session manager) extension can do this. I don't know how it works.

Hey, thanks a lot for all the work!
I've just tested this on Firefox and it's not working. Should I open a new issue?

@edjroot Yes, please open a new issue. I’m not a regular Firefox user, so if you notice any other issues please let me know. I appreciate any testing help.


Problem with wasm-client

I am attempting to implement the wasm-client.  The example code provided does not work.  I can create the client, and make a new keypair, but when I go to check the balance, I run into issues with calling async functions.  Once I start with async functions in Rust, it seems like I get dragged back in to using tokio, but tokio is not wasm compatible.
Do the examples work for you as written?  How do you deal with the async aspects of get_balance and wasm?

You are right that tokio doesn't have support for wasm, however you can create async wasm functions with #[wasm_bindgen] macro:
#[wasm_bindgen]
pub async fn main() {...}

There are more ways to create async wasm functions but wasm-bindgen is the most accesible option.

Thanks for responding.  I have crafted the following monstrosity.  I can't get anything inside the get_balance function to run.  I've been messing around with many permutations of configurations, so this is one that compiles and runs everything except the get_balance function.  Any thoughts why none of it is running?   btw, I can get all of this functionality to work in a non-wasm environment using the rpc client, so I figure it should work with this library in wasm.
#[wasm_bindgen(start)]
pub async fn main_js()  {
// Create client
let client = WasmClient::new("http://<IP_ADDRESS>:8899");
// Get a random pubkey
let pubkey = Keypair::new().pubkey();
async {
get_balances(client, &pubkey);
};
console::log_1(&"Outside Function".into());
console::log_1(&pubkey.into());
pub async fn get_balances(client : WasmClient, pubkey : &Pubkey) -> ClientResult {
console::log_1(&"Inside Function".into());

let balance = client.get_balance(pubkey).await?; // in lamports
console::log_1(&"Inside Function".into());

Ok(balance)

}

}

I got it working with  the following code, which may have some superfluous stuff:
I added an airdrop call to test another functions functionality.  It all works.
use solana_client_wasm::{
solana_sdk::signature::{Keypair, Signer},
WasmClient,
};
use solana_sdk::pubkey::Pubkey;
use web_sys::console;
use wasm_bindgen_macro::wasm_bindgen;
use std::str::FromStr;
#[wasm_bindgen(start)]
pub async fn main_js()  {
let client = WasmClient::new("http://<IP_ADDRESS>:8899");
let pubkey = Pubkey::from_str("5zG5Ssh7swZf5TqvL2ZbrU95mAvqsa19GcZPfKg5oiVk").unwrap();
client.request_airdrop(&pubkey, 5000).await.unwrap();
let balance = client.get_balance(&pubkey).await.unwrap(); // in lamports
console::log_1(&"View me in browser console".into());
console::log_1(&balance.into());  //this is the balance
}

Great! solana-wasm-client is being used in solana-cli-wasm and spl-token-cli-wasm, and all rpc methods have been tested.
I'm closing this now since it's solved but feel free to open another issue if you run into any problems.


Corrected raylib-mruby version + Updated raylua bindings!

To know why i corrected raylib-mruby version take look at previous pull request i did now...

@Rabios Merged!


How to be notified when SSL/TLS handshake is done

I'm currently try to add NIOSSL(Client/Server)Handler dynamically, after received first custom identity data. I was able to use channel.pipeline.addHandler to do that, but I could find a way to get notified when the handshake is completed.
I noticed that in NIOHTTP1, we have a configureUpgradableHTTPClientPipeline extension function which will return a upgrade result. Can we provide something like that?

The NIOSSLHandler fires a user event down the channel pipeline when it completes the handshake: specifically, it fires one of these two depending on the outcome. You can see an example of how it is used in grpc-swift.


Bump @actions/core from 1.9.1 to 1.10.0

This fixes https://github.com/redhat-actions/openshift-tools-installer/issues/89
See changes in @actions/core: https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md#1100
Action logs before the change:

Action logs after the change:

Hi @ divyansh42, can you take a look at this, please?

@divyansh42 (sorry, tagging fail :D)

Hi @divyansh42 any particular thing I can do to make this accepted?


fix(abigen): handle lossy ethabi generated abi structs

Motivation
Close #947

Solution
support the lossy abi format the ethabi's contract generates.
and generate tuples if a name of a component is empty.
This needs a followup to address how abi is emitted in ethers-solc, instead of deserializing ethabi::Contract we should keep a copy of the actual abi to not lose the info of the sub components
Ref https://github.com/gakonst/foundry/issues/733

PR Checklist

[x] Added Tests
[x] Added Documentation
[ ] Updated the changelog

@gakonst @mattsse ty on the fix for https://github.com/gakonst/foundry/issues/733


fix: Removes unneeded tab stop from property filter

Description
The tab stop inside property filter and autosuggest dropdown is used to loop focus when there are interactive elements in the dropdown such as the recovery button or custom form. When there are no interactive element the tab stop must be disabled as otherwise it does not forward the focus requiring an extra Tab press to exit the dropdown.
How has this been tested?

New unit tests

Review checklist
The following items are to be evaluated by the author(s) and the reviewer(s).
Correctness

Changes include appropriate documentation updates.
Changes are backward-compatible if not indicated, see CONTRIBUTING.md.
Changes do not include unsupported browser features, see CONTRIBUTING.md.
Changes were manually tested for accessibility, see accessibility guidelines.

Security

If the code handles URLs: all URLs are validated through the checkSafeUrl function.

Testing

Changes are covered with new/existing unit tests?
Changes are covered with new/existing integration tests?

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This reads like if we had this before but looking at the PR, loopFocus was a new addition, so we weren't trapping the focus before.

The focus was trapped before. When loopFocus is not provided it defaults to expandToViewport.

Also I wasn't able to find a permutation with custom forms to test this. So maybe we can also add an example to the pages?

It can be tested on the property-filter/split-panel-app-layout-integration page, there are some custom forms, e.g. property Stopped or Launch date.


How to pause/resume webp animation?

Is your feature request related to a problem?
The following example shown us how to play an animation webp:
FrescoWebImage(
  controllerBuilder = {
      Fresco.newDraweeControllerBuilder()
          .setUri(poster.gif) // GIF or Webp image url.
          .setAutoPlayAnimations(true)
  },
  modifier = Modifier
    .fillMaxWidth()
    .height(300.dp)
)

Now I want to control the animation to pause/resume or start/stop the animation. I can make the parameter of setAutoPlayAnimations to be a remember field, however, FrescoWebImage will dismiss and show again, which is not smooth.
Describe the solution you'd like:
Provide a parameter to pause/resume the animation.

Hey @rantianhua, I believe you can pause and restart the animatable by adding this to your builder:
.setControllerListener(object : BaseControllerListener<ImageInfo>() {
    override fun onFinalImageSet(id: String?, imageInfo: ImageInfo?, animatable: Animatable?) {
      animatable?.stop()
      animatable?.start()
    }
  }

@skydoves I tried this one, the webp won't be shown anymore if I do this

@skydoves I tried again and it worked, thanks

@rantianhua Happy to hear that!


Proposal: ensure the Solid GitHub organization only contains working code and up-to-date documents

This is a proposal for the Solid Team meeting.
Current situation
There are 149 repositories under https://github.com/solid/.
They include

process repositories
actively used code
old code
people's personal projects
etc.

The majority of those repositories contain broken code or obsolete documents.
Issues with the current situation
People arriving on GitHub have no obvious way of knowing what code works and what code does not.
They do not know if they can trust documents or repositories.
As a newcomer, or even someone having spent quite some time,
it's hard to distinguish which repositories are authoritative.
This reflects badly upon Solid's reputation.
Proposed new situation
Let us strive for https://github.com/solid/ to only contain repositories that are approved by the Solid Team.
The list can grow over time.
We would need a one-time process where we move non-approved repositories to other places.
All existing URLs remain valid because of automated redirects that GitHub sets up.
Concrete implementation suggestion
Let us create two new GitHub organizations:

https://github.com/solid-archive/ for old code and documentation
https://github.com/solid-contrib/ for current code that is not (yet) approved

Administrator rights are assigned to the same people as for https://github.com/solid/
(Note: I have created both organizations already to avoid squatting, but they can of course still be changed.)
Then we proceed as follows:

All archived repositories under https://github.com/solid/  are moved to https://github.com/solid-archive/
We identify repositories that we want to approve already; they remain where they are.
On all other repositories, we open an issue detailing the intention to move:

to https://github.com/solid-archive/ for old repositories
to https://github.com/solid-contrib/ for active repositories
We of course also offer people the option to move the repository to an organization of their own.

Upon a positive reaction, we move immediately.
Upon no reaction after a set period of time (2 weeks?), we move.
Upon negative reaction, we bring the specific case to the Solid Team meeting to decide upon an action.

Some examples of repos I created that I don't think should be under /solid any longer:

https://github.com/solid/query-ldflex (experimental)
https://github.com/solid/ldflex-playground (experimental)
https://github.com/solid/solid-tpf (experimental and old)
https://github.com/solid/mavo-solid (old)

What is wrong this proposal?  It is using a change of URI to change the status of something.  That no way to run a restaurant. The way to work is to use metadata to express the status of things: lists and tags, typically.
It is a fallacy that a "one-time change" will be what will be needed.  Things like

actively used code
old code
people's personal projects
shared projects
placeholders for future work

are in fact not constants but functions of time.  Tempting though it is to to make different github orgs for them, we would have to review the status of them very frequently -- particularly code that work our doesn't  that changes very fast.  Do you want a CI process which switches it to a different organization until the tests pass again?
It would fine to have the solid process in a different org to code and specs, I guess.  But code and specs overlap, as canonical implementations and tests are very close to specs.
I  counter-propose that we make and curate lists in turtle of the status of the repos, and use that to drive lists on the solid project website.   The solid org on github can drive people to that.
Yes, there are things we can archive I guess, but what about things I have put there as placeholders for people to look at, things people have picked up and need help with, things which work, things which broke, things which have been fixed, things which we will never fix but we don't know that now...
Meanwhile we have keywords like running code which github turns into lists like  https://github.com/search?q=topic%3Arunning-code+org%3Asolid&type=Repositories
Counter propose we continue to use metadata to solve the problem, not changing URLs of things.

@timbl - If you point me to existing github lists and/or the metadata terms that would be useful, I can make a generator for these repos the way I did for people at https://jeff-zucker.solidcommunity.net/sp/ which is entirely generated from RDF.

What is wrong this proposal? It is using a change of URI to change the status of something.

With all due respect, that is not a correct characterization of my proposal.
First of all, the URIs do no change. Concretely, https://github.com/solid/query-ldflex will be perpetually reachable from that URL.
The actually proposed change is to create a grouping for Solid repositories in order to make it easier for both Solid newcomers and veterans to find working documentation and code.
Currently, the number of repositories that are not working in the current Solid organization is much larger than the number of repositories that do. This reflects badly upon Solid and its community.

I counter-propose that we make and curate lists in turtle of the status of the repos, and use that to drive lists on the solid project website.

The issue with that solution is that it does not change the experience of people on GitHub.
And GitHub is were many search engines drive people to.

Counter propose we continue to use metadata to solve the problem, not changing URLs of things.

I'm happy to look at different solutions, but let's correctly characterize my proposal:
to move non-official repositories into a separate organization, such that the main Solid GitHub organization only contains working code. All existing URLs keep on functioning because of redirects.
I will update the description of my proposal to reflect this.

More specifically, what I want to change is this:

The endorsement of the Solid organization of a project that has not been approved by the Solid Team.
Same on npm.
Because we do not control how people get to GitHub.
They may or may not use that Turtle list, but once they are on GitHub, the UI tells them clearly that project X is part of Solid. Whereas it might never have been, or not be anymore.
It so happens that moving things on GitHub creates additional URLs—but that is a side-effect, not the goal.

Generally I think this is a good direction to go, so long as the people who do want to find / work on any repositories that are moved can find them, and that shouldn't be a problem given automatic github redirects, plus any additional guidance, documentation, metadata we provide above and beyond that.
I wonder whether solid-contrib would be needed, or if that wouldn't be something that could just live under a user account of the individual working on it, or in an organization they standup, until it is submitted / approved to live under the solid org?

I wonder whether solid-contrib would be needed, or if that wouldn't be something that could just live under a user account of the individual working on it, or in an organization they standup, until it is submitted / approved to live under the solid org?

Good point indeed!
One reason was that some repositories no longer have an active owner; but I suppose we could move those to archive until they are revived.

@RubenVerborgh I think this is a great proposal; you're right that the current arrangement causes confusion for newcomers.

Based on the decision at the previous Solid Team meeting, a concrete list of steps is being proposed at https://github.com/solid/team/issues/22


Clarify requirement for Minimal or Full Hybrid Configuration

Unless I'm missing something in this prereqs article or the "how to configure" one, I don't think either specify whether a Minimal or Full Hybrid Configuration is required to implement HMA. In a recent attempt to configure HMA on an Exchange 2016 CU10 server, the Minimal Hybrid Configuration option did not create the evoSTS auth server object. We had to switch to a Full Hybrid Configuration in order for the evoSTS auth server to get created.

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

ID: 626caf29-7e88-0b56-2013-5c5b7c2a5917
Version Independent ID: 2376192f-793d-0166-46c7-870cd0c41abb
Content: Hybrid Modern Authentication overview and prerequisites for using it with on-premises Skype for Business and Exchange servers
Content Source: Enterprise/hybrid-modern-auth-overview.md
Service: o365-administration
GitHub Login: @MSFTTracyP
Microsoft Alias: tracyp

@benjherb - thanks for the feedback, I'll get this over to the Enterprise content team for consideration.

I agree.
I have an on premise exchange deployment and want to implement MFA.
We already have Teams, and use azure ad for MFA to protect on premise Rd gateway and SSTP VPN. Now to add owa and exchange we need to run hybrid wizard and it would be good to run in minimal mode since no mail flow is needed. Just MFA for On-premise exchange.
Thanks

@officedocsbot assign @mypil

@mypil the PR #379 solve this issue

Hi @mypil , as requested by @nenonix, I created one PR by Issue, in this case the new PR #389  solve only this issue, I add the edit changes recommended by @nenonix  and @JohanFreelancer9. I add a paragraph explaining the requirements on Hybrid environments. Please review and Merge this new PR

@benjherb - From our understanding, the issue has been resolved but it may take a few days for the merged content to appear in the article. If you feel it hasn't been resolved, please re-open this issue.
Thank you for your contribution to make the docs better! Much appreciated!

@officedocsbot close


Running setup.py install for python-geohash ... error

Running setup.py install for python-geohash
... error
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-nhtndi9s/python-geohash/setup.py'"'"'; __file__='"'"'/tmp/pip-install-nhtndi9s/python-geohash/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-wzqmtao9/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.6m/python-geohash
         cwd: /tmp/pip-install-nhtndi9s/python-geohash/
    Complete output (16 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.6
    copying geohash.py -> build/lib.linux-x86_64-3.6
    copying quadtree.py -> build/lib.linux-x86_64-3.6
    copying jpgrid.py -> build/lib.linux-x86_64-3.6
    copying jpiarea.py -> build/lib.linux-x86_64-3.6
    running build_ext
    building '_geohash' extension
    creating build/temp.linux-x86_64-3.6
    creating build/temp.linux-x86_64-3.6/src
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPYTHON_MODULE=1 -I/usr/include/python3.6m -c src/geohash.cpp -o build/temp.linux-x86_64-3.6/src/geohash.o
    unable to execute 'gcc': No such file or directory
    error: command 'gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-nhtndi9s/python-geohash/setup.py'"'"'; __file__='"'"'/tmp/pip-install-nhtndi9s/python-geohash/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-wzqmtao9/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.6m/python-geohash Check the logs for full command output.

unable to implement requirement and other commands it keep on showing this error.

Seems like you need gcc first:
unable to execute 'gcc': No such file or directory
error: command 'gcc' failed with exit status 1

https://superset.apache.org/installation.html#os-dependencies

tried gcc installations commands it is showing :
No package build-essential available.
No package libssl-dev available.
No package libffi-dev available.
No package python-dev available.
No package libsasl2-dev available.
No package libldap2-dev available.
Nothing to do

@dpgaspar, I have the same issue and I have installed the OS dependencies. Any help with this?

Well you'll need gcc, you can test whether you have gcc installed with$ gcc -v.

@mistercrunch  this is what I have - gcc version 4.8.5 20150623 (Red Hat 4.8.5-39.0.3) (GCC)

I also have this problem. I have attached the error output. gcc is installed.
Apache Superset install error.txt

This appears to be an error with the python-geohash dependency related to your environment. I recommending reaching out at https://github.com/hkwi/python-geohash for support.

I got this error in CentOS and python 3.6
I solved this after installed the OS dependencies (changing to python3):
sudo yum install gcc gcc-c++ libffi-devel python3-devel python3-pip python3-wheel openssl-devel cyrus-sasl-devel openldap-devel

Awesome. Closing.

I also have this problem. I have attached the error output. gcc is installed. Apache Superset install error.txt

can you find the solution for this?

I have such an error.
This package uses codes from 10 years ago (python-geohash) !!!!

I got this error in CentOS and python 3.6
I solved this after installed the OS dependencies (changing to python3):
sudo yum install gcc gcc-c++ libffi-devel python3-devel python3-pip python3-wheel openssl-devel cyrus-sasl-devel openldap-devel

It does not work for me.
How do I do it in Linux?

if ptyhon==3.9
sudo dnf install gcc gcc-c++ libffi-devel python39-devel python39-pip python39-wheel openssl-devel cyrus-sasl-devel openldap-devel
if python==3.8
sudo dnf install gcc gcc-c++ libffi-devel python38-devel python38-pip python38-wheel openssl-devel cyrus-sasl-devel openldap-devel

Highly recommend using docker-compose for dev and docker images in production. This shouldn't be an issue in our official docker


Drop commands from the project

It seems that the commands have no purpose anymore since I will never serialize the actual Flow objects.

Looks like this is also going to impact logging. Let's not provide logging within the app itself, we can just configure the scripts to use logging separately.


Deserializer expecting a &str can't handle owned strings?

(my example uses the serde_json crate, but I don't believe this is JSON specific)
As minimal of an example as I could come up with:
extern crate serde;
#[macro_use] extern crate serde_json;
use serde::de::{self, Deserialize, Deserializer, MapAccess, Visitor};

#[derive(Debug)]
struct Thing {
    pub foo: String,
}

impl<'de> Deserialize<'de> for Thing {
    fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
        struct MyVisitor;
        impl<'de> Visitor<'de> for MyVisitor {
            type Value = Thing;
            fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
                f.write_str("a thing")
            }
            fn visit_map<V: MapAccess<'de>>(self, mut map: V) -> Result<Self::Value, V::Error> {
                let foo = match map.next_key()? {
                    Some("foo") => map.next_value()?,
                    _ => return Err(de::Error::missing_field("foo"))
                };
                Ok(Thing { foo: foo })
            }
        }
        const FIELDS: &'static [&'static str] = &["foo"];
        deserializer.deserialize_struct("Thing", FIELDS, MyVisitor)
    }
}

fn main() {
    // Ok(Thing { foo: "bar" })
    println!("{:?}", serde_json::from_str::<Thing>(r#"{"foo": "bar"}"#));

    let jsonvalue = json!({
        "foo": "bar"
    });

    // Err(ErrorImpl { code: Message("invalid type: string \"foo\", expected a borrowed string"), line 0, column 0 })
    println!("{:?}", serde_json::value::from_value::<Thing>(jsonvalue));
}

(playground link: https://play.rust-lang.org/?gist=0771979be1753cda7f5f39e631f24e70&version=stable)
I have a deserializer with a map visitor that wants the keys as a &str, but when deserializing from a serde_json::Value (for example), it gets them as String, and the visitor barfs.
How should I write this to indicate that I will take either an owned or borrowed string?
Or better yet, can the MapAccess automatically coerce an owned string into a &str? Seems to me like an owned string should always be acceptable when a &str is wanted.
The only way I've figured out to work around this is to have the visitor read the key as a serde_json::Value, and then use Value::as_str() to unwrap it. That handles both owned and borrowed strings, but then I have to handle the case where it's some other type myself, and the code gets really boilerplate-y.

You are seeing an owned string because serde_json::from_value cannot hand out &str references to the data in the Value -- the Value is destroyed when from_value returns, so those references wouldn't be valid anymore.
This change will make the visitor accept an owned string:
-                 let foo = match map.next_key()? {
-                     Some("foo") => map.next_value()?,
+                 let foo = match map.next_key::<String>()? {
+                     Some(ref k) if k == "foo" => map.next_value()?,

Couldn't it return a &'de str?

Well you have impl<'de> Visitor<'de> for MyVisitor which means 'de can be anything. What if 'de is really long or even 'static? You can't get a &'static str out of a Value (jsonvalue in this case).


invertedColors: not working any more

HI, I have got a problem with the inverted colors in bar chart
Everything works except for this. In the past, same code worked perfect.
Underneath my code for the options off the graph
let optionsGraph = {
x: 0.25,
y: 0.85,
w: 7,
h: 4,
barDir: "bar",
barGrouping: "stacked",
valGridLine: {
color: "EFF0F1",
},
catAxisOrientation: "minMax",
catAxisLabelColor: this.colors.colorB,
catAxisTitleColor:this.colors.colorA,
catAxisLabelFontFace: "Calibri",
catAxisLabelFontSize: 14,
catAxisLineShow: false,
valAxisLabelFontColor: this.colors.colorA,
valAxisLabelFontBold: false,
catAxisLabelPos: 'low',
dataLabelColor: this.colors.colorA,
showValue: false,
chartColors: [this.colors.colorC],
invertedColors: [this.colors.colorD],
titleColor: "red",
titleFontFace: "Arial",
titleFontSize: 24,
valAxisMaxVal: 100,
valAxisMinVal: -100,
};
Then I add the chart by:
slide1.addChart(pptx.charts.BAR, arrayStatementA, optionsGraph);
the optiongraph is stating an error in my IDE  which removes when I remove InvertedColors form options.
removing the bracet from InvertedColors makes the error go away but it not makes InvertedColors working.
I also tried with just colornumber in stead off the variable same problem negative values have the same color as positive values.

this is the chart what is produced

HI there, Any news on this?

I'm assuming you were using version 3.3.1 or older since you mentioned it used to work.
As far as I can tell this was broken in 3.4.0 as part of PR #821
Pretty sure the fix is to change the last line here to > 0 so that you can have a single element array.
 if ((chartType === CHART_TYPE.BAR || chartType === CHART_TYPE.BAR3D) &&
data.length === 1 &&
opts.chartColors !== BARCHART_COLORS &&
opts.chartColors.length > 1) {

As an interim fix, you can just create an array with the same color twice:
chartColors: ["ffff00","ffff00"],
invertedColors: ["00ff00","00ff00"],

HI you are right, the older version was 3.3.1
Great!! The Interim fix is working. Do I need to make the array content as much same colors as there are values or is 2 enough?
Thanks a lot.
Have a nice day!
Eric

@ericlaaper two is enough assuming you want the same color for all positives and all negatives.

I just hit the same problem.
I believe proper fix is
	if (
			(chartType === CHART_TYPE.BAR || chartType === CHART_TYPE.BAR3D) &&
			data.length === 1 &&
			**(
				(opts.chartColors && opts.chartColors !== BARCHART_COLORS && opts.chartColors.length > 1) ||
				(opts.invertedColors && opts.invertedColors.length)
			)**
	) {

There is a typescript Typescript definition problem too:
export interface IChartPropsBase {
 ...
 chartColors?: HexColor[]
  ...
  invertedColors?: **string**
}

invertedColors must also be of type "HexColor[]" not string

I created a pull request with the fix, now allowing rendering of negative bars with invertedColor even if only one chartColor is specified.  https://github.com/gitbrent/PptxGenJS/pull/1004
I also fixed the Typescript definition of invertedColors to be an array


Remove troff plugin from default distribution

Remove troff plug-in from default DITA-OT distribution package.

For a select set of documentation, we still rely heavily on troff, and even extend it to create other varieties of output. But, I also know that it's now easy to get it from the registry, so for our installation this would not be a problem. If anyone else is 1) using it and 2) keeping up to date with DITA-OT, they should also be able to get it from the registry.
Are others (who follow this repository) still using troff output, or are we the only ones? As long as it's a pretty small number, I think it's probably OK to remove it from the default distribution.


Update managing deployments user guide

Update "managing deployments" guide by:

Replace all references to ReplicationControllers with Deployments.
Move kubectl rolling-update out as a separate doc.
Re-arrange the order of different flavors of updates (apply -> edit -> patch -> replace)
Update kubectl outputs. Fix broken links.

@kubernetes/docs @kubernetes/examples

There's still something I want to do in this PR but didn't know how to:

Change the title of "managing deployments" doc from "Managing Deployments" to "Managing Resources"
Create the link to the new doc how-to-kubectl-rolling-update.md and link to it in the "managing deployments" doc
Guestbook examples are referenced in "manage deployments" doc, with examples of replication controllers. I'd want to change those to deployments, but I can't do so in this repo (it's in kubernetes repo).
Similarly, new .yaml files under docs/user-guide/ should be created in kubernetes repo too. Is there a good way to keep them in sync?

@bgrant0607 @johndmulhausen

Published:

http://janetkuo.github.io/docs/user-guide/managing-deployments/
http://janetkuo.github.io/docs/user-guide/rolling-updates/

WIth respect to user-guide yaml in the kubernetes repo: We should eventually eliminate it. We need to get the unit and e2e tests running on this repo.

Fix issues in followup. Merging.


RAI fields in mlcroissant

It seems there's a discrepancy between the RAI specs and their implementation in mlcroissant.
@JoanGi Could you please have a look at the differences (as you initially implemented the RAI fields in mlcroissant)? Thanks!

Yes!, we already detected it when implementing the datasets with RAI fields. It is being handled in this PR https://github.com/mlcommons/croissant/pull/581

Great! Just commented on the PR.

Closing this issue. Please re-open if needed.


Janus replace galaxy_tags with invalid values (containing _)

@guidograzioli Janus replaces (for instance) wildlfy by jboss_eap leading to this:
`
:0: meta-no-tags Tags must contain lowercase letters and digits only, invalid: 'jboss_eap'
You can skip specific rules or tags by adding them to your configuration file:
.ansible-lint
warn_list:  # or 'skip_list' to silence them completely

meta-no-tags  # Tags must contain lowercase letters and digits only
Finished with 1 failure(s), 0 warning(s) on 65 files.

This has been fixed for a while in fact :)


Move tooltip on the left of the first product

See http://forge.prestashop.com/browse/STAB-79

Thanks !

Thank you @thierrymarianne


feature: Support for Postgres Point in time Style

The end goal is to support a postgres point in time schema
Here is a sample
CREATE EXTENSION if not exists btree_gist;

drop table if exists user_email;
drop table if exists users;

create table users
(
    id bigint generated by default as identity primary key
);

create table user_email
(
    id       bigint generated by default as identity primary key,
    active   boolean default true not null,
    email    varchar              not null,
    duration tsrange              not null,
    user_id  bigint
        references users
            on delete cascade
);

-- only 1 active record per user at a time
create unique index user_email_duration_single_active
    on user_email (user_id, active)
    where (active = true);

-- records for the same user cannot overlap
alter table user_email add constraint user_email_duration_overlap
    exclude using gist (user_id WITH =, duration WITH &&);

-- No two users can have the same email for the same duration
alter table user_email add constraint user_email_unique
    exclude using gist (email WITH =, duration WITH &&);

insert into users (id)
values (nextval(pg_get_serial_sequence('users', 'id')));
insert into user_email (active, email, duration, user_id)
values (true<EMAIL_ADDRESS>'[2012-11-24 12:00,)', currval(pg_get_serial_sequence('users', 'id')));

I will create smaller issues to resolve the pieces.
So far I have identified

Partial Indexes
Table Constraints
tstrange and tstzrange support

I believe the constraints should be implemented via a postgrsql specific annotation?
Possibly one for field and one for table?
Ciaran

Hello!
I have a request whereby I need to inject exclude using gist (user_id WITH =, duration WITH &&); statement that i need to annotate upon table creation. May i know how is this possible?
Regards,

This looks precisely what I'm looking at right now!


⚠ Bofrost.lu has degraded performance

In 80d0a88, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1409 ms

Resolved: Bofrost.lu performance has improved in 74d2080 after 55 minutes.


lalinference v4.1.8

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe/meta.yaml:

ℹ The recipe is not parsable by parser conda-recipe-manager. The recipe can only be automatically migrated to the new v1 format if it is parseable by conda-recipe-manager.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12430638386. Examine the logs at this URL for more detail.

Depends:

https://github.com/conda-forge/lalsimulation-feedstock/pull/73

Hi! This is the friendly conda-forge automerge bot!
I considered the following status checks when analyzing this PR:

linter: passed
azure: passed

Thus the PR was passing and merged! Have a great day!


makefile Error

I'm trying to biuld verneMQ on arch (with erlang 22.0-1):
 $ make rel
cat vars.config > vars.generated
echo "{app_version, \"1.8.0-5-g7e458c6\"}." >> vars.generated
/home/mehdi/vernemq/rebar3  release
===> Verifying dependencies...
===> Compiling plumtree
===> Compiling _build/default/lib/plumtree/src/plumtree_metadata_exchange_fsm.erl failed
_build/default/lib/plumtree/src/plumtree_metadata_exchange_fsm.erl:79: gen_fsm:start/3 is deprecated and will be removed in a future release; use gen_statem:start/3
_build/default/lib/plumtree/src/plumtree_metadata_exchange_fsm.erl:86: gen_fsm:send_event/2 is deprecated and will be removed in a future release; use gen_statem:cast/2
_build/default/lib/plumtree/src/plumtree_metadata_exchange_fsm.erl:303: gen_fsm:send_event/2 is deprecated and will be removed in a future release; use gen_statem:cast/2

make: *** [Makefile:28: rel] Error 1

Is this related to erlang version?
What should I do?

Erlang/OTP 22 is not supported yet. Please use Erlang/OTP 21 for now.


Doppler firehose should listen on all adapters

A co-located nozzle should be able to connect via the loopback adapter

We were discussing allowing the user to specify what interfaces to bind to via a config option. Alot of daemons do this and allow the value <IP_ADDRESS> and :: to bind to all IPv4 and IPv6 interfaces. Some examples:

listen_addresses config option with postgres: http://www.postgresql.org/docs/9.1/static/runtime-config-connection.html#GUC-LISTEN-ADDRESSES
ListenAddress config option with openssh: http://www.tldp.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/chap15sec122.html

@fraenkel Let us know if @jasonkeene's suggestion sounds good to you. We can either do it ourselves or you could update the PR.
Thanks.

@wfernandes @jasonkeene What is it that you are trying to solve?
Can you show me how someone would specify the correct adapter for your BOSH release on each instance of your Doppler?

@fraenkel The intent is to specify via a config property the interface to listen on instead of listening to all interfaces. So instead of binding to :config.OutgoingPort, we'd listen on config.ListenAddress:config.OutgoingPort.
We were thinking that listening on all interfaces might be a security concern and we prefer locking it down to specified interfaces.
We'll talk with Jim about this. If he's ok with this, we'll merge it in.

@fraenkel Just spoke with Alex and Jim. They said they were ok with listening to all interfaces.


Add recursive map generalizing the make_zero mechanism

This is to explore functionality for realizing https://github.com/JuliaMath/QuadGK.jl/pull/120. The current draft cuts time and allocations in half for the MWE in that PR compared to the make_zero hack from the comments. Not sure if modifying the existing recursive_* functions like this is appropriate or whether it would be better to implement a separate deep_recursive_accumulate.
This probably breaks some existing uses of recursive_accumulate, like the Holomorphic derivative code, because recursive_accumulate now traverses most/all of the structure on its own and will double-accumulate when combined with the iteration over the seen IdDicts. Curious to see the total impact on the test suite.
This doesn't yet have any concept of seen and will thus double-accumulate if the structure has internal aliasing. That obviously needs to be fixed. Perhaps we can factor out and share the recursion code from make_zero.
A bit of a tangent, but perhaps a final version of this PR should include migrating ClosureVector to Enzyme from the QuadGK ext as suggested in https://github.com/JuliaMath/QuadGK.jl/pull/110#issuecomment-2323012377. Looks like that's the most relevant application of fully recursive accumulation at the moment.

Let me also throw out another suggestion: what if we implement a recursive generalization of broadcasting with an arbitrary number of arguments, i.e., recursive_broadcast!(f, a, b, c, ...) as a recursive generalization of a .= f.(b, c, ...), free of intermediate allocations whenever possible (and similarly an out-of-place recursive_broadcast(f, a, b, c...) generalizing f.(a, b, c...) that only materializes/allocates once if possible). That would enable more optimized custom rules with Duplicated args, such as having the QuadGK rule call the in-place version quadgk!(f!, result, segs...). Not sure if it would be hard to correctly handle aliasing without being overly defensive, or if that could mostly be taken care of by proper reuse of the existing broadcasting functionality.

Alright, I could take some feedback/discussion on this now.

This implements a generic recursive_map for mapping a function over the differentiable values in arbitrary tuples of identical data structures. There's an in-place equivalent recursive_map! for mutable values, built on top of a bangbang-style recursive_map!! that works on arbitrary types and reuses all the mutable memory (similar to the old make_zero_immutable! but without code duplication).
The code is diffed with the old make_zero(!) code on github, but this is a complete rewrite and the diff will probably not be helpful for reviewing. Let me know if you want me to rename files or something to get rid github's diff view.

The implementation is leaner and simpler than the old one, and even though recursive_map{!!} aren't public I wrote extensive docstrings to clarify the spec for myself and others, so I don't think the code should be too difficult to review from scratch.

I added fast paths such that new structs are allocated using splatnew with a tuple instead of ccall with a vector in the common case where there are no undefined fields. This gives a substantial speedup in many cases, which is good since recursive_map will be called in hot loops in custom quadrature rules and the like.
I have refactored make_zero and make_zero! to be minimal wrappers around recursive_map{!}, without changing their public API.

To stay safe while doing such a big refactoring, I wrote extensive tests with ~full coverage of both the old and new implementations of make_zero(!) (a small number of edge case branches aren't covered only because I can't find a way to reach them from any public entry point).
These tests uncovered quite a few bugs in the existing make_zero(!) implementations. See the following branch in my fork for the necessary fixes to get the old code to pass the new tests (except one that errors due to #1935): https://github.com/danielwe/Enzyme.jl/tree/fix_make_zero

I have not refactored recursive_add and recursive_accumulate, since these currently have different semantics where they don't recurse into mutable values. I'm happy to go ahead and do the refactoring if you're OK with changing their semantics.

TLDR: Should I rewrite recursive_add and recursive_accumulate to be based on recursive_map{!} and have full recursion semantics? Anything else
@gdalle Promised to tag you when this was ready for review, but note that this PR only deals with the low-level, non-public guts of the implementation. I'll do the vector space wrapper in a separate PR as soon as this is merged (hopefully that won't be long, I really need that QuadGK rule for my research :triangular_ruler:)

Update for anyone who's following: I've implemented the VectorSpace wrapper, which prompted me to adjust the recursive_map implementation a bit, all for the better. It's looking good and will make writing custom higher-order rules as well as the DI wrappers a lot nicer for arbitrary types. However, it dawned on me that you probably want make_zero to be easily extensible by just adding methods, like what's already done in the StaticArrays extension. That will require a bit of redesign, nothing too hard, but I've got weekend plans so might not get to it until next week.

awesome, sorry I haven't had a chance to review let [just a bunch of schenanigans atm], I'll try to take a closer look next week and ping me if not

No worries! I restored the draft label when I realized there was a bit more to do and will remove it again once I think this is ready for review. No need to look at it until then, the current state here on github doesn't reflect what I'm working with locally anyway.

At long last, I think this one's ready for you to take a look. Hit me with any questions and concerns, from major design issues to bikeshedding over names.
I put both the implementation and tests in their own modules because they define a lot of helpers and I didn't want to pollute other modules' namespaces.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 89.63%. Comparing base (037dfed) to head (72bda99).
Report is 192 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1852       +/-   ##
===========================================
+ Coverage   67.50%   89.63%   +22.12%
===========================================
  Files          31        9       -22
  Lines       12668      463    -12205
===========================================
- Hits         8552      415     -8137
+ Misses       4116       48     -4068

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

I'm still knee deep in 1.11 land and don't have cycles to review this immediately. @vchuravy can you take a look?

1.11 efforts deeply appreciated! Don't rush this. I'll keep using 1.10 and a local fork for my own needs, and occiasionally push small changes here as my tinkering surfaces new concerns/opportunities.

@danielwe is this the one now to review or is there a different related PR I should review first? (and also would you mind rebasing)

This is the one wrt. recursive maps and all that, but I've been continually refining stuff locally, so I need to both rebase and push the latest changes, hang on! Will remove draft status when ready for review.


Deploying resources within the same bicep file to different resource groups.

While deploying an NSG I also want to deploy a flowlogs resource to a different resource group. (currently doing this using a nested template, but can't find this option in the current implementation of the deployments resource).
Describe the solution you'd like
Having the option to configure the resourcegroup for the nested deployment (if that is the solution).

This is possible with modules and the scope property. Modules effectively replace nested/linked deployments.
https://github.com/Azure/bicep/blob/main/docs/spec/modules.md#defining-and-configuring-module-scopes
Here's an example: https://github.com/Azure/bicep/blob/main/docs/examples/201/proximity-placement-with-multi-resource-groups/main.bicep#L44
Let me know if that's clear or if you need more context.

Excellent. Should have seen that :-)  Thanks.


#bug; Arbitrum Bridge (Ethereum) Version 1.2.0 - Wrong transaction sender

Describe the bug
Currently, some transactions involving bridging from Ethereum to Arbitrum are not associated with the correct 'from'/'transferFrom' address.
I have found an address that used the bridge and the transaction does not appear to be tied to these sender address in the subgraph. I do not know if the problem exists for withdrawals.
By searching using the transaction hash, we can see that the transaction is indexed, but the 'from' or 'transferFrom' entities do not contain the address of the user who did the transaction (addresses contained in the entities seem to be used in the bridging process). As seen on the screenshot, there is no mention of the sender address.
Reproduction
Link to subgraph on okgraph.xyz
Link on graph protocol
Test address having bridged ETH from Ethereum to Arbitrum: 0xa74cB71969c6476eC42B6fc740D9CE2a496aFD5B
Link to transaction in explorer: Etherscan
On the Messari subgraph, request the number of transfers in or out of the test address to determine how many bridging transactions occurred.
The query on the Messari subgraph will return an empty array because these transactions are not indexed.

Expected behavior
The subgraph should properly index bridging transactions with their appropriate senders.

@fortysevenlabs

Merged the changes to https://github.com/messari/subgraphs/pull/2196 and deployed to fortysevenlabs/notional-finance-ethereum
Verified the changes on a different subgraph since the above is still syncing:


[TX-Builder] Always show to field

We are having some limitations on the way that transaction builder can be used. We decided to not show the to field when address was a valid address for interacting, but many people is loading de ABI using MasterCopy address or similar methods.
Restore to input field, even we show a duplicated value to allow people to still use the transaction builder this way

Tested comparing the deafault Tx builder with the one in the pr #137 with the master copy 1.1.1 and a MM account address
0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F
0x61a0c717d18232711bC788F19C9Cd56a43cc8872
For the old one the "to" field doesn't show up, and for the fixed version, it DOES show up, which is what we were looking for

@dasanra please merge and release

For the history:
"To " field will be available as for the contract addresses, as for EOA


[PE-D][Tester C] Traces of Addressbook still exists

There are still traces of the old Addressbook visible in your app, such as the jar file name and the json file name shown in the app

Labels: severity.VeryLow type.DocumentationBug
original: gerardstevan/ped#4

Change naming

\data\addressbook.json should be in UserPref class


[AutoPR datafactory/resource-manager] [Datafactory] Update FactoryGitHubConfiguration discriminator value (#3643)

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3813

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/2630


Boosting Algorithms implemented to get better accuracy

Hey @BlueBlaze6335 below is a detailed description of the changes this PR will bring! Do let me know if anymore changes are required.
Boosting algorithms like Adaboost, XGBoost, Light GBM and Catboost were implemented to get higher accuracy. Moreover, the accuracy was observed after implemeting Bagging i.e., Bagged Adaboost, Bagged XGBoost,  Bagged Catboost  and Bagged Light GBM.
Performance before:

Classifier
Accuracy

Random Forest Classifier
93.33%

Adaboost
93.58%

Performance now:

Classifier
Accuracy

Adaboost
78.02%

XGBoost
93.33%

Light GBM
94.07%

Catboost
93.58%

Bagged XG Boost
93.58%

Bagged Light GBM
94.07%

Bagged Catboost
93.82

Bagged Adaboost
88.39%

@void-02 please share the colab link of the notebook !!

@void-02 i saw your notebook , excuse me for asking the link because it was not opening.
Changes i want :

Change the name of the notebook to Classification - Boosting algorithms
Update the readme with the results !! and also add description in the notebook about the algorithms in the text cells
Plot the confusion matrices instead of just producing the matrix !!

@BlueBlaze6335 would you please review the suggested changes


fix: null check

The hook on preUpdateActiveEffect can result in not finding an actor object, which causes an exception at the place where the safe access operator was added

I've tested this and found no issues with it. There are a few similar places that should likely be likewise modified, see: https://github.com/mhilbrunner/fvtt-change-log/commit/d210aee87f295098d3400c4ef138099d6aa7ed32
For now, I've published this and a few others fixes and improvements in a fork at https://github.com/mhilbrunner/fvtt-change-log. Happy to have any of that incorporated in the module, take what you want :)


Does not work as of today. Youtube changed something.

What filter does this issue target?
https://letsblock.it/filters/youtube-shorts
What changes should be made?
Screenshot: https://imagetwist.com/897oztbfrt5l/screenshot1.jpeg
Did you write a uBlock filter solving this?
No response
Additional notes
Maybe you could make an update for the new changes.

Didn't notice anything different on my youtube. Maybe I have to wait a couple of days before I get the change and can update the filters.

Hello @Kenneth-Rosenstroem, thanks for opening an issue!
As @BPower0036, I am currently unable to reproduce this issue. This is not unheard of though, as Google likes to rollout changes progressively across a whole week, so the people in the first rollout batches will get regressions first.
But I'd like to confirm that it's not a browser issue first, could you please:

state your browser and uBlockOrigin versions

try manually refreshing your list, and tell me how many rules are marked as used, as shown in this screenshot:

confirm that uBlockOrigin is not disabled for that website, and that cosmetic filtering (the eye icon) is not disabled either. Like in the screenshot below, click on More of the icon row does not show:

Just updated Firefox to 110.0.1 and it fixed the problem.
I already tried the refresh of subscriptions. The latest version of Ublock 1.47.2
Thanks for your time and help.

Youtube interface changes usually trigger a spike of activity on https://www.reddit.com/r/ublockorigin/ but I don't see any post on that issue for now.
I'll pin that issue for visibility and wait a week for other reports to confirm this is not a browser issue.

As demo you can try share html of one row with these shorts.
Maybe on pastebin.com?

Closing as there has not been any other report of such an issue. Happy to re-open if that were to happen.


Python-Cheat-sheet by Mosh Hamedani

this cheat cover the core
language constructs but they are not complete by any means.
courtesy : - " https://codewithmosh.com "

this file was in his YouTube channel which I personally feel is useful for beginners*

What does this PR do?
Add resource(s) | Remove resource(s) | Add info | Improve repo
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

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

Followup

Check the output of Travis-CI for linter errors!

The repo does not host books or files. Please read CONTRIBUTING.md guidelines


Add local cache support to Pipeline Artifacts and Pipeline Caching

Per https://github.com/microsoft/azure-pipelines-tasks/issues/11864#issuecomment-662626823

It would be nice if there was a first-level cache on the local machine maintained by this task.

This is actually super close to being there.
If anyone needs to take this up:

[ ] BuildXL (or Azure Artifacts on their behalf) will need to publish the some more of the BuildXL cache packages
[ ] This  DedupStoreHttpClient will need to be wrapped with a  DedupStoreHttpClientWithCache
here: https://github.com/microsoft/azure-pipelines-agent/blob/e80c3261724f3256141076ae666bd0ca47e267c7/src/Agent.Plugins/PipelineArtifact/DedupManifestArtifactClientFactory.cs#L39
We'll want to hide this behind an envvar to start with e.g. AZURE_ARTIFACTS_CACHE_SIZE_IN_MB with null/0 means no cache.

This is actually super close to being there

This is actually super close to being there


Revisited all scan* methods but Interator

Towards #843

Current coverage is 90.77%

Merging #852 into master will decrease coverage by -0.14% as of 075961e

@@            master    #852   diff @@
======================================
  Files           80      80
  Stmts         8515    8524     +9
  Branches      1692    1692
  Methods          0       0
======================================
- Hit           7741    7738     -3
+ Partial        212     209     -3
- Missed         562     577    +15

Review entire Coverage Diff as of 075961e

Powered by Codecov. Updated on successful CI builds.


[AUTO-PR] Automatically generated new release 2021-04-21T11:31:45.685Z

What are you changing?

[x] Releasing a new version of Notify
[ ] Changing kubernetes configuration

Provide some background on the changes
NOTIFICATION-API

Lead to contact (#1273) by Quan Nguyen

NOTIFICATION-ADMIN

feat: add years switches for months and templates (#996) by Antoine Augusti

NOTIFICATION-DOCUMENT-DOWNLOAD-API
NOTIFICATION-DOCUMENT-DOWNLOAD-FRONTEND
NOTIFICATION-DOCUMENTATION
If you are releasing a new version of notify, what components are you updating

[x] API
[x] Admin
[ ] Document API
[ ] Document UI

Checklist if releasing new version:

[ ] I made sure that both API and Admin changes are present in Notify
[ ] I have checked if the docker images I am referencing exist - ex: https://gallery.ecr.aws/v6b8u5o6/notify-admin

Checklist if making changes to Kubernetes:

[ ] I know how to get kubectl credentials in case it catches on fire

You can approve this PR when you tested your PR in staging @QuanNguyen-CDS

Will not release this PR, will release the next one with https://github.com/cds-snc/notification-api/pull/1274


Checks for python without 3

Sometimes Python 3 for Windows ends up as python.exe instead of python3.exe. This change allows the .cmd file to find it.
Related Issue
https://github.com/Nike-Inc/gimme-aws-creds/issues/257
Motivation and Context
We couldn't get gimme to run on Windows without it in one case.
How Has This Been Tested?
Tested a very similar change on my colleague's workstation that wouldn't work without it.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x ] All new and existing tests passed.

Ran into the same issue on my machine, this fixes it

I used pip to install and this patch is not in the release?

I used pip to install and this patch is not in the release?


Add command to change currencies in database

I want to merge this change because...I want to have django command for change curriences in database.

Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

Should this command change default values for existing models?
For example in the checkout model we have.
currency = models.CharField(
        max_length=settings.DEFAULT_CURRENCY_CODE_LENGTH,
        default=settings.DEFAULT_CURRENCY,
    )


4751 notify trending map

Check daily the mapviews to find maps that are becoming trendy and notify to their owners.

Please @Kartones check this PR. Give special attention to the change to Static maps url helper that I have to change in order to get the url from rake tasks

:+1: <3 the trending tests :)


Temperature Clipping Missing

Thanks for the amazing work and open sourcing it!
In the paper it is mentioned:
The learnable temperature parameter was initialized to the equivalent of 0.07 from (Wu et al., 2018)
 and clipped to prevent scaling the logits by more than 100 which we found necessary to prevent training instability.

However, I am not able to find logits clipping in model.py, in this section:
# cosine similarity as logits
logit_scale = self.logit_scale.exp()
logits_per_image = logit_scale * image_features @ text_features.t()
logits_per_text = logit_scale * text_features @ image_features.t()

Is this a possible change to the code that might refer to the paper?:
# cosine similarity as logits
logit_scale = torch.clamp(self.logit_scale.exp(), max=100)

Though I am not sure how gradients would behave with torch.clamp, like an issue here.
Also, shouldn't initial temperature be 0.07 according to the paper? In the following code 1=1/temperature  if I am not mistaken?
self.logit_scale = nn.Parameter(torch.ones([]))

Maybe to this?
self.logit_scale = nn.Parameter(torch.ones([]))*(1/0.07)

That's correct. The released code was rewritten for simpler inference usage, and it's missing a few details on training. For clipping the logit_scale value, I'd check its value right after optimizer.step() in the training loop and assign log(100) if it's over that number.
Not a big deal, but appending *(1/0.07) creates an unnecessary node in the compute graph. You could add a line like nn.init.constant_(self.logit_scale, np.log(1/0.07)), or simply nn.Parameter(torch.tensor([1/0.07])).

Yeah, I ended adding these two lines: line 1 for init and line 2 for clipping. FYI, I implemented training as a fastai callback.

Yeah, I ended adding these two lines: line 1 for init and line 2 for clipping. FYI, I implemented training as a fastai callback. Also added, few missing details like gradient checkpointing too.

Can I ask you some questions about learnable temperature? I found it quickly grow to the upper bound in order to reduce log-softmax loss. So its performance is worse than fixed value of temperature? Have you found something like this?

Hum, is it even useful when the batch sizes are relatively smaller? the higher
temperature kind of smooths out the predictions, which kind of prevents it from overfitting to the "label".


Java open-tamil refactoring and adding Numeral package

Java open-tamil refactoring and adding Numeral package
Write UnitTests
Add Eclipse build files

https://github.com/arcturusannamalai/open-tamil/commit/5a2fa2d053d62540b6ff886a9c12dde57d1e80c1


Overwrite GHA caches

GHA (github action) caches aren't mutable so currently we're timestamping them:
windows-build-test-cpp-asserts-v1-f77db6670966b372878b4219599ba723feb41945-2024-08-28T19:33:14Z

Thus PRs that run will upload new caches and push out old but useful caches, e.g., caches from main that could be used by PRs.
This PR tries to mitigate that by using either PR number (in case the cache is produced by a PR) or github.ref_name-N where N always increments (in case the cache is produced by a branch run, like cache warming on main) to label the cache. The overwrite is done by first deleting any existing cache by that name and then uploading the new cache to the same label/key.
So PR caches look like this
linux-build-test-cpp-asserts-manylinux-v2-719

and will be fixed/reused for the duration of the PR.
And caches produced by main look like
linux-build-test-cpp-asserts-manylinux-v2-main-123

FYI for anyone wondering how this all works - the restore-keys are longest prefix matched (see https://github.com/nod-ai/iree-amd-aie/pull/719#discussion_r1735941967); so
key: linux-build-test-cpp-asserts-manylinux-v2-${{ github.event.number || format('{0}-{1}', github.ref_name, github.run_number) }}
restore-keys: linux-build-test-cpp-

will create a cache with the aforementioned name but then restore the cache with longest match (see  https://github.com/nod-ai/iree-amd-aie/pull/719#discussion_r1735941967) starting from linux-build-test-cpp- (including caches created by main).
EDIT:
it worked (shockingly):

Thanks for the explainer! Some noob questions:
What is the 123 in linux-build-test-cpp-asserts-manylinux-v2-main-123, is this the 123'rd cache of main ever created? Why do we need multiple caches of main?
Do we even need caches of branches. Like, shouldn't they always be close enough to main to make the cache from main basically good enough?
What about branches from forks, same as branches from nod.ai?

What is the 123 in linux-build-test-cpp-asserts-manylinux-v2-main-123, is this the 123'rd cache of main ever created? Why do we need multiple caches of main?

123 is github.run_number. We need multiple caches to prevent a race condition when a cache warming run overlaps with a main build.

Do we even need caches of branches. Like, shouldn't they always be close enough to main to make the cache from main basically good enough?

Now this is on point - we don't, in fact @ScottTodd suggested (obliquely) that we just do away with caches on PRs and only cache on push to main. I keep fiddling with this PR trying to figure out why ccache is still missing/hitting on and off and I'm about to give up and do exactly this (remove caches for PRs).

What about branches from forks, same as branches from nod.ai?

I'm always confused about this - you're the one that pointed out to me that since the linux script/action has always successfully cached things, even for forks. So according to that logic, everything here should work for forks. But reading the docs, which talk about how feature branches that share a common ancestor can share caches, it doesn't make sense to me - main is a common ancestor but in another repo? I mean maybe it really does just find the common ancestor hash and gate on that but I would've assumed there'd be stricter checking.

We need multiple caches to prevent a race condition when a cache warming run overlaps with a main build.
Makes sense

I keep fiddling with this PR trying to figure out why ccache is still missing/hitting on and off and I'm about to give up and do exactly this (remove caches for PRs).
Good to know. Caching just main might also mean llvm (via iree) is built less frequently in CI. Situation I have in mind: I make a PR before iree is bumped, and then I'm stuck with the cache for that PR, even after main has a cache with the bumped llvm.

I'm always confused about this - you're the one that pointed out to me that since the linux script/action has always successfully cached things, even for forks. So according to that logic, everything here should work for forks. But reading the docs, which talk about how feature branches that share a common ancestor can share caches, it doesn't make sense to me - main is a common ancestor but in another repo? I mean maybe it really does just find the common ancestor hash and gate on that but I would've assumed there'd be stricter checking.

Maybe the strictness needs to be introduced by other means. The first time you make a PR to IREE/torch-mlir, you need to request someone in the IREE team starts CI. If that's what you mean by 'stricter checking'. For my part I'm glad branches 'just work'.

Now this is on point - we don't, in fact @ScottTodd suggested (obliquely) that we just do away with caches on PRs and only cache on push to main. I keep fiddling with this PR trying to figure out why ccache is still missing/hitting on and off and I'm about to give up and do exactly this (remove caches for PRs).

We have a few different workflows doing different things:

https://github.com/iree-org/iree/blob/main/.github/workflows/pkgci_build_packages.yml uses actions/cache without much customization. That goes through some layers of scripts and Docker to write into a local cache dir manually and have github save/restore that full directory. Pushes and PRs both read from and write to that, so https://github.com/iree-org/iree/actions/caches is typically at 20GB/10GB used. I've been considering changing that to only write to the cache on pushes, since the "post enable cache" step also takes 2m30s to upload - which is a bottleneck for starting dependent jobs. Using a cache hosted off of GitHub (GCP/Azure/AWS) would be better for storage limits and transfer speeds but would cost some money and require occasional maintenance.
https://github.com/iree-org/iree/blob/main/.github/workflows/ci.yml uses hendrikmuhs/ccache-action in a few places, with no Docker or scripts in the way. I have those set to only "save" to the cache  on push events

I have some ideas for other experiments to try tracked at https://github.com/iree-org/iree/issues/18185.

I'm changing this PR to just not create caches for PRs. Let's see how that goes for a while.

For the future: CCACHE_COMPILERCHECK=content will prevent mac from getting cache hits even though it's supposed to help https://github.com/hendrikmuhs/ccache-action/issues/146.


Proxies

I have the requirement to proxy requests to certain URLs to another URL to avoid CORS-problems during development.
I thought it would be great to add this to your config:
.pipe(webserver({
      host: "<IP_ADDRESS>",
      port: 9000,
      livereload: true,
      proxies: [{
        source: '/abc',
        target: 'http://localhost:8080/abc'
      },
      {
        source: '/def',
        target: 'http://localhost:8080/xyz'
      }]
}));

and your requests are being proxied.

Please note that in order to use a proxy target that has a self-signed cert, you should add this line in the gulpfile.js file before creating the webserver.
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';

Thanks @ajbogh for pointing that out!


link_to not working properly along with directory indexing

Expected behavior and actual behaviour
link_to using activate: activate :directory_indexes and set :relative_links, true
should create consistent links; it doesn't.
Steps to reproduce the problem (from a clean middleman installation)
having a file test.html.erb
<%= link_to 'self', '/test' %>

and having activate :directory_indexes and set :relative_links, true set in config.rb
creates following html: self, so no relative link.
'Fixing' the problem by changing the content of test.html.erb to
<%= link_to 'self', '/test/index.html' %>

creates wrong link: self
Additional information

Ruby version:  2.1.6
Middleman version: 4.1.10
OS version: either on OSX and CentOS

So this is a file theoretically linking to itself?

Is this still an issue?


Improve doxygen for CFE SB MsgId wrappers

It was noted when reviewing #248 that the MsgId wrapper functions could use some expanded doxygen documentation.

Imported from trac issue 225.  Created by jphickey on 2017-11-15T10:50:55, last modified: 2019-03-05T14:58:28

Trac comment by jphickey on 2017-11-15 10:54:25:
Commit [changeset:37b43ca] on branch trac-225-msgid-wrapper-doxygen for review

Trac comment by jhageman on 2019-03-05 14:58:28:
Milestone renamed

Trac comment by sstrege on 2017-11-17 12:55:02:
Recommend/approve


[Bug]: the plugin freeze obsidian

Describe the bug
I just downloaded this plugin and every time I try to enter, the obsidian app will froze forever (only this plugin).
The screenshot is here FYI,

Relevant errors (if available)
No response
Steps to reproduce
(Just enter the plugin and things happen). I don’t know how to reproduce.
Expected Behavior
No response
Addition context
No response
Operating system
macOS

Duplicate of https://github.com/denolehov/obsidian-git/issues/69

thanks; it seems work today


stateio: export_state and import_state should accept pre-existing StateIO instance

Otherwise, we are unable to init exports and imports, with names and identifiers that could populate a "running" table, until complete.
If we can pass a pre-existing StateIO instanace, that would override the creation of these instances as it currently stands in export_state() and import_state(), this would support init-ing the StateIO instance before the task is complete.

move init/creation of StateIO object to POST handler (export is ajax, import os normal), for immediate viewing
a. create new field status that will init as initializing, move to running, and finish with finished
pass StateIO instance id to ct.task_params, have export_state() and import_state() both recognize a passed StateIO id and update

Done.


bug: Application tried to present modally a view controller <UIViewController: 0x10392e710> that is already being presented by <Capacitor.CAPBridgeViewController: 0x10390bf60>

Plugin version:

5.1.2
Platform(s):

iOS
Current behavior:

App crashed after pulling down the notification bar from the top left corner of the phone.
Steps to reproduce:

Pull down the notification bar from the top left corner of the phone in the app page which enabled privacy screen.
Maybe the issue is same as  https://github.com/capacitor-community/privacy-screen/issues/83#issue-2002693363
Related code:

@objc public func handleWillResignActiveNotification() {
        guard self.isEnabled else {
            return
        }
        DispatchQueue.main.async {
            let window = UIApplication.shared.connectedScenes
                .filter({$0.activationState == .foregroundActive || $0.activationState == .foregroundInactive})
                .compactMap({$0 as? UIWindowScene}).first?.windows.filter({$0.isKeyWindow}).first
            if var rootVC = window?.rootViewController {
                while let topVC = rootVC.presentedViewController {
                    rootVC = topVC
                }
                if rootVC.presentedViewController != self.privacyViewController {
                    rootVC.present(self.privacyViewController, animated: false, completion: nil)
                }
            } else {
                if self.plugin.bridge?.viewController?.presentedViewController != self.privacyViewController {
                    self.plugin.bridge?.viewController?.present(self.privacyViewController, animated: false, completion: nil)
                }
            }
        }
    }

The both version below are my adjustment, which solve the issue. Please check which adjustment is more appropriate and update it to the new version. Thanks a lot !!!
@objc public func handleWillResignActiveNotification() {
        guard self.isEnabled else {
            return
        }
        DispatchQueue.main.async {
            // ***  here
            guard self.privacyViewController.isBeingPresented else {
                return
            }
            let window = UIApplication.shared.connectedScenes
                .filter({$0.activationState == .foregroundActive || $0.activationState == .foregroundInactive})
                .compactMap({$0 as? UIWindowScene}).first?.windows.filter({$0.isKeyWindow}).first
            if var rootVC = window?.rootViewController {
                while let topVC = rootVC.presentedViewController {
                    rootVC = topVC
                }
                if rootVC.presentedViewController != self.privacyViewController {
                    rootVC.present(self.privacyViewController, animated: false, completion: nil)
                }
            } else {
                if self.plugin.bridge?.viewController?.presentedViewController != self.privacyViewController {
                    self.plugin.bridge?.viewController?.present(self.privacyViewController, animated: false, completion: nil)
                }
            }
        }
    }

@objc public func handleWillResignActiveNotification() {
        guard self.isEnabled else {
            return
        }
        DispatchQueue.main.async {
            let window = UIApplication.shared.connectedScenes
                .filter({$0.activationState == .foregroundActive || $0.activationState == .foregroundInactive})
                .compactMap({$0 as? UIWindowScene}).first?.windows.filter({$0.isKeyWindow}).first
            // *** here, add !self.privacyViewController.isBeingPresented
            if var rootVC = window?.rootViewController, !self.privacyViewController.isBeingPresented {
                while let topVC = rootVC.presentedViewController {
                    rootVC = topVC
                }
                if rootVC.presentedViewController != self.privacyViewController {
                    rootVC.present(self.privacyViewController, animated: false, completion: nil)
                }
            } else {
                if self.plugin.bridge?.viewController?.presentedViewController != self.privacyViewController {
                    self.plugin.bridge?.viewController?.present(self.privacyViewController, animated: false, completion: nil)
                }
            }
        }
    }

I also have encountered this crash.

I can confirm that I still experience random app crashes with version 5.2.1 and see same error in the stack trace (Application tried to present modally a view controller.. in handleWillResignActiveNotification). I'll try to post more info when I have other evidence.

Unfortunately, Firebase Crashlytics shows that this issue still exists. Don't know what exact behavior leads to this issue.
Stack trace as below, hope somebody can help QAQ
com.mcd.hk.emp_issue_4732187d8b157b66c2daa4ab75c8fe6f_crash_session_8dd115fecf234140974d7e2b1f261cfb_DNE_0_v2_stacktrace.txt

Crash in UIViewController presentation possibly related to CapacitorCommunityPrivacyScreen
Hello,
I'm experiencing a crash in my app that seems to be related to the CapacitorCommunityPrivacyScreen plugin. Here's an analysis of the crash log and some information that might help diagnose the issue:
Error Type:
The main cause of the crash is an NSInvalidArgumentException, which typically indicates that an invalid argument was passed to a method.
Crash Location:
The crash occurs in UIKit's presentViewController method, suggesting the issue is related to view controller presentation.
Relevant Stack Trace:
9  CapacitorCommunityPrivacyScreen    0x59d0 (Missing UUID 5f671a965c973084a707a4313ef15173) 10 CapacitorCommunityPrivacyScreen    0x4cf0 (Missing UUID 5f671a965c973084a707a4313ef15173) 11 libdispatch.dylib                  0x213c _dispatch_call_block_and_release
Possible Causes:
Attempting to present a nil or invalid view controller
Calling presentViewController on the wrong thread
View controller lifecycle issues (e.g., trying to present another view controller immediately in viewDidLoad)
Questions and Requests:
a. Are there any known issues with the CapacitorCommunityPrivacyScreen plugin related to view controller presentation?
b. Does the plugin have any specific threading requirements for its operations?
c. Are there any best practices or common pitfalls when using this plugin that could lead to this type of crash?
d. Could you provide any guidance on how to properly implement the plugin to avoid such crashes?
Steps I've Taken:
Ensured that view controller presentations are done on the main thread
Checked for proper view controller initialization
Reviewed the timing of view controller presentations in the app lifecycle
Any insights or suggestions would be greatly appreciated. I'm happy to provide any additional information that might be helpful in resolving this issue.
Thank you for your time and assistance.
Crash log given below.
ios.app_issue_22018f9ee6806d9a0fe3114bf36b1f16_crash_session_94058fb005384c1baf8f0ecc16e41b50_DNE_0_v2_stacktrace.txt

Is there any update on this issue?

anyone have a fix?

Is any progress on the issue so far? Or other specific information is needed to help investigate further?

Is there a possible solution to this issue? Or is there any additional information needed to assist in troubleshooting?

You are welcome to create a PR to fix this problem.


Hyperlane contracts feedback

https://github.com/astraly-labs/hyperlane_starknet/blob/24f4e31b92af3ae3c0e418d66c24ab49ef0d3fa7/contracts/src/contracts/mailbox.cairo#L37 - local_domain should be immutable
https://github.com/astraly-labs/hyperlane_starknet/blob/24f4e31b92af3ae3c0e418d66c24ab49ef0d3fa7/contracts/src/contracts/mailbox.cairo#L279 - flip the order of requiredHook and hook
https://github.com/astraly-labs/hyperlane_starknet/blob/24f4e31b92af3ae3c0e418d66c24ab49ef0d3fa7/contracts/src/contracts/mailbox.cairo#L275 - required checks for enough gas payment for the hooks (not sure how you'll do it if it's not in the native token like in protocol_fee)
https://github.com/astraly-labs/hyperlane_starknet/blob/24f4e31b92af3ae3c0e418d66c24ab49ef0d3fa7/contracts/src/contracts/hooks/merkle_tree_hook.cairo#L49 - safe to remove ownable upgradeable from merkle_tree hook if mailbox is immutable
https://github.com/astraly-labs/hyperlane_starknet/blob/24f4e31b92af3ae3c0e418d66c24ab49ef0d3fa7/contracts/src/contracts/hooks/merkle_tree_hook.cairo#L152 - can you use a separate AbstractPostDispatchHook so you can dedupe some of the public functions definitions and supports_metadata calls
https://github.com/astraly-labs/hyperlane_starknet/blob/24f4e31b92af3ae3c0e418d66c24ab49ef0d3fa7/contracts/src/contracts/client/mailboxclient.cairo#L2 - should this be called mailboxClientProxy?
https://github.com/astraly-labs/hyperlane_starknet/blob/24f4e31b92af3ae3c0e418d66c24ab49ef0d3fa7/contracts/src/contracts/isms/aggregation/aggregation.cairo#L141 - the solidity impl has the modules as static whereas the cairo impl can be modified and ownable. This is a slightly different behavior-wise because the ism owner which doesn't need to be mailbox owner can change the modules before a message is verified. I'm nitpicking here, so it shouldn't block anything but just pointing it out. Same with the multisigISMs.

Local Domain Immutable : got it, we cannot specify directly on the storage that the variable is immutable, but the only way to change the value of the local domain is through  the line self.local_domain.write(). I will remove the possibility to do for the owner

Alright. I'm quite familiar with tackling such issues, however this will be my first contribution if assigned. I can deliver this within a day


Initial product recommendation engine

I don't know much about machine learning, but how is it possible to use the ID of Amazon products to recommend simplCommerce IDs that are totally different.
Should the barcode be used?
or some other code in common, for example GTIN?

This is HUGE, first time I see ML in action here, thanks @ainhattv for the PR I will have a deep look into the code, but is there an online demo to test this feature or you can arrange with @thiennn for that if it's possible

In the current, this is solution cannot release because that was builded on Amazon example Dataset. The ML learning solution should be build on real data of the system. The data is most important with ML feature, so i will improve this solution for long time running.

In the current, this is solution cannot release because that was builded on Amazon example Dataset

I see, for simplicity we can suggest the products that have some similarities with the displayed one, for example product name, description, tags .. etc

Hi @ainhattv  thank you for your nice work. But I think the code is more for reference. It is not some thing we can put in production. So I cannot merge to the code base but will keep here for reference purpose.
I also have some comments on the code

Hi A. @thiennn,
Thank you for your comment. The new module is so clearly. In the current, i focus to investigate a recommend feature to match with production data.

Since the MLData folder from the original sample is checked directly into the repository, please exercise caution with this PR. This data is very large and not using GitLFS (if merged, it would permanently increase the size required to clone SimplCommerce), and won't be useful to future users of SimplCommerce. If this continues to progress, deleting the data and issuing a "squash commit" would eliminate the vestigial data.
However, this does look like a great starting point for working on a recommendation engine. Maybe consider splitting the data loading and the data training to two separate services to be able to support running it off of the main web app? As it stands the web app used for SimplCommerce doesn't currently need to be a high compute instance.

@mdekrey You right,
In the case system have big data and cannot expand the server as monolithic.
With the current design, if we want the training time does not impact with runtime then we can choose another solution such as Azure ML Studio.
So, if we use Azure ML Studio as third party which idea may be change the main idea of current system, need to take care about that.
@thiennn Could you help me consider to use Azure ML Studio?

I didn't have much free time, so I just put what already existed to work with real data.
Then I can convert the product recommendation project to a module and create a view component so that I don't have to modify the catalog module directly.

To test, make some sales with more than one product then restart the application to train using the data (data.txt) or wait a day for the job to run again and train again.


wasi: Handle read(0) with file streams

The read method on streams should support a size argument of zero, to test if the stream is still open. However, the implementation of read for open files was unconditionally treating a read that would return zero bytes as an indication that the stream was closed.
This PR fixes this bug by handling a read(0) as an explicit test to see if the current position is at the end of the file.

Fair enough. I've pushed a change to that effect.


Latest molecule image fails at destroy

Issue Type

Bug report

Molecule and Ansible details
This issue is in the latest docker image of molecule.
quay.io/ansible/molecule                                    latest              502e06e6a9ac        4 hours ago         499 MB

Molecule installation method (one of):

docker

Ansible installation method (one of):

OS package

Detail any linters or test runners used:
Our molecule.yml file
---
dependency:
  name: galaxy

driver:
  name: docker

lint:
  name: yamllint

platforms:
  - name: instance
    image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest"
    command: ${MOLECULE_DOCKER_COMMAND:-""}
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    privileged: true
    pre_build_image: true

provisioner:
  name: ansible
  lint:
    name: ansible-lint
  playbooks:
    converge: ${MOLECULE_PLAYBOOK:-playbook.yml}

scenario:
  name: default
  test_sequence:
    - lint
    - destroy
    # - dependency
    - syntax
    - create
    # - prepare
    - converge
    - idempotence
    # - side_effect
    - verify
    - destroy

verifier:
  name: testinfra
  options:
    vv: true
  lint:
    name: flake8

Desired Behavior
The desired behavior is that a molecule test would succeed on the initial destroy operation.
Actual Behaviour
Output from running molecule test
$ docker run --rm -v $(pwd):/tmp/$(basename "${PWD}"):z -v /var/run/docker.sock:/var/run/docker.sock -w /tmp/$(basename "${PWD}") quay.io/ansible/molecule:latest sudo molecule test
--> Validating schema /tmp/docker/molecule/default/molecule.yml.
Validation completed successfully.
--> Test matrix

└── default
    ├── lint
    ├── destroy
    ├── syntax
    ├── create
    ├── converge
    ├── idempotence
    ├── verify
    └── destroy

--> Scenario: 'default'
--> Action: 'lint'
--> Executing Yamllint on files found in /tmp/docker/...
Lint completed successfully.
--> Executing Flake8 on files found in /tmp/docker/molecule/default/tests/...
Lint completed successfully.
--> Executing Ansible Lint on /tmp/docker/molecule/default/playbook.yml...
Lint completed successfully.
--> Scenario: 'default'
--> Action: 'destroy'

    PLAY [Destroy] *****************************************************************

    TASK [Destroy molecule instance(s)] ********************************************
    changed: [localhost] => (item=None)
    changed: [localhost]

    TASK [Wait for instance(s) deletion to complete] *******************************
    failed: [localhost] (item=None) => {"attempts": 1, "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
    fatal: [localhost]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}

    PLAY RECAP *********************************************************************
    localhost                  : ok=1    changed=1    unreachable=0    failed=1

ERROR:
An error occurred during the test sequence action: 'destroy'. Cleaning up.
--> Scenario: 'default'
--> Action: 'destroy'

    PLAY [Destroy] *****************************************************************

    TASK [Destroy molecule instance(s)] ********************************************
    changed: [localhost] => (item=None)
    changed: [localhost]

    TASK [Wait for instance(s) deletion to complete] *******************************
    failed: [localhost] (item=None) => {"attempts": 1, "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
    fatal: [localhost]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}

    PLAY RECAP *********************************************************************
    localhost                  : ok=1    changed=1    unreachable=0    failed=1

ERROR:

This does not occur with an image from 3 weeks ago with the hash of e72db41d7ece. See the below snippet.
$ docker run --rm -v $(pwd):/tmp/$(basename "${PWD}"):z -v /var/run/docker.sock:/var/run/docker.sock -w /tmp/$(basename "${PWD}") quay.io/ansible/molecule:e72db41d7ece sudo molecule test
--> Validating schema /tmp/docker/molecule/default/molecule.yml.
Validation completed successfully.
--> Test matrix

└── default
    ├── lint
    ├── destroy
    ├── syntax
    ├── create
    ├── converge
    ├── idempotence
    ├── verify
    └── destroy

--> Scenario: 'default'
--> Action: 'lint'
--> Executing Yamllint on files found in /tmp/docker/...
Lint completed successfully.
--> Executing Flake8 on files found in /tmp/docker/molecule/default/tests/...
Lint completed successfully.
--> Executing Ansible Lint on /tmp/docker/molecule/default/playbook.yml...
Lint completed successfully.
--> Scenario: 'default'
--> Action: 'destroy'

    PLAY [Destroy] *****************************************************************

    TASK [Destroy molecule instance(s)] ********************************************
    changed: [localhost] => (item=None)
    changed: [localhost]

    TASK [Wait for instance(s) deletion to complete] *******************************
    ok: [localhost] => (item=None)
    ok: [localhost]

    TASK [Delete docker network(s)] ************************************************

    PLAY RECAP *********************************************************************
    localhost                  : ok=2    changed=1    unreachable=0    failed=0

--> Scenario: 'default'
--> Action: 'syntax'

Started first time to explore molecule and immediately experienced this. Just run simple first test by using docker image "quay.io/ansible/molecule:latest" according to this https://molecule.readthedocs.io/en/latest/examples.html.

Sorry to hear you had a rough start @tace! We're working on getting a shorter release schedule (a part of why this issue occurred) and keeping the Docker containers fresh and building ASAP.

Not so much for shorted release schedule but mostly would like to see some stable versions (one or two per year) in here:
https://quay.io/repository/ansible/molecule?tab=tags
And would like to see/select exact version of ansible and molecule on that image. As we need to fix at least ansible version exactly to match ansible version used in production.

I noticed that a new version of latest was cut however the issue still remains.

I have been fine by using 2.19 image so far. Until now I hit this one https://github.com/ansible/molecule/pull/1615 which will be fixed in next release.

sorry I hit this https://github.com/ansible/molecule/issues/1614 problem and need #1615 to overcome it.
I use docker images with ssh and systemd installed (https://github.com/chrismeyersfsu/provision_docker/tree/master/files).
It would be nice to have:

support for real ssh in molecule docker driver (instead of "docker exec")
molecule provided Dockerfiles/registry for node images having ssh/systemd installed.

molecule provided Dockerfiles/registry for node images having ssh/systemd installed.

Why? The workflow for molecule usually is that you let molecule create docker containers to test against. Those docker containers (depending on your tests etc) need systemd, but the container running molecule itself does usually not.

for the point 2 I ment docker images to be tested, not docker image of molecule (this ticket).

Ah okay, but why would molecule provide them? Seems a little bit out of scope. That said I agree that a set of curated and updated base images might go along way -- just not sure if that would be part of molecule's responsibilities.

Adding docker to the pip packages variable in the Dockerfile fixes this.
@abeluck could you please provide more details how did you solve the issue.

Adding docker to the pip packages variable in the Dockerfile fixes this.
@abeluck could you please provide more details how did you solve the issue.

In the Dockerfile, find the PIP_PACKAGES line
ENV PIP_PACKAGES="\
    molecule[azure,docker,docs,ec2,gce,lxc,openstack,vagrant,windows] \
    virtualenv \
"

and add docker to it:
ENV PIP_PACKAGES="\
    molecule[azure,docker,docs,ec2,gce,lxc,openstack,vagrant,windows] \
    virtualenv docker \
"

OK, we've made a new image release on https://quay.io/repository/ansible/molecule?tab=tags. Please check it out and let us know if there are issues. We also had some solid work done to upgrade the build to match the new package configuration: https://github.com/ansible/molecule/pull/1797. Closing this one off :+1: