Segmentation fault with archive due to fat LTO + other optimizations

Describe the bug
Segmentation fault in memchr::memmem::Finder::into_owned when running crunchy-cli archive.
Hello, I have a strange crash that prevents archiving episodes that has to do with a certain combination of optimizations and architectures. I ran in to this because I installed from AUR and my RUSTFLAGS are set by default to enable build optimizations.
Although I have traced the crash to memchr, I am starting with this bug report in crunchy-cli because (1) it's likely a problem for many crunchy-cli users who build it themselves with certain optimizations, and (2) crunchy-cli is the only way I know how to replicate the problem, as I don't have a smaller reproduction. I do however have a core and backtrace.
The main question for crunchy-cli is if you want to reduce the default LTO level (see workarounds below); and the question to anyone is if you want to help narrow the problem and get a smaller repro that could perhaps be reported to  memchr instead.
I have replicated the problem on Arch Linux (updated as of 2024-02-04) and Ubuntu 23.10 on two znver3 systems, AND on a skylake system, but not on a znver4 system.
Log:
ccli-debug-log.txt
The core (and built binary) are too big to upload here, even zipped (built with debug info, crunchy-cli is 154M), but I can find another place to upload if you want them.
The backtrace
(gdb) bt
0  0x00005ab927678034 in memchr::memmem::Finder::into_owned (self=...)
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/memchr-2.7.1/src/memmem/mod.rs:474
#1  regex_automata::util::prefilter::memmem::Memmem::new<&[u8]> (needles=Python Exception <class 'gdb.error'>: value has been optimized out
&[&[u8]](size=1), _kind=<optimized out>)
    at src/util/prefilter/memmem.rs:29
#2  regex_automata::util::prefilter::Choice::new<&[u8]> (needles=Python Exception <class 'gdb.error'>: value has been optimized out
&[&[u8]](size=1), kind=<optimized out>)
    at src/util/prefilter/mod.rs:588
#3  regex_automata::util::prefilter::Prefilter::new<&[u8]> (kind=<optimized out>, needles=Python Exception <class 'gdb.error'>: value has been optimized out
&[&[u8]](size=1))
    at src/util/prefilter/mod.rs:205
#4  0x00005ab92763e2d3 in regex_automata::meta::strategy::ReverseSuffix::new (core=...,
    hirs=&[&regex_syntax::hir::Hir](size=1) = {...}) at src/meta/strategy.rs:1188
#5  regex_automata::meta::strategy::new (info=<optimized out>, hirs=&[&regex_syntax::hir::Hir](size=1) = {...})
    at src/meta/strategy.rs:170
#6  0x00005ab9276592a2 in regex_automata::meta::regex::Builder::build_many_from_hir<regex_syntax::hir::Hir> (
    self=0x7ffd3d3d7eb8, hirs=...) at src/meta/regex.rs:3553
#7  regex_automata::meta::regex::Builder::build_many<&str> (self=0x7ffd3d3d7eb8, patterns=&[&str](size=1) = {...})
    at src/meta/regex.rs:3441
#8  regex_automata::meta::regex::Builder::build (self=0x7ffd3d3d7eb8, pattern=...) at src/meta/regex.rs:3360
#9  0x00005ab927635600 in regex::builders::Builder::build_one_string (self=0x7ffd3d3d7f80) at src/builders.rs:79
#10 regex::builders::string::RegexBuilder::build (self=0x7ffd3d3d7f80) at src/builders.rs:233
#11 regex::regex::string::Regex::new (re=...) at src/regex/string.rs:181
#12 0x00005ab92749d158 in crunchy_cli_core::utils::download::get_video_stats (path=...)
    at crunchy-cli-core/src/utils/download.rs:915
#13 0x00005ab92726f39f in crunchy_cli_core::utils::download::{impl#2}::download::{async_fn#0} ()
    at crunchy-cli-core/src/utils/download.rs:241
#14 0x00005ab92722bd60 in crunchy_cli_core::archive::command::{impl#0}::execute::{async_fn#0} ()
    at crunchy-cli-core/src/archive/command.rs:262
#15 0x00005ab927220b18 in crunchy_cli_core::execute_executor::{async_fn#0}<crunchy_cli_core::archive::command::Archive>
    () at crunchy-cli-core/src/lib.rs:220
#16 crunchy_cli_core::cli_entrypoint::{async_fn#0} () at crunchy-cli-core/src/lib.rs:205
--Type <RET> for more, q to quit, c to continue without paging--
#17 0x00005ab927422b80 in crunchy_cli::main::{async_block#0} () at src/main.rs:11
#18 tokio::runtime::park::{impl#4}::block_on::{closure#0}<crunchy_cli::main::{async_block_env#0}> ()
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/park.rs:282
#19 tokio::runtime::coop::with_budget<core::task::poll::Poll<()>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<crunchy_cli::main::{async_block_env#0}>> (budget=..., f=...)
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/coop.rs:107
#20 tokio::runtime::coop::budget<core::task::poll::Poll<()>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<crunchy_cli::main::{async_block_env#0}>> (f=...)
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/coop.rs:73
#21 tokio::runtime::park::CachedParkThread::block_on<crunchy_cli::main::{async_block_env#0}> (
    f=<error reading variable: Cannot access memory at address 0x2e90>, self=<optimized out>)
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/park.rs:282
#22 tokio::runtime::context::blocking::BlockingRegionGuard::block_on<crunchy_cli::main::{async_block_env#0}> (
    self=<optimized out>, f=<error reading variable: Cannot access memory at address 0x2e90>)
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/context/blocking.rs:66
#23 tokio::runtime::scheduler::multi_thread::{impl#0}::block_on::{closure#0}<crunchy_cli::main::{async_block_env#0}> (
    blocking=0x7ffd3d3e7a28)
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/scheduler/multi_thread/mod.rs:87
#24 tokio::runtime::context::runtime::enter_runtime<tokio::runtime::scheduler::multi_thread::{impl#0}::block_on::{closure_env#0}<crunchy_cli::main::{async_block_env#0}>, ()> (handle=0x7ffd3d3e7a70, allow_block_in_place=true, f=...)
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/context/runtime.rs:65
#25 tokio::runtime::scheduler::multi_thread::MultiThread::block_on<crunchy_cli::main::{async_block_env#0}> (
    self=<optimized out>, handle=<optimized out>,
    future=<error reading variable: Cannot access memory at address 0x2e90>)
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/scheduler/multi_thread/mod.rs:86
#26 tokio::runtime::runtime::Runtime::block_on<crunchy_cli::main::{async_block_env#0}> (self=0x7ffd3d3e7a40,
    future=...) at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/runtime.rs:350
#27 crunchy_cli::main () at src/main.rs:11

To Reproduce
On an affected CPU, set up your crunchy-cli saved login/token, then run:
sudo sysctl -w kernel.core_pattern=core-%e-%s-%u-%g-%p-%t # Optional depending on your setup
export RUSTFLAGS="-C opt-level=2 -C target-cpu=native"
export CARGO_PROFILE_RELEASE_LTO=true # "true" is the default for crunchy-cli
export CARGO_PROFILE_RELEASE_DEBUG=true
export CARGO_PROFILE_RELEASE_STRIP=false # Get useful info out of the core
cargo build --release
./target/release/crunchy-cli archive "https://www.crunchyroll.com/watch/GR7908EZ6/pv-1-shiro"

Here is a full docker/podman repro to start from scratch - again seems to be CPU-dependent, though:
Docker repro
The following mounts your $HOME/.config/crunchy-cli read-only into the container, or you could set up crunchy-cli auth within the container.
sudo sysctl -w kernel.core_pattern=core-%e-%s-%u-%g-%p-%t # Optional depending on your setup - good idea in docker to avoid systemd's core interception
podman run --rm -it -v $HOME/.config/crunchy-cli:/root/.config/crunchy-cli:ro docker.io/archlinux:base-20240101.0.204074

In the container:
cd /tmp && pacman-key --init >/dev/null 2>&1 && \
pacman -Syuq --noconfirm git gcc rustup gdb pkgconf ffmpeg pipewire pipewire-jack && \
rustup default 1.75.0 && \
export DEBUGINFOD_URLS="https://debuginfod.archlinux.org/" && \
git clone --depth 1 --branch v3.2.5 https://github.com/crunchy-labs/crunchy-cli.git && cd crunchy-cli

Then to build & test:
export RUSTFLAGS="-C opt-level=2 -C target-cpu=native"
export CARGO_PROFILE_RELEASE_LTO=true #  "true" is the default for crunchy-cli
export CARGO_PROFILE_RELEASE_DEBUG=true
export CARGO_PROFILE_RELEASE_STRIP=false # Get useful info out of the core
cargo build --release
./target/release/crunchy-cli archive "https://www.crunchyroll.com/watch/GR7908EZ6/pv-1-shiro"

To workaround
Any one of the following works around the issue:

export CARGO_PROFILE_RELEASE_LTO=thin, or false, or off - this could be where crunchy-cli could avoid the problem; ie change the setting in Cargo.toml instead of the environment variable
Rustflag -C opt-level=1, or z; instead of 2 or 3
Rustflag -C target-cpu=x86-64 instead of native

So it seems to be some confluence of low-level optimizations, but I for one am definitely not qualified to get that deep into it.
Versions

crunchy-cli 3.2.5
Rust 1.75.0

Argh - I spent all that time isolating which flags caused the crash, and didn't think to try a different Rust version. The problem goes away with rustc 1.76.0-beta.9 and 1.77.0-beta.1, at least. (crunchy-cli does not compile with 1.74.1).
So, nevermind?

Yea I think the issue can be closed, Rust 1.76 will be released in two days. But nevertheless thanks for your error report :)


Porter doesn't validate digest format, builds bad bundle.json

Describe the bug
Porter currently uses the images section of the porter.yaml to build the images section of the bundle.json. We are currently building the image reference in the bundle.json by combining the repository and digest fields of our YAML document. We don't currently validate the format of the digest, however, which can lead to bad reference strings. For example:
images:
  blah:
    repository: jeremyrickard/spring-music
    tag: latest
    digest: 8f1133d81f1b078c865cdb11d17d1ff15f55c449d3eecca50190eed0f5e5e26f

That yields a docker reference like:
jeremyrickard/spring-music@8f1133d81f1b078c865cdb11d17d1ff15f55c449d3eecca50190eed0f5e5e26f

The porter.yaml should really be:
images:
  blah:
    repository: jeremyrickard/spring-music
    tag: latest
    digest: sha256:8f1133d81f1b078c865cdb11d17d1ff15f55c449d3eecca50190eed0f5e5e26f

We should validate the digest format before building the bundle.json and error out if an invalid format is provided. A proper digest includes the algorithm.
Docker's reference code specifies:
//	digest                          := digest-algorithm ":" digest-hex
//	digest-algorithm                := digest-algorithm-component [ digest-algorithm-separator digest-algorithm-component ]*
//	digest-algorithm-separator      := /[+.-_]/
//	digest-algorithm-component      := /[A-Za-z][A-Za-z0-9]*/
//	digest-hex                      := /[0-9a-fA-F]{32,}/ ; At least 128 bit digest value

To Reproduce
Grab https://gist.github.com/jeremyrickard/60e4b0b0e13e131133e5d73a3130aee8
Run porter build
Check the .cnab/bundle.json
Expected behavior
Porter should not have an invalid docker reference string for image.

Hey @AGMETEOR, awesome! I look forward to you fixing it :)
You're right, a regex would work. I'd point you toward the Docker library we're already using:
github.com/docker/distribution/reference.
In https://github.com/deislabs/porter/blob/5d8cd2d818f6fd1391dd82d21b4ad5bdbcf0b14c/pkg/cnab/config_adapter/adapter.go#L241, it's naively just appending the digest, not actually validating that said digest is real. An easy fix might be to use reference.Parse(....) on the imgRefStr after it's been generated. Might also be able to leverage the regex in there to validate the individual components.


Bump planet tag

Description

As requested by customer M.
Manual testing from https://github.com/gravitational/gravity/issues/1829 does not show any
problems with gravity app flow.
Type of change

New feature (non-breaking change which adds functionality)

Linked tickets and other PRs
TODOs

[x] Self-review the change
[x] Perform manual testing
[ ] Address review feedback

Implementation

Performance/Scaling

Testing done

Additional information

@a-palchikov Tiller app tag is not bumped 🤦


Empty ZIP files not recognized

Empty ZIP files are a special kind of ZIP. The header differs.
File contents: 50 4b 05 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Calling GetFileType(this byte[] bytes) returns null.
$ file -i ZIPempty.zip
ZIPempty.zip: application/zip; charset=binary

A ZIP header should start with 0x04034b50 but mine starts with 0x06054b50.
.ZIP File Format Specification at section "4.3.16  End of central directory record" says that my header looks like a "end of central dir signature".
Steps to recreate this file:

have 7Zip on your machine
using windows explorer, select a file, context menu, 7zip, "add to .zip archive"
open the archive using 7zip and delete the files

Do you think this makes a corrupted zip? Or is it legit?


Can I use a redirection using the url pattern?

hello,
I'm making a landing page that supports the localization.
So, my expect result is :
http://domain.com/fr-FR
http://domain.com/fr_FR
http://domain.com/fr
http://domain.com/fr-US

And yes, they must redirect to same url.
My question is : Can I write as below (or use any patterns)?
redirect_from:
  - /fr*

Instead of
redirect_from:
  - /fr-FR
  - /fr-CA
  - /fr-US

No, unfortunately this is not possible. Please see my comment here: https://github.com/jekyll/jekyll-redirect-from/issues/80#issuecomment-152628082

hmm, ok. It looks clear intention. But I think that you might need it someday..
Thanks for your comment since nanoseconds. :)


“Duplicate package name” error when using package at workspace root with pnpm

In a legacy project I’m using have a package at the repository/workspace root. When I run knip I get the error “Duplicate package name: <root package name>”.
Reproduction
mkdir knip-root-workspace
cd knip-root-workspace
pnpm init
cat >pnpm-workspace.yaml <<<"packages:
- .
- packages/*"
pnpm add -w knip
pnpm exec knip

knip version 3.7.0
I’ll try to provide a PR that fixes this

Do you think the error message is not valid?
Knip requires package names to be unique, otherwise it could run into trouble when finding files or assigning issues to workspaces.

Do you think the error message is not valid?

Yes, the error message is not valid. It’s caused by the package at the root being processed twice. In the reproduction, there is only one package.json at the root with package name “knip-root-workspace”. And still knip shows an error.

I see, the issue was not in dup package names, but dup workspace dirs. Thanks for the PR!


Fix php 7.0 exif error

Fix exif error

What exactly is error with PHP 7.0?

exif_read_data(853509.jpeg): Illegal IFD size


bug: Defaulting all button borders to transparent

Type: bug
Platform: mobile webview
In the process of upgrading from 1.0.0 to 1.2.1 (I know, a ways behind). This commit broke all of the buttons in our app, removing their borders: https://github.com/driftyco/ionic/commit/21e54be63c3b39963813d83a4e2aa4c36784fe3e#diff-38983e82a6c8e46a6adaf2d5e3d81997R6
The only workaround is to re-write this mixin locally without that change. The fix (I'd guess, if you really really want to default every button to have no border) would be to set $button-stable-border to "transparent" instead of overwriting every button's border: https://github.com/driftyco/ionic/blob/master/scss/_variables.scss#L103

Greetings @pmcbryde!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

This isn't a bug, it's a design decision. If you need borders like pre 1.2, just add them:
.button { border: blah }

Note: this commit made ionic 1 buttons match v2 buttons, so we're going this way anyways

There are issues with this change in Ionic 1, though.
In Ionic 2, for instance, a Segment renders a border around each button, giving it some visual distinction.
In Ionic 1, a Button Bar just renders as a big block of color with some random text floating freely within it.
With the default colors, the light and stable buttons can be really hard to distinguish from the page background.
The old style with borders (demonstrated in the current Ionic 1 CSS docs) looks way better.
I'd like to see a simple option to restore borders to all buttons built into the Ionic CSS (even something like button class="button button-stable button-with-border").  Or at a bare minimum, add borders back to buttons in a button bar.

Changing the styling of buttons to match another product (ionic 2) is a mistake . It should have been at most an optional feature.


Train the Model - failed due to missing yaml definition

Hi, after downloading the data when running training on google colab, I got below error:
`NameError                                 Traceback (most recent call last)
 in <cell line: 34>()
32
33 # Load default YAML config file for training
---> 34 config = yaml.load(open("openwakeword/examples/custom_model.yml", 'r').read(), yaml.Loader)
35
36 # Modify values in the config and save a new version
NameError: name 'yaml' is not defined`

It's likely that this issue has been fixed by recent updates today to the train.py code and the Google Colab notebooks. Please try the latest versions of the Colab notebooks, and let me know if you have any more problems.

worked!
thanks a lot!


[pep8-naming] Also check invalid-module-name if file is not in package (N999)

Summary
Old behavior:
If package is None in invalid_module_name, checking the module name is skipped. This is different from the https://pypi.org/project/flake8-module-name/ behavior, where module names are checked for all Python files (independent of being in a package).
New behavior:
Also check for invalid module names for files that are not in a package. This ensures that all .py files can be imported.
Comparison of ruff and flake8 outputs
$ tree
.
├── a-a.py
├── b
│   └── b-b.py
└── c
    ├── __init__.py
    └── c-c.py

3 directories, 4 files

$ flake8 --isolated --select N999 *
a-a.py:0:1: N999 filename should be all lower case
b/b-b.py:0:1: N999 filename should be all lower case
c/c-c.py:0:1: N999 filename should be all lower case

# before change
$ ruff check --isolated --select N999 *
c/c-c.py:1:1: N999 Invalid module name: 'c-c'
Found 1 error.

# after change
$ cargo run -p ruff -- check --isolated --select N999 --no-cache *
...
a-a.py:1:1: N999 Invalid module name: 'a-a'
b/b-b.py:1:1: N999 Invalid module name: 'b-b'
c/c-c.py:1:1: N999 Invalid module name: 'c-c'
Found 3 errors.

Test Plan
New test case in crates/ruff_linter/src/rules/pep8_naming/mod.rs and successful execution of cargo nextest run.

This looks reasonable to me. I do think that we should gate the change behind preview mode. A minor release is required when

The scope of a stable rule is significantly increased

Whether this is a significant increase is debatable. I'm leaning towards being safe. @AlexWaygood what do you think?

I'm torn on this, since it's not that uncommon to use invalid module names for standalone scripts. We even do it in uv.

I'm torn on this, since it's not that uncommon to use invalid module names for standalone scripts. We even do it in uv.

Yeah. I'm -1 on this being part of N999. We already have https://github.com/astral-sh/ruff/issues/12475 complaining (reasonably, in my view) that this rule is too broad. I don't think we should broaden it further.
Possibly this could be added as a separate rule. But it would be a very opinionated rule, in my opinion. As @charliermarsh says, it's pretty common for single-file scripts to have names with hyphens in them or whatever. And that's fine, if you never intend to import them from other modules.

From reading the above, it seems we have no support for this rule change.
Thanks @AlexElvers for putting the time into this and I'm sorry this has not a more positive outcome.

Thanks for the debate! I'm now hoping for a rule split as suggested in #12475 too. :slightly_smiling_face:


IPFS Meetup in NYC (March 30)

IPFS Meetup
What: General hackathon, maybe some lightning talks, maybe some IPFS.bar or IPFS.coffee
Where: New York City
When: February 25th-28th (choose?)
Who:

@RichardLitt
@jbenet

Anyone else interested?

Update: Tentative copy:
First ever NYC IPFS Meetup!
IPFS -- the InterPlanetary File System -- is making the web faster, safer, decentralized, and more open. It is a new hypermedia distribution protocol, addressed by content and identities. Think Git + BitTorrent + The Web. IPFS is in use by thousands of developers, for all kinds of things from distributing files more efficiently, to making decentralized chat applications, to giving permanent addresses to content, to hosting content for Blockchains. IPFS is one of the hottest and fastest growing Open Source projects! You can learn more about IPFS at https://ipfs.io and https://github.com/ipfs/ipfs
This is the first IPFS NYC Meetup! And most of the core developers are here! Don't miss this opportunity to hang out with us! Join us for an exciting evening of p2p, filesystems, blockchains (bitcoin / ethereum), and apps.

Place: AWS Loft, 350 W Broadway, New York, NY 10013
Time: 6pm to 8:30pm
Format: mingling, 5 short talks, more mingling and maybe hacking.
Drinks: we will serve non-alcoholic drinks (too soon to get caterers or license)
Food: we will have some snacks.

IPFS and COOL DATA STRUCTURES - 5 short talks
0. Quick Introduction to IPFS (5min).
Juan Benet -- IPFS core developer and Protocol Labs -- will attempt a short but deep introduction to The IPFS Project. This should give enough context for newcommers to follow the rest of the talks.
1. IPLD -- Merkle-linked JSON. (15min)
Juan Benet will give an introduction to IPLD, a new standard for secure, serialized data on the web. IPLD is just JSON (or YAML, or CBOR) that has merkle-links -- meaning that links between objects link using a cryptographic hash. This gives the distributed security properties of Git and Blockchains to any data. This standard is one of the most powerful parts of IPFS, and will enable a wealth of new applications to emerge.
2. uPort -- Identity Management with Ethereum and IPFS. (15min)
Christian Lundkvist -- CTO of Consensys and author of many Ethereum applications -- will give an introduction to uPort, an exciting new decentralized Identity system. uPort uses programs on the Ethereum Blockchain and content on IPFS to maintain identity records that are permanent, uncensorable, and controlled only by you! The uPort attestation system allows third party authorities as well as peers to validate the user's information creating both a rich social fabric as well as powering solid KYC/AML systems in the financial sector.
3. Mediachain -- distributed media metadata protocol. (15min)
(TENTATIVE / UNCONFIRMED) Denis or Arkadiy? will give an introduction to Mediachain, a collaborative federated media metadata protocol that allows parties to make statements about creative works. The metadata statements are cryptographically signed by the contributor, timestamped in the Bitcoin blockchain, and stored in IPFS. The statements can then be looked up via perceptual search using an instance of the media itself.
4. Gx and Registry Mirror -- Package Management on IPFS. (20min)
Jeromy Johnson and David Dias -- IPFS core developers and Protocol Labs -- will speak about Gx and reegistry-mirror, two exciting package management projects on top of IPFS. IPFS is fantastic for package managers, because of its decentralized, secure, and permanent linking. registry-mirror is a node.js module that makes it so you can install npm packages directly from IPFS, peer-to-peer! Gx is a new package manager on top of IPFS. It aims to be flexible, powerful, and simple. You can use it today to secure your Go dependencies!
5. Orbit -- distributed p2p chat on IPFS. (15min)
Samuli Poyhtari -- IPFS core developer and Protocol Labs -- will speak about Orbit, a distributed p2p chat on IPFS. Think decentralized Slack or IRC! This talk will demo it, discuss how it works, and its components. And we will discuss how we can build realtime apps on IPFS.

Count me in!

I'm interested.
I'd still like to do something in DC, but have been dealing w/ life.
Perhaps something in conjunction w/ http://dc.opendataday.org March 4–5…

I will probably be in NYC around April 4-5 for the Git Merge 2016 (http://git-merge.com/).
By the way GitHub announced a bunch of conferences for 2016: https://github.com/blog/2102-save-the-dates-github-events-in-2016

I'm in

@jbenet Know of any places we could host a meeting? If not, I'll scout around.

I might be able to get a space in Google's NYC office if you guys are interested.  Any guesses as to how many people to expect?

We can cap it at whatever: I expect less than 10, more than 5.

:+1: @parkan

@RichardLitt not sure these dates work for me yet, as I may be in DC.
@RichardLitt let's aim for 30-100 people.
We'll record some interesting talks.
@mindhog Google would be great! But maybe too big for you. if not, email me at<EMAIL_ADDRESS>for details
Our friends at ConsenSys have also offered to host it at their office.
I'll figure out dates that wfm this weekend + reach out to people about spaces.

@chrislundkvist may be good to record a talk about uPort and the ID work you're doing? (or whatever else)
@parkan may be good to record a talk about Mediachain -- either this one or next?

@RichardLitt not sure these dates work for me yet, as I may be in DC.
@RichardLitt let's aim for 30-100 people.
We'll record some interesting talks.
@mindhog Google would be great! But maybe too big for you. if not, email me at<EMAIL_ADDRESS>for details
Our friends at ConsenSys have also offered to host it at their office.
I'll figure out dates that wfm this weekend + reach out to people about spaces.

@christianlundkvist may be good to record a talk about uPort and the ID work you're doing? (or whatever else)
@parkan may be good to record a talk about Mediachain -- either this one or next?

@jbenet I'll be out of town this day but totally down to speak at the next event -- I think we'll have more to show then, too. Any estimate for when that might be?

Whoa, ok, that's a lot. Awesome!
@jbenet Let us know ASAP when your dates are. You should be there! I also need to figure out when, as I have things on either side.
Who can we get to record? And let me know if there's anything I can do, as soon as an obstacle arises.

@jbenet I'll be happy to give a talk on uPort/Identity and how IPFS plays into it. And ConsenSys would be very happy to host the meetup! We might be able to record, but not clear on that.

Let me know as soon as you set a venue and date. Could possibly book a trip for the Friday 26 if it's just one day.

I've been casually trying to locate the right people to contact to host this at Google, but  @christianlundkvist if you guys are good to do this at ConsenSys I'll happily relinquish it.
If there ends up being a problem with the ConsenSys plan let me know and I'll resume efforts :-)

I'm in NYC that week, and keen to come along.

I'll put the word out and see what they say. We are happy to do it here, should I try something the week Feb 22nd to 26th?

The technical heads of UPort, IPFS, and R3 in the same room, oh my :)

We should stream this over IPFS. Doesn't someone have a prototype of streaming video working?

We can do Feb 25th but we have a limit of max 50-60 ppl in the ConsenSys office. Would that work @jbenet @RichardLitt?

@jbenet @RichardLitt: Bump.
Does the above sound OK? IPFS meetup Feb 25th in the ConsenSys office, max 50 ppl?

I'd like to join.

Would love to come as well.

@jbenet @richardlitt I kind of have to know if you guys are ok with the date & limits otherwise I won't be able to book it. Might be too late already for the 25th... :(

Hey everyone, sorry about my silence! -- im drowning in github notifs.
@christianlundkvist that's awesome, thank you for offering a place! Do you think it makes sense, given our failure to push on this so far, to invite people for so soon? The 25th is 2 days from now; maybe we should push off to some time in march? What do you think? (Hate to cause "on and off and on" trouble, after you getting the space for us).
What may work, since @jamescarlyle is in NYC that week, is for us to have a small meetup anyway, and talk about things? But not sure that having recorded talks this soon makes sense? Getting ~50 people to show up in 2 days notice is non trivial.
@christianlundkvist i'll email you to have this discussion in faster throughput.
Sorry again for silence!

I'll be there in the second half of March too :)

Maybe what we should do is this: if 15+ people want to come on the 25th (this thursday!), we should have it, else let's just postpone till 2nd or 3rd week of march?

Going to be hard to get that amount of people in NY on such a short notice, and also hard to decide when to cut off about how to book it. I can't make it, either. I think postponing might work best, at this point.
March 18th?

I will be in NYC from March 30 to April 8. I will attend the Git Developer Summit on April 4 and the Git Merge on April 5 (in NYC).

I vote for postponing.

Postponing sounds good to me too. We should be able to arrange something then.

Ok let's postpone. Let's pick a date. Whether or not we do one early march, It may make sense to do one in April, close to both Git Merge and the NYC Blockchain Workshop (first week of april too i think). Maybe we could do both.

Other dates could be March 23rd

March 16th works better for me, giving a Papers We Love talk in Boston on the 23rd. :)

So after (F2F!) discussions with @richardlitt and @jbenet it looks like it may be the 23rd after all. More to come...

@christianlundkvist any update on this?

@se3000 - 23rd is out, it might be the week of the 28th or after.

@jbenet @RichardLitt Can you guys do Wed March 30th?

@christianlundkvist March 30th would be great -- we've booked a location for 29th or 30th. I'm writing stuff up for them right now.

@lgierth If you are organizing it you can also use ConsenSys space - 50 ppl max

I am interested in 3/29 or 3/30 in NYC.

@christianlundkvist ah thanks very much! (thought couldn't this week)
Well, we can use either the ConsenSys office (Brooklyn, ~Morgan) or the AWS Loft (~100 people, in Manhattan, SOHO). I like the ConsenSys office. the AWS Loft may be easier (dedicated space, we dont bother). Loft space is more event-y, has presentation room with projector, and then an area with many couches. ConsenSys space is guaranteed to have many awesome people around.
How much work is this on you guys Christian? We can take care of all org, but i mean telling people, not being able to use the space, etc?
Maybe we can say Loft for now, and if <50 ppl RSVP by Tue we can move it to ConsenSys?

Tentative copy:
First ever NYC IPFS Meetup!
IPFS -- the InterPlanetary File System -- is making the web faster, safer, decentralized, and more open. It is a new hypermedia distribution protocol, addressed by content and identities. Think Git + BitTorrent + The Web. IPFS is in use by thousands of developers, for all kinds of things from distributing files more efficiently, to making decentralized chat applications, to giving permanent addresses to content, to hosting content for Blockchains. IPFS is one of the hottest and fastest growing Open Source projects! You can learn more about IPFS at https://ipfs.io and https://github.com/ipfs/ipfs
This is the first IPFS NYC Meetup! And most of the core developers are here! Don't miss this opportunity to hang out with us! Join us for an exciting evening of p2p, filesystems, blockchains (bitcoin / ethereum), and apps.

Place: AWS Loft, 350 W Broadway, New York, NY 10013
Time: 6pm to 8:30pm
Format: mingling, 5 short talks, more mingling and maybe hacking.
Drinks: we will serve non-alcoholic drinks (too soon to get caterers or license)
Food: we will have some snacks.

IPFS and COOL DATA STRUCTURES - 5 short talks
0. Quick Introduction to IPFS (5min).
Juan Benet -- IPFS core developer and Protocol Labs -- will attempt a short but deep introduction to The IPFS Project. This should give enough context for newcommers to follow the rest of the talks.
1. IPLD -- Merkle-linked JSON. (15min)
Juan Benet will give an introduction to IPLD, a new standard for secure, serialized data on the web. IPLD is just JSON (or YAML, or CBOR) that has merkle-links -- meaning that links between objects link using a cryptographic hash. This gives the distributed security properties of Git and Blockchains to any data. This standard is one of the most powerful parts of IPFS, and will enable a wealth of new applications to emerge.
2. uPort -- Identity Management with Ethereum and IPFS. (15min)
Christian Lundkvist -- CTO of Consensys and author of many Ethereum applications -- will give an introduction to uPort, an exciting new decentralized Identity system. uPort uses programs on the Ethereum Blockchain and content on IPFS to maintain identity records that are permanent, uncensorable, and controlled only by you! The uPort attestation system allows third party authorities as well as peers to validate the user's information creating both a rich social fabric as well as powering solid KYC/AML systems in the financial sector.
3. Mediachain -- distributed media metadata protocol. (15min)
(TENTATIVE / UNCONFIRMED) Denis Nazarov (or someone else) -- Founder of Mine -- will give an introduction to Mediachain, a collaborative federated media metadata protocol that allows parties to make statements about creative works. The metadata statements are cryptographically signed by the contributor, timestamped in the Bitcoin blockchain, and stored in IPFS. The statements can then be looked up via perceptual search using an instance of the media itself.
4. Gx and Registry Mirror -- Package Management on IPFS. (20min)
Jeromy Johnson and David Dias -- IPFS core developers and Protocol Labs -- will speak about Gx and reegistry-mirror, two exciting package management projects on top of IPFS. IPFS is fantastic for package managers, because of its decentralized, secure, and permanent linking. registry-mirror is a node.js module that makes it so you can install npm packages directly from IPFS, peer-to-peer! Gx is a new package manager on top of IPFS. It aims to be flexible, powerful, and simple. You can use it today to secure your Go dependencies!
5. Orbit -- distributed p2p chat on IPFS. (15min)
Samuli Poyhtari -- IPFS developer and Protocol Labs -- will speak about Orbit, a distributed p2p chat on IPFS. Think decentralized Slack or IRC! This talk will demo it, discuss how it works, and its components. And we will discuss how we can build realtime apps on IPFS.

We should make either an Eventbrite or an Attending.io or a Meetup.com page. Meetup.com is painful and sucks, but is nice and regular. Eventbrite is simple and good. Attending.io is beautiful but we had glitches a year ago. we could give it another try!

I vote we use either this image, or a similar one on a NYC background

Also @christianlundkvist and everyone im so sorry for being so horribly late to organizing this meetup! It ended up being useful, as now a lot more ipfs devs will be around.

cc @diasdavid @whyrusleeping @haadcode @dignifiedquire @noffle @RichardLitt @chriscool @parkan @denisnazarov @yusefnapora @bigs @muneeb-ali @guylepage3 @shea256 @jcnelson @jeffscottward @simondlr @bhny @nitinics @rschulman and bring/tag any others.

Awesome, thanks @jbenet - would love to make it out!
The Onename team has an event on 3/30 but I can come any other day that week or the following week.

cc @grobie @werecat @azlyth @ksnieck @lukevers

@jbenet

How much work is this on you guys Christian? We can take care of all org, but i mean telling people, not being able to use the space, etc?

Not much work at all! I just need to tell people in advance we're having a meetup.

Maybe we can say Loft for now, and if <50 ppl RSVP by Tue we can move it to ConsenSys?

Yeah, sounds good!

Also @christianlundkvist and everyone im so sorry for being so horribly late to organizing this meetup! It ended up being useful, as now a lot more ipfs devs will be around at this later date.

No worries! :smile: We're all super busy!

This is looking great @jbenet let me know how I can help with marketing & set-up and which direction you go in for info dissemination (eventbrite or meetup, etc.). Thanks @christianlundkvist for pulling me in on this -- excited to host you all at ConsenSys HQ!

[...and after you knock this one out of the park @jbenet let's do a repeat show in Boston? I've been chatting with @RichardLitt a bit about this -- and can likely get us a space a MIT. ]
But Brooklyn first! :smile:

@jbenet If you use the IPFS image from the Medium article make sure you have attribution to Bogdan Burcea.

@noffle Reminds me of Akira!
http://www.space538.org/sites/default/files/styles/thumb_700x400/public/photos/AKIRA1.jpg?itok=CCuic6Du

@christianlundkvist: If all goes well, I expect our meetup will end very similarly to Akira too!

Hey @jbenet we have another event at 6pm but we'd love to come by a bit after, around 7pm or 730pm. Can you please add us to the list of short talks near the end? What's the time frame for the talks?

@shea256
Good to see you today! yes can add as discussed, can you do it in 10-12min? we've to be out of AWS Loft by 8:30 and want to make sure to have some hangout time after talks (this may be a reason for doing it at ConsenSys instead? omg variables and constraints!). For now we'll stick with AWS Loft and we'll be strict on time.
Also please note that all talks of the night have to do with IPFS and/or IPLD. (it's not a general distributed sys meetup -- we should run one of those, but that should be a sep event). There is good overlap on identity with the uPort talk from @christianlundkvist -- and I personally think there's heavy overlap worth exploring in:

representing blockstack chain with IPLD
replicating blockstack data with IPFS
onename profile data addressed on IPFS
blockstack name resolution for IPFS naming (/ipns/<blockstack-name>.<blockstack-tld>/foo/bar/baz)

@christianlundkvist and if you want to discuss ujomusic too, or whatever, feel free. I'm personally interested in uPort but a lot of people will care about other things. whatever is most useful.

Hey @creckhow! thanks!! i think right now we're booked to do AWS Loft (because we're not sure if we'll go over 50+ people, and we wanted to check out that space-- it's well setup for recording talks), but if we could stay at consensys office longer time (say 6-9:30/10), maybe we should reconsider? (we have not sent the invite/flyer yet, so we still can. we plan to do that later today).

Ok. The ConsenSys office is still available and we're OK to keep IPFSing till 9:30 or 10. If that's appealing let me know @jbenet.

@jbenet I think talking about blockstack name resolution for IPFS naming would be awesome. Great fit and very relevant.

Thanks very much @creckhow! @RichardLitt and i discussed and since we dont have a good estimate on RSVP numbers yet, we think it's safer to go with AWS Loft for now? (we can go up to 150ppl max there) but if monday rolls around and there's <50 RSVPs, and everyone prefers ConsenSys office (most speakers would i think), we should move it there? (sorry for deferring decisions to last possible moment so much, if you need to decide today, let's just roll with AWS Loft?)

@shea256 SGTM, can you give me a description to fit these: https://github.com/ipfs/community/issues/102#issuecomment-200731738 ? (title, description with presenter name pls)

Sign up on Eventbrite here!

@jbenet whatever works for you -- I've got the ConsenSys office blocked out for this event 6pm and on Wednesday so if you'd like to shift over if attendance is low, it'd be no big deal.
Also, let me know if you'd like me to blast this out over ConsenSys social media.

@jbenet - I'll talk about uPort and give a quick demo 😃

@jbenet I'll be able to come if you want me to talk about OB.

My plane arrives at 7:15pm on March 30 at the JFK airport. So if you guys go to the ConsenSys office or another place after 8:30, please tell me, I will try to make it.

@jbenet @RichardLitt should I send you a short writeup for the talk on Blockstack w/ IPNS so you can add it to the Eventbrite?

PS: my plane was booked a long time ago for the Git Merge (April 4 and 5) and they did let me change it to take an earlier plane :-(

They didn't? :(

@shea256 Please do! richardlitt at ipfs, or my normal email. I'll add it asap.

Very excited for this! The header image is quite pretty but it does make me think of this

and/or

Planning to come and looking forward to it!

@cpacia that would be excellent, please do! Packed schedule, but excellent one.

@RichardLitt should I email you some slides as well?

@cpacia Just an abstract is fine! Bring the slides tomorrow. :)

Would the presenters be open to sharing their slide decks somewhere?

@jmsmcfrlnd shared mine here, though I'm working on a writeup + waiting for the video http://slides.com/arkadiykukarkin/mediachainheartsipfs

Thank you @parkan! And I am happy to be patient and wait for the proper package you describe above.  And I just realized that all could be shared on @ipfs :-) somehow... So I best get my @ipfs skills sharpened up.

My slides about Orbit are here: https://ipfs.io/ipfs/QmWsmxViMkWeeUXCJdhDSnQwPVuvDoHGKKazUk3afLfi48

Thanks everyone for coming!

Yes and thank you @RichardLitt @jbenet for having us! We're also hosting a Blockstack NYC Meetup on May 4th and would love to see you if you're around: http://www.meetup.com/Blockstack-NYC/events/230401990/


FFM-8662 Authentication errors: don't retry forever

What

Previously, we retried on all client authentication error every minute, forever. This change means we now only retry on 500 errors. Note, the rest.AuthenticationResponse only has a limited number of responses:
JSON200      *AuthenticationResponse // Continue
JSON401      *Error // Don't retry
JSON403      *Error // Don't retry
JSON404      *Error // Don't retry
JSON500      *Error // Retry

It hasn't been done in this PR yet, as it's a draft, but we will also only retry on 500 errors for a user configurable maxRetries

Because the client attempted to connect forever, we never returned an error to callers. So the the err returned by NewCFClient would never contain an error for auth issues:
client, err := harness.NewCfClient(sdkKey) // err will always be nil

I am raising this draft PR to get feedback on what the approach should be. Should we:
a) bubble auth errors back up to SDK users?
b) or should we simply log a warning that the SDK is operating in a defaults only mode, and return the client. Note that if we go for this option, the error returned by client doesn't make any sense, unless we tell users that this doesn't include auth errors.

have raised separate PR: https://github.com/harness/ff-golang-server-sdk/pull/128


Icon urls

Hi  just started using this and was wondering if its possible to set 2 different icon urls one for on and one for off?
Thanks

Yes that should be possible with:
- entity_id: media_player.tv
  service: media_player.turn_on
  text: >
    {% if is_state('media_player.tv', 'on') %}
    url:https://raw.githubusercontent.com/basnijholt/home-assistant-streamdeck-yaml/main/assets/fireplace.png
    {% else %}
    url:https://raw.githubusercontent.com/basnijholt/home-assistant-streamdeck-yaml/main/assets/hogwarts.png
    {% endif %}

Let me know whether it works for you!

Hi thanks for the speedy response.  I have used this a per below but im getting Rendering Failed on the button,
  - entity_id: light.led_strip
    service: light.toggle
    icon: >
        {% if is_state('light.led_strip, 'on') %}
        url:https://raw.githubusercontent.com/basnijholt/home-assistant-streamdeck-yaml/main/assets/fireplace.png
        {% else %}
        url:https://raw.githubusercontent.com/basnijholt/home-assistant-streamdeck-yaml/main/assets/hogwarts.png
        {% endif %}

Would you have any ideas what could be causing this?
Thanks again

You are not doing anything wrong! My fault, there was a bug that was caught by the tests that I implemented for the examples.
I fixed it in https://github.com/basnijholt/home-assistant-streamdeck-yaml/pull/58/commits/0ba3244e8771bffef1ee58af0a1ea9e6a67e9670.

Thanks again.  I have this as Home Assistant Add-on installed with home assistant, how do i get the updated version with this fix?  and will this take time to propagate through homeassistant?
Thanks

Since just now (1 min ago) I finished setting everything up such that when there is an update here, there will be an update on the addon.


How do I add a custom death screen for a character?

Describe your problem here.
I'm trying to create a custom death screen for a character in LUA and I remember seeing a way to do it but it doesn't work for me.
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

nvm lol! i  forgot to look closely at the wiki


'python.datascience.execSelectionInteractive' not found

Issue Type: Bug
I have a keybinding to execute the current selection in a python interactive window. It recently stopped working, and it seems like 'python.datascience.execSelectionInteractive' no longer appears to exist.
To reproduce:
Add this to keybindings.json:
{
"key": "cmd+enter",
"command": "python.datascience.execSelectionInteractive"
}
Expected results: cmd+enter executes the current selection in an interactive window
Actual results:
command 'python.datascience.execSelectionInteractive' not found
I also do not see any settings anymore when I search "data science" in settings, which may be related.
Extension version: 2020.11.358366026
VS Code version: Code 1.51.1 (e5a624b788d92b8d34d1392e4c4d9789406efe8f, 2020-11-11T01:11:34.018Z)
OS version: Darwin x64 19.6.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-5250U CPU @ 1.60GHz (4 x 1600)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
3, 4, 6

Memory (System)
8.00GB (0.10GB free)

Process Argv
--crash-reporter-id 6cc1787e-c794-4061-b789-b89d2432cd77

Screen Reader
no

VM
0%

Hi Same issue here, it suddenly stopped working.


How to invite?

How to invite this bot?

I usually just use the oauth link
https://discordapp.com/oauth2/authorize?client_id=<CLIENT_ID>&scope=bot
If you want the "official" one, the link is
https://discordapp.com/oauth2/authorize?client_id=436684273131716611&scope=bot

Thx 👍


Times not being converted for BST (and other timezone offsets)

More detail: Times are always stored in UTC, but rendered in the local time zone of the server at the moment.


Spyder fails to open using Anaconda on Mac OS

Hello everyone, I am having an error when opening Spyder on MacOS, the error reads as follows "Application launch spyder may have produced some errors: /opt/anaconda3/bin/pythonw: line 3:  3639 Segmentation fault: 11  /opt/anaconda3/python.app/Contents/MacOS/python "$@".
I have read other threads around this problem and have tried all of the suggested including the conda prompts, reinstalled anaconda several times etc... however nothing has fixed this for me.
Spyder version:  5.5.1
Python version:  3.12.4
Operating System: MacOS 14.5
CPU: M1 Pro

I came here seeking the answer to this exact problem.

I just found a way around it. This is a reference to a thread about this same issue
Essentially @mrclary had the answer to the issue.
Copy the line of code below to your mac terminal (I altered the original code by removing (base) >>  and respecifying the spider model from 5.5.5 to 5.5.1)
conda create -n spy-env -c conda-forge --override-channels python=3.12 spyder=5.5.1
You'll be asked to download a new environment. Do it.
It's not much. After a minute or two, all files should be downloaded.
Restart anaconda navigator, Look to the top of your screen where you see "base(root)".
Click on it, then switch to spy-env.
Voila! That's it.

You should now be able to open spyder without encountering any problems.

Thanks, @UltorXbt.

pandas must be installed into the new spy-env environment you created. You may want other packages as well, such as matplotlib and scipy, etc.
conda install -n spy-env -c conda-forge --override-channels pandas matplotlib scipy

Excellent thanks for all your help!


Feature request: Grouping accounts

I would love to see my Accounts screen more organized by grouping the accounts. Example: I have 3 Ally accounts, Ally Checking, Ally Saving (....1234), Ally Saving (....5678). I think it would be nice if I am able to create a master group and call it "ALLY", and list my Ally accounts under it and so on for other bank accounts...
Thanks!!

Hello and thank you for the feature request. For organization purposes and the ability for the community to decide what features get built next, we track all feature requests in Trello!
I've added your request here. Thanks once again!

Thank you very much!


ngMessageExp should be documented

There is no documentation entry for ng-message-exp

It is in the docs here: https://docs.angularjs.org/api/ngMessages/directive/ngMessage

then it would be nice to have a link at the side menu and the title changed to also mention ngMessagesExp

But it is an attribute on the ngMessage directive not a directive of its own.

Oh, I see. It is an alias of the ngMessage directive.

Fixed at 2d0eda10e43f6b079b531c507282fad082ea0762


PowerShell Module

Please update the sample scripts to use the Azure AD module, the preview module is no longer needed to run these cmdlets, see https://docs.microsoft.com/en-us/powershell/module/azuread/new-azureadmsgrouplifecyclepolicy?view=azureadps-2.0

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

ID: ee217532-6b64-61f7-d965-bc95d9198cdb
Version Independent ID: f6bab9a9-1b8b-01db-6e42-045eb04efe9e
Content: Set expiration for Office 365 groups - Azure Active Directory
Content Source: articles/active-directory/users-groups-roles/groups-lifecycle.md
Service: active-directory
Sub-service: users-groups-roles
GitHub Login: @curtand
Microsoft Alias: curtand

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

Hi @DeanGross
Thanks! I updated the article.

#please-close


Completed some questions

Sorry for delay, kindly accept this pull request , please

Hi Hope you're doing well.
Thank you for taking the time to solve the all the questions. We really appreciate your efforts. We will verify your submission and your certificate will be sent to you in your email. Thank you for participating. Keep an eye on our social media page for our upcoming events.
an you please specify your college/institution name and your mail for the certificate?

Also kindly specify your full name for the certificates.

Hi,
There has been some issue in contacting you via mail. Can you please share the following details to the specified mail Id.
Full name, college/institution name and your mail id.
Share the details to<EMAIL_ADDRESS>


Support OCI Connector and conversation search with GenAI

Description
We need to support a connector to the Oracle Cloud Infrastructure (OCI) and OCI GenAI service as ML so that the conversation search can work for Oracle Cloud Infrastructure
Issues Resolved
https://github.com/opensearch-project/ml-commons/issues/2049
Changes
Add OCI_SIGV1 protocol and connector to call OCI services API

Add dependencies to oci java sdk common library V2
Add implementation for OciConnector and OciConnector Executor

Support conversational search with OCI GenAI

Add OCI_GENAI LLM provider
Whitelist OCI GenAIs ervice  endpoint
Update DefaultLlmImpl to handle OCI_GENAI LLM provider
Generate prompt for OCI_GENAI LLM provider

Add a few more test cases to improve code coverage from 82.68% to 86.81%
Test Plan

Unit test
End to end test with cluster with new OCI LLM provider

Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

DCO is missing

Rebased an fix security check by update org.apache.commons:commons-compress version 1.25.0 -> 1.26.0

Re-triger, somehow there is no changes but the test was successful in linux before but now fail

The PR passed all the checks before, I just added a few comments to address PR comments and now it always failed the test in Linux because of disk issues. I tried to trigger multiple test times but it does not help. Do we have any instructions so that I can follow to clean up the testing environment? cc @dhrubo-os @ylwu-amzn @samuel-oci
{"error":{"root_cause":[{"type":"m_l_limit_exceeded_exception","reason":"Disk Circuit Breaker is open, please check your resources!"}],"type":"m_l_limit_exceeded_exception","reason":"Disk Circuit Breaker is open, please check your resources!"},"status":500}

Can you add a blueprint of OCI_GENAI LLM in the ml-commons/docs/remote_inference_blueprints that has been used in this conversational search test example? I don't see it in the current repo.

@samuel-oci @khoaisohd Do you guys want to get this ready for the 2.18 release?  Are there any Oracle customers asking for this feature?  @khoaisohd can you rebase against main?


[LANG-1593] - Common behaviour for StringUtils join APIs when called with char or String delimiter

JIRA:  https://issues.apache.org/jira/browse/LANG-1593

Coverage increased (+0.004%) to 94.951% when pulling 2f20b9df053e7582f52308e05d497bc46f579422 on HubertWo:LANG-1593-join-string-delimiter into d9f5b615675d525bccc2c04ad8f261a783386c4c on apache:master.

LGTM

@garydgregory May I ask you for second review and approval? :)

Pulled changes from apache:master.

Pulled changes from apache:master for the third time.


npm run build results in bad links on index.html page to scritps, etc., anything in /assets

Describe the bug
Just doing a build.
Result is that the /asset links don't work and the page won't render. When I remove the slash before /assets the page loads.
`

Incident Map App

`
Reproduction
https://github.com/evilgeniuscreative/ncdot_demo
Steps to reproduce

npm run build
FTP dist files to web
Page does not render

System Info
System:
    OS: macOS 13.3.1
    CPU: (4) x64 Intel(R) Core(TM) i3-8100B CPU @ 3.60GHz
    Memory: 22.79 GB / 64.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 16.19.1 - ~/.nvm/versions/node/v16.19.1/bin/node
    npm: 8.19.3 - ~/.nvm/versions/node/v16.19.1/bin/npm
  Browsers:
    Chrome: 114.0.5735.106
    Firefox: 109.0.1
    Safari: 16.4
  npmPackages:
    @vitejs/plugin-vue: ^4.2.3 => 4.2.3
    vite: ^4.3.5 => 4.3.9

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Also currently working on it at https://evilgeniuscreative.com/demo_ncdot/ which may or may not be working at the time that you see it

You need to set the base if you're not serving your site at the root of the domain.

Thank you, but where and how would I set that? The docs aren't clear. Also,
I didn't (afaik) set up anything other than the default setup so I'm not
sure why I would have to change the base in the first place?
My index.html file is in the root, isn't it?
On Wed, Jun 7, 2023, 2:03 AM Bjorn Lu @.***> wrote:

You need to set the base
https://vitejs.dev/config/shared-options.html#base if you're not
serving your site at the root of the domain.
—
Reply to this email directly, view it on GitHub
https://github.com/vitejs/vite/issues/13444#issuecomment-1579956565, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AA65LBMSWZ2IL3WUCA7PIFDXKAKURANCNFSM6AAAAAAY5GLRGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

Your site is https://evilgeniuscreative.com/demo_ncdot/, so you're serving under the /demo_ncdot base. It's a Vite config option as linked. I don't think the docs are unclear about that.

@bluwy maybe not to you but they are unclear to me and probably others who are new to Vite. So could you be helpful and let me know where and how would I set that? I have found that the Vite docs assume that the reader knows which file or folder or in what structure anything it talks about should go. Those things are not obvious to newcomers.

I don't get why you don't understand how to set the base option. You're already using resolve.alias option. What's the difference with that one?

Ok, so that's this, then?
// https://vitejs.dev/config/ export default defineConfig({   plugins: [vue()],   optimizeDeps: {},   resolve: {     alias: {       '@': fileURLToPath(new URL('./src', import.meta.url)),       '~bootstrap': path.resolve(__dirname, 'node_modules/bootstrap'),       base: '/demo_ncdot/'     }   },
It still doesn't work. See the other issue for details and screenshots https://github.com/vitejs/vite/issues/13446

Don't forget you guys you're working on the code for this and resolving bugs, I'm just trying to learn it. Things that are obvious to you might be very confusing to me, especially if the documentation is it crystal clear. And I am happy to help clarify that documentation at any time as long as I can understand how it operates.


Remove console error for save+previous

Describe what your pull request addresses (Please include relevant issue numbers):

make console error disappear by defining goToNextOrPrevious to be string instead of func
No additional or deleted code.

Please include detailed Test instructions for your pull request:

Load project
Load Translation Words
Make selection
Save it
Open console
Click Save + Previous
Note no console error

Standard Test Instructions for PR Review Process:

[ ] Double check unit tests that have been written
[ ] Check for documentation for code changes
[ ] Check that there are not inadvertent commits to tC Apps when reviewing a tC Core PR
[ ] Checkout the branch locally and ensure that app runs as expected

[ ] Ensure tests pass
[ ] Open and watch the console for errors
[ ] Make sure all actions perform as expected
[ ] Import and Load a new Project
[ ] Load a tool and perform basic actions
[ ] Switch tools and perform basic actions
[ ] Switch project to an existing project
[ ] Load a tool and perform basic actions
[ ] Switch tools and perform basic actions
[ ] Next time reverse the order of importing after loading an existing project

[ ] Reviewer should double check the DoD in the ISSUE, including the “spirit” of the story
[ ] Ask Ben or Koz if you have any concerns about implementation (especially UI related)

This change is

 Local Testing
  Code Review

Reviewed 3 of 3 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

One change so far I see is that we should make sure this is consistent even in the tests, so in VerseCheck/__tests__/View.test.js have goToNextOrPrevious: () => jest.fn() be goToNextOrPrevious: null as in other tests.

Reviewed 3 of 3 files at r1.
Review status: :shipit: all files reviewed at latest revision, all discussions resolved, all commit checks successful.

Comments from Reviewable


[ErrorException]   Constant PHABEL_INCLUDED already defined

I have<EMAIL_ADDRESS>installed.
after running composer require --dev phabel/phabel
I got this error:
[ErrorException]
Constant PHABEL_INCLUDED already defined

That's weird, are you running the command inside the phabel repo?
Anyway already pushed a fix.


Tic Tac Toe Game

Is your feature request related to a problem? Please describe.
A tic Tac toe game
Describe the solution you'd like
A multi-player game I which who places consecutively 3 times they are winner

@Sulagna-Dutta-Roy  please assign

/assign

Already exists #154. Closing this


ExternalCidr for remote clusters

Description
This PR introduces support for ExternalCidr.
ExternalCidr is used to represent the network used by the local cluster for service endpoints of the remote cluster. Traffic toward this network is forwarded to the remote cluster. Thanks to this network we avoid possible conflicts between IPs of service endpoints reflected in the remote cluster and IPs of pods of the local cluster.
At startup, the IPAM module choose randomly the ExternalCIDR of the local cluster.
The remote cluster receives the network conf with the localExternalCIDR(Spec->ExternalCIDR). The remote cluster, as it does for the PodCIDR, checks for conflicts and eventually remaps the network, setting Status->ExternalCIDRNAT in the network config. If no conflicts are found, Status->ExternalCIDRNAT is "None".
A set of new fields in the tunnelendpoint crd has been added as well.
The Ipam module reserves an ExternalCIDR when the cluster receives a networkconfig from a remote cluster and stores (without reserving) the ExternalCIDR used in the remote cluster and stored in the Status of the local networkconfig.

/ok-to-test

/rebase


[Perf] MCAD take a significant time to process and schedule AppWrappers

As part of the MCAD load test that we performed, we observed a significant difference between how the default scheduler and MCAD schedule workload on the Pods.
This plot shows how MCAD scheduled 150 Pods with low CPU requirement (all the Pods could fit on the available nodes):

The test ran in 14.2 minutes.
This plot shows the result of the same test, but with Job resources instead of AppWrappers.

The test ran in 6.3 minutes.
Note that in both cases, the Pods ran for 5 minutes, so the default scheduler scheduling confirms the expectation that all the Pods fit simultaneously on the cluster.

This plot shows a similar result, with 200 Pods requesting each 1 GPU.
There is a total of 200 GPU resources available in the system (2 physical GPUs, each time-sliced into 100 GPU resources).
The test took 21.6 minutes to run.

This plot shows how the default scheduler performed.
The test took 13.9 minutes to run.

this plot highlights:

in blue, how many AppWrappers have been created, but not yet scheduled
in red, how many AppWrappers->Pod have been scheduled, but did not complete (they run for 5 minutes)
in green, how many AppWrappers->Pod have finished their execution

The problem targeted by this ticket is the size of the blue area. The bigger it is, the slower MCAD is at scheduling AppWrappers.
In comparison, the default scheduler almost doesn't show any blue area:

Update, While performing testing locally for 100 AWs, we experienced a 50% speedup in dispatch performance.


Standup 🙂

Sorry to put this as an issue.
I would really love to see a full asp.net standup on razorpages.
Or better, series of training videos / tutorials.
As someone who loved we pages, I cannot tell you how excited I am for this.
Hope I am not alone.
Thanks for all the hard work.
PS.  All thats missing is webpack 2 for minificztion / tree shaking of js.

I like your comments, plz check
https://www.mikesdotnetting.com/article/307/razor-pages-getting-started-with-the-preview
And
https://docs.microsoft.com/en-us/aspnet/core/razor-pages/

@cyrusel thanks for the links. I think better effort should be put by @Microsoft to making sure a richer documentation is available for RazorPages.  A page tutorial at docs.microsoft.com shows lack of commitments on the side of the Microsoft documentation team.

@saint4eva
It was just preview released a week ago.   I am grateful for the docs we have now.   Its not perfect, but I am sure when it is officially released we will get full docs and tutorials.
One thing I really appreciate is that Damien Edwards really loves the Razorpages model.   Its nice that he sees it as a first class option for page driven architecture.
I hope that Mike Brind, whos webpages book was like a bible to me, will do a new book on Razorpages.   That would be awesome.
I expect you will see courses on Treehouse, Udemy, youtube and other places soon.

@villanus thank you very much for the assurance.


Update and rename assam.topo.json to kenya.topo.json

@govabi  Can you detail out why you are renaming the files for Assam?


Fixes compatibility with Java 7

I fixed several places to make the plugin compatible with JDK 7. I believe it's important since Java 7 is still used in about half of all Java projects (https://plumbr.eu/blog/java/java-version-statistics-2015-edition). We're still working on Java 7 as well.
The most important differences are:

I replaced Instant with Date. Since Rollbar expects timestamp in seconds, even Date will suffice.
Added an implementation for String.join
Replaced getOrDefault with get. All occurrences of getOrDefault used null as "default" parameter value. This means behavior didn't change if we replace it with a get method call.
Fixed JavaDoc in TestThat.java

Hey, you're the man! I'll run the tests (still need to setup CircleCI for this repo), and review the changes.
Eventually we'll probably need to support 6 as well :( but I wasn't entirely sure how to get it all working in different language versions. (I'm a C# guy impersonating a Java programmer...)
Unrelated question: how does the library "feel" to you? I'm still not 100% sold on the completely immutable objects. I feel like I could probably just make the mandatory fields immutable and get a similar feel with a lot less work involved in altering the payloads...

Tests Pass! Thanks for this. Any feedback is welcome on this!

Released. Waiting on Maven Central to sync now.

Unrelated question: how does the library "feel" to you? I'm still not 100% sold on the completely immutable objects. I feel like I could probably just make the mandatory fields immutable and get a similar feel with a lot less work involved in altering the payloads...

I don't feel that's important since most of the time you won't interact with it. I created a singleton object as recommended and that was enough.


membership: promote @zhaohuabing as maintainer

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes https://github.com/envoyproxy/gateway/issues/2302

cc @envoyproxy/gateway-maintainers, we need at least two approvals for this, if you are +1 on it, please approve this PR.
After merging it, I will invite @zhaohuabing to @envoyproxy/gateway-maintainers team.

Also request reviews from @zhaohuabing, plz approve it if you are good with it.


Update README main

Packages impacted by this PR
Issues associated with this PR
Describe the problem that is addressed by this PR
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)
Related to this issue https://github.com/Azure/azure-sdk-for-js/issues/26365#issuecomment-1718919473

API change check
API changes are not detected in this pull request.


Not able to add more than Z column

Hi,

var sheet1 = workbook.createSheet('sheet1',100, 100);
sheet1.set(34,2,"Hello");

nothing at column 34

Hello, i am having the same issue, can't add more collums than Z, did anyone has a solution for this? Thx.

I used another lib instead of this , just because of this issue

@shubh2502  which library can you tell?? I am also facing this issue.

@abhishek11210646  you can use export-excel-fast node module but with this, you will be needing jszip, pako, nodezip, collections, and weak-map. It worked out for me.


Lazy parquet refs2

(hah, we were working at the same time!)
Changes:

allow writing to remote
remove my version of df
set consolidated True and engine to fastparquet for simplicity
various inline comments

Unanswered questions:

multiple refs per key (would require extra column for the index mapping, and some change in referenceFS to combine the bits)
per-chunk functions (would require some way to pass anything except the reference back to referenceFS, and allow some input there of the function to call)

Having written those out, they don't sound too bad?

@martindurant I just finished looking over and testing your suggested changes and think most of them look fine other than mainly using categorical encoding for paths/urls by default. As I mentioned in my comment I found that it greatly increased writing times and file sizes.
If this now seems alright, I'll merge this into my branch and we can finish this up from there.

I found that it greatly increased writing times and file sizes.

I find it really surprising! Here is a simple example:
In [71]: df = pd.DataFrame({"a": np.random.choice(urls, 10_000_000)})

In [72]: df.to_parquet("not_cat.parq", engine="fastparquet", compression="zstd")

In [73]: df['a'] = df['a'].astype("category")

In [74]: df.to_parquet("yes_cat.parq", engine="fastparquet", compression="zstd")

In [75]: ll *cat.parq
-rw-r--r--  1 mdurant  staff  13065420  9 Mar 14:51 not_cat.parq
-rw-r--r--  1 mdurant  staff   2554356  9 Mar 14:51 yes_cat.parq

In [77]: %timeit pd.read_parquet("not_cat.parq", engine="fastparquet") # reports 744MB big
569 ms ± 6.39 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In [78]: %timeit pd.read_parquet("yes_cat.parq", engine="fastparquet") # reports 9.5MB big
12.3 ms ± 59.1 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

Try running your examples again but setting the row group sizes to 10000 and it will be much more apparent.
In [30]: df = pd.read_parquet('refs_noaa_10k/ACCET/refs.parq')

In [31]: %time df.to_parquet('ACCET_10k.parq', engine='fastparquet', compression='zstd', row_group_offsets=10000)
CPU times: user 2.84 s, sys: 23.8 ms, total: 2.87 s
Wall time: 2.91 s

In [32]: %time df.to_parquet('ACCET.parq', engine='fastparquet', compression='zstd')
CPU times: user 2.64 s, sys: 769 ms, total: 3.41 s
Wall time: 3.45 s

In [33]: df['path'] = df.path.astype('category')

In [34]: %time df.to_parquet('ACCET_cat.parq', engine='fastparquet', compression='zstd')
CPU times: user 1.73 s, sys: 66.4 ms, total: 1.79 s
Wall time: 1.83 s

In [35]: %time df.to_parquet('ACCET_10k_cat.parq', engine='fastparquet', compression='zstd', row_group_offsets=10000)
CPU times: user 10.7 s, sys: 2.67 s, total: 13.4 s
Wall time: 13.5 s

In [37]: ls -lh
total 4.0G
-rw-r--r--  1 goodman peate  50M Mar  9 12:12 ACCET_10k_cat.parq
-rw-r--r--  1 goodman peate  17M Mar  9 12:11 ACCET_10k.parq
-rw-r--r--  1 goodman peate  18M Mar  9 12:12 ACCET_cat.parq
-rw-r--r--  1 goodman peate  18M Mar  9 12:11 ACCET.parq

For row group size 1000 instead of 10000, this file ended up being over 300 MB for the categorized version!

My example with offsets:
In [90]: df = pd.DataFrame({"a": np.random.choice(urls, 10_000_000)})

In [91]: df.to_parquet("not_cat.parq", engine="fastparquet", compression="zstd", row_group_offsets=10000)

In [92]: df['a'] = df['a'].astype("category")

In [93]: df.to_parquet("yes_cat.parq", engine="fastparquet", compression="zstd", row_group_offsets=10000)

In [94]: ll *cat.parq
-rw-r--r--  1 mdurant  staff  13241209  9 Mar 15:19 not_cat.parq
-rw-r--r--  1 mdurant  staff   3028766  9 Mar 15:19 yes_cat.parq

In [96]: %timeit pd.read_parquet("not_cat.parq", engine="fastparquet")
604 ms ± 30.6 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In [97]: %timeit pd.read_parquet("yes_cat.parq", engine="fastparquet")
118 ms ± 3.58 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

Of course, I had excellent cardinality

For the NWM refs I am using the ratio of nunique to len is:
In [99]: df.path.nunique() / df.path.size
Out[99]: 0.03994246575342466

Wondering what this ratio is for your dataset since you are getting much better numbers.

My ratio is 0.33, I am randomly sampling from thee URLs.
However, it occurred to me that an assumption in fastparquet's categorical writer writes ALL the labels to each row-group, so that the codes will be consistent throughout the whole file. This works well when you have most of the labels in most of the row-groups, but your URLs may well be sorted, which would be a bad antipattern with small row-groups. You don't actually need consistent labelling between row groups if we are reading them individually.
If you iterated over each dataframe, categorised each region, and wrote to separate files, you would get the best of both worlds (at the cost of potentially many files).

The rows are all in order of chunk key so with this method I think it's fair to assume the URLs will almost always be sorted.

If you iterated over each dataframe, categorised each region, and wrote to separate files, you would get the best of both worlds (at the cost of potentially many files).

I presume what you mean here is to essentially forego using multiple row groups in one larger parquet file (as I do now) and just write them out as separate individual parquet files entirely? I went ahead and tried doing just that for one of the variables in the NWM refs and found that this lead to just a slight additional increase in overall file size and writing times. This did improve access times, especially when compared against wrapping the array manually with pd.Categorical upon load. So I think describing it as the "best of both worlds" is pretty apt in this case!
It shouldn't require too much additional modifications to the LazyReferenceMapper to get this working on that end and might actually simplify the logic somewhat. It would basically be just like that blocked JSON implementation I experimented with some time ago.

I presume what you mean here is to essentially forego using multiple row groups in one larger parquet file (as I do now) and just write them out as separate individual parquet files entirely

Yes, very zarr-like!

It would basically be just like that blocked JSON implementation I experimented with

Full circle :) But I think we learned a lot.
One thing this also achieves, by the way, is that append operarions (adding extra chunks in the outermost dimension) will be easier, since it just needs adding the extra reference files, as with zarr. Where a general reshape of an array is required, it should be possible to get there with bulk-renaming (or copying to a new reference set) existing files without needing rewrites of what they contain.

@martindurant Just finished updating both this and the mapper to now save each group as separate parquet files so that categorical encoding can be used efficiently. I also changed this so that empty (all null) columns are no longer saved to further reduce the memory usage from this. Does this look good to you?

Storing a column of all-NULL should take very little space in the file, and 8bytes per item in memory (whether a number of a string). If it makes enough of a difference to be worth making the code more complex to allow for it, sure!
I'll give this another once-over in the next couple of days, but I feel we've converged to a solution nicely.
Will you be making a PR to fsspec with changes to referenceFS?
Also, have you tried kerchunk.combine on parquet'd reference sets at all? Since they match the previous references contract, I hope all "just works", and without exploding the memory footprint. It does loop over keys at various points, and the output is initially a dict structure; maybe a later pass can write the pieces straight to parquet rather than keeping it all in memory while building the references set. Reading the parquet files repeated times (wastefully) while keeping a relatively low memory usage would be totally fine.

Storing a column of all-NULL should take very little space in the file, and 8bytes per item in memory (whether a number of a string). If it makes enough of a difference to be worth making the code more complex to allow for it, sure!
Yeah, it's certainly true that this made the code a bit more complex. But although this practically did nothing to reduce disk usage, it did improve access times a bit:

# 10000 refs
In [645]: %timeit pd.read_parquet('accet.parq', engine='fastparquet')
2.25 ms ± 47.2 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

In [646]: %timeit pd.read_parquet('accet_cat.parq', engine='fastparquet')
1.8 ms ± 23.2 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

In [647]: %timeit pd.read_parquet('accet_cat_no_raw', engine='fastparquet')
1.61 ms ± 22.3 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)

And as for memory usage I was also surprised to see that it does make a difference (albeit, less so than using categorical urls)
In [652]: df_no_cat.info(memory_usage='deep')
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10000 entries, 0 to 9999
Data columns (total 4 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   path    10000 non-null  object
 1   offset  10000 non-null  int64
 2   size    10000 non-null  int64
 3   raw     0 non-null      object
dtypes: int64(2), object(2)
memory usage: 1.7 MB

In [653]: df_cat.info(memory_usage='deep')
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10000 entries, 0 to 9999
Data columns (total 4 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   path    10000 non-null  category
 1   offset  10000 non-null  int64
 2   size    10000 non-null  int64
 3   raw     0 non-null      object
dtypes: category(1), int64(2), object(1)
memory usage: 464.6 KB

In [654]: df_cat_no_raw.info(memory_usage='deep')
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10000 entries, 0 to 9999
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   path    10000 non-null  category
 1   offset  10000 non-null  int64
 2   size    10000 non-null  int64
dtypes: category(1), int64(2)
memory usage: 230.2 KB

Will you be making a PR to fsspec with changes to referenceFS?
There is already a PR (https://github.com/fsspec/filesystem_spec/pull/1188). I have been keeping it up to date as I have been making changes to this one.

Also, have you tried kerchunk.combine on parquet'd reference sets at all? Since they match the previous references contract, I hope all "just works", and without exploding the memory footprint. It does loop over keys at various points, and the output is initially a dict structure; maybe a later pass can write the pieces straight to parquet rather than keeping it all in memory while building the references set. Reading the parquet files repeated times (wastefully) while keeping a relatively low memory usage would be totally fine.

Nope, I haven't tried this yet but this is something I can go ahead and start playing around with next and see how well it currently works. One kink that may still need to be worked out is that the number of chunk keys in the saved parquet refs won't match the original refs if any are missing (since this requires the total number of keys to be consistent with the total number of chunks called for in the metadata keys). So when iterating over the refs, these missing keys will now appear just pointing to a null value rather than not existing at all.
I'll also try making a few modifications to this version of refs_to_dataframe to append new refs to an existing set in place.

I suspect pandas' account for the series-of-nulls case is wrong, that it is counting the size of None for every entry even though they refer to the same singleton object; None is 16bytes and pd.NA is 48bytes. Pyarrow's "null" type could probably do this efficiently, but that's another complexity I don't think we want.

So did I merge in kerchunk prematurely?


.bin/tsb broken

1.0.1 installed by npm has broken by following carrage return with hash bang.
It is known issue of npm with Windows. https://github.com/npm/npm/issues/2097
Sound familiar?
$ tsb
env: node\r: No such file or directory
heyPro:edge-ui kson$ tsb
env: node\r: No such file or directory
heyPro:edge-ui kson$ tsb .
env: node\r: No such file or directory
heyPro:edge-ui kson$ tsb -v
env: node\r: No such file or directory

Thanks for testing and reporting the bug :rose: Will investigate.
Note : the NPM version is mostly for camping at the moment. See Readme : https://github.com/TypeScriptBuilder/tsb/tree/master#usage you need to setup manually ... and its not ready (planned release is January)

Okay, thanks.

Planned workaround. Have a simple non compiled tsb.js file that has the right line endings and just requires our binary.

@heycalmdown should be fixed now as I've setup automatic NPM deployment that happens from a unix version of git https://github.com/TypeScriptBuilder/tsb/blob/master/docs/contributing/DEPLOYMENT.md :rose:

Thanks, it works!

Thanks for testing :rose: We should have session support soon so it will remember open tabs and stuff (and not used my hardcoded tabs). Nevertheless January :smile:


Fix: new test to prove we can not handle two peek requests at same time fo…

…r same actor

Description
Added a test to prove we can not handle two peek requests at same time for same actor
References

#0000

Codecov Report

Merging #428 (e076e3f) into main (21978a1) will decrease coverage by 32.27%.
Report is 125 commits behind head on main.
The diff coverage is 18.47%.

@@             Coverage Diff             @@
##             main     #428       +/-   ##
===========================================
- Coverage   83.07%   50.81%   -32.27%
===========================================
  Files         456      436       -20
  Lines       10418     8995     -1423
===========================================
- Hits         8655     4571     -4084
- Misses       1438     4212     +2774
+ Partials      325      212      -113

Files Changed
Coverage Δ

...rchivedMessages/GetArchivedMessageDocumentQuery.cs
0.00% <0.00%> (ø)

...onfiguration/Authentication/MarketActorIdentity.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...Configuration/Commands/Commands/InternalCommand.cs
0.00% <ø> (-100.00%)
:arrow_down:

...ureData/RequestAggregatedMeasureDataTransaction.cs
0.00% <0.00%> (ø)

...ChangeAccountingPointCharacteristicsTransaction.cs
0.00% <0.00%> (ø)

...RequestChangeCustomerCharacteristicsTransaction.cs
0.00% <0.00%> (-62.50%)
:arrow_down:

...r/RequestChangeOfSupplierIncomingMarketDocument.cs
60.00% <ø> (ø)

...geOfSupplier/RequestChangeOfSupplierTransaction.cs
0.00% <0.00%> (-87.50%)
:arrow_down:

...pplication/MasterData/CustomerMasterDataContent.cs
0.00% <ø> (-91.67%)
:arrow_down:

...ication/OutgoingMessages/Dequeue/DequeueHandler.cs
0.00% <0.00%> (ø)

... and 140 more

... and 298 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Custom auth errors

Expanding on #304
fixes #298

@PabloSzx does this API solve your usecase?
https://pothos-git-mh-custom-auth-errors-mhayes.vercel.app/docs/plugins/scope-auth#customizing-error-messages

@PabloSzx does this API solve your usecase?
https://pothos-git-mh-custom-auth-errors-mhayes.vercel.app/docs/plugins/scope-auth#customizing-error-messages

yes, it does, thank you very much


[Task]: Do not URL-encode links when sharing a catalog example in Playground

What needs to happen?
When clicking "Share my code" on an unmodified catalog example, the shareable link is in the following format:
https://play-dev.beam.apache.org/?path=SDK_JAVA%2FPRECOMPILED_OBJECT_TYPE_EXAMPLE%2FMinimalWordCount&sdk=java

It has %2F for slashes. It is inconvenient to extract path from it. Slashes are not required to be encoded for most applications. We should not encode them.
Issue Priority
Priority: 3 (nice-to-have improvement)
Issue Components

[ ] Component: Python SDK
[ ] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam examples
[X] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

Being done in https://github.com/apache/beam/pull/24957


Updated index management dashboards manifest reference to 1.2

Signed-off-by: Eric Lobdell<EMAIL_ADDRESS>Description
Sets index management dashboards manifest reference to 1.2
Issues Resolved
https://github.com/opensearch-project/index-management-dashboards-plugin/issues/98
Check List

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #897 (f9714ed) into main (a3ee27e) will decrease coverage by 0.21%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #897      +/-   ##
==========================================
- Coverage   91.58%   91.36%   -0.22%
==========================================
  Files          87       87
  Lines        2294     2294
==========================================
- Hits         2101     2096       -5
- Misses        193      198       +5

Impacted Files
Coverage Δ

src/system/temporary_directory.py
82.75% <0.00%> (-13.80%)
:arrow_down:

src/system/os.py
92.30% <0.00%> (-7.70%)
:arrow_down:

Continue to review full report at Codecov.

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


[Question] Types of users and company user

Hello everyone.
Context
When creating a condominium, it also creates the condominium user, the same happens for employees. But while working in companies route, i cannot find a user_type company.
I cannot find any clues in code to answer this, so i am opening this issue.
Question
Who's gonna add employees for a company?
After talking with Tomazella, we found three possibilities.
Solution

Creating a flag in employees and this flag will indicate if the employee can manage the company;
Creating a another user_type of Company;
The condominium user is gonna add every employee of a company.

Conclusions
In terms of work load, we agreed that using the first method would be more beneficial.
The third solution, wouldn't fit well in our scenario, because the responsibility of the employees should be of the company.

The condominium is the "master user" in our scenario. The flow goes as follows:

A condominium is the only one that can "register" as a new user openly within the platform. How exactly this will be done at the application layer is still unclear, we'll be discussing that as we delve into the design spec for the client application @denilsonpy will be developing.

The condominium will be able to register companies within it's scope, and those companies will require at least one employee with administrative permissions for the company scope.

All employees with administrative permissions can create new users within the company scope, create departments for the company, and organize other employees within department scopes. They can also assign other employees as administrators within the company.

I agree that we should figure out how to handle the employee having administrative actions. As I see, it could be a simple boolean column in the employee table, but you might have a better idea.

From the point of view of our database schema, the most logical way to do this will be creating a new user type like: adminEmployee or company.
Because we already have the field user_type, and i think that doing this instead using a boolean will be more benefical for the future of the application than using a simple boolean.


Am i able to edit stats ?

The stats edit stuff is there but I haven't tested it fully so it won't actually save the stats. I disabled the feature because I didn't want to mess up anyone's stats.

If you wanted to try it, and I don't really recommend this, you can go to the ApplicationSettings.cs file in SAM.Core\Settings and change AllowStatsSave to be true.
// before
public static bool AllowStatsSave { get; set; }

// after
public static bool AllowStatsSave { get; set; } = true;

The integer and float stats might work fine, but the average rate ones would likely have issues. If I get time this week I'll work on testing this myself.

Closing this since stats are now editable with the first release (v0.1.0). You can download it here.


Uri parsing does not throw on invalid URIs

This appears to be an issue only with: Dart VM version: 2.1.0-dev.8.0
Example code:
main () {
  Uri.parse('[][][]');
}

Should throw with:
Uncaught exception:
FormatException: Invalid character (at character 1)
[][][]
^

However it executes without exception.

@grouma - is this a regression?
FYI @lrhn

Yes this is a regression. package:test was relying on the fact that invalid URIs will throw. Documentation also states the same.

We changed the rules for parsing to be more permissive. People were actually expecting URIs with [] in the query or fragment to parse, because they do so on other platforms.


ci: Change travis scripts to use npm ci instead of npm install (for nodejs based components)

As described here, the npm ci command is preferred for automated tests environments and continuous integration environments, as it is faster and stricter than plain npm install command.

Travis is no longer used in our pipeline. It was replaced by the 'Github Actions'.


Add sticky and responsive Table of Contents for blog posts

Opening this issue to get started on incorporating a table of contents (ToC) for blog posts that is

sticky, so that it persists alongside the blog post as the reader scrolls
responsive, so that styling changes depending on where the reader is scrolling or where they have jumped to after clicking on a ToC element

Incorporated already into my apero-rust branch for the single-sidebar post layout: https://github.com/spcanelon/silvia/commit/fb639d4d0efcf0040d44c39ef625c846324a0c45
Next steps:

test with single layout for blog posts
modify JS observer behavior so that it doesn't prioritize headers that have most recently come into view

some views may have more than one heading visible at a time and currently the focus shifts to whichever heading has most recently crossed the threshold

Some notes:

Let's try to reuse existing CSS as much as possible: https://github.com/hugo-apero/hugo-apero/blob/05497e6e4382f861c02a52fbdcbd1bdc60cee236/assets/scaffold.scss#L403-L408


General clean-up of dependencyManagement

the versions are already coming from kie-parent

Depends on https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/pull/209

+1


Should Vector chapter version be bumped to 2.0?

The versioning of the Vector chapter is causing some confusion.  The introduction to the chapter states that "This document is version 1.1-draft of the RISC-V vector extension.
NOTE: This version holds updates gathered after the start of the public review.  The spec will have a final update to version 2.0 at
time of ratification."
How should we proceed with versioning this chapter?

I think the original idea was to bump the spec version to 2.0 once ratified, but that idea got dropped. (Somebody correct me if I'm wrong)
Considering that RVV 1.0 is used in a lot of marketing, slides, articles, and conversations retroactively renaming it to RVV 2.0 would be very problematic.
Especially considering the history of XTheadVector ("RVV 0.7.1" based) being marketed as RVV support adding another version to the mix that doesn't change anything would just cause confusion.
I think the best course of action is to just remove that NOTE.

After checking with people involved with RVV development (including the TG chair - Krste), it is recognized that there are these bits of text that are a ready source of confusion - and are now being removed from the spec as part of the current ISA manual conversion/integration/cleanup efforts that are occurring.  The net of the cleanup will clearly show that the current version is v1.0.  (Also note that the text mentioning v1.1 was anticipating a new version of RVV that never happened.)

So whats the verdict?
I think this needs to be addressed, and it sounds like the solution is to remove that passage.
Is this change still in some kind of internal review?

The latest (integrated) vector chapter has been cleaned up to properly
reflect that it is v1.0.  Various bits of text that looked forward to
possible or probable changes that would warrant updating to v2.0 or v1.1,
have been removed since those changes never occurred.
Greg
On Sat, Jun 8, 2024, 2:03 AM Camel Coder @.***> wrote:

So whats the verdict?
I think this needs to be addressed, and it sounds like the solution is to
remove that passage.
Is this change still in some kind of internal review?
—
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-isa-manual/issues/1402#issuecomment-2155883070,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALLX6GVS3R5FTMDZCYTVWATZGLCHDAVCNFSM6AAAAABHWHQSJWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNJVHA4DGMBXGA
.
You are receiving this because you commented.Message ID:
@.***>

What @gfavor said. I neglected to close this issue when the spec integration occurred, but now’s as good a time as any.


[BUG] Clicking on "Finished" and "Archived" will make the page unresponsive

Describe the bug
While clicking on any other options in the "Find Requests" section (Open, Accepted, Ongoing), will flow normally, and the user will be able to go to another screen (the map section, Notifications or select another options in the Find Requests section),  if he clicks on either "Finished" or "Archived", the page will get stuck, and will receive a "Page Unresponsive" message and will have to exit the page.
To Reproduce
Steps to reproduce the behaviour:

Go to 'https://reach4help-staging-web-client.firebaseapp.com/requests/find'
Click on the 3 bars button next to map
Click on "Find Requests"
Select either "Finished" or "Archived"
Wait a little, and start clicking like you are trying to change page.
The "Unresponsive Page" message appears

Expected behaviour
It should act like the other options where clicking on any buttons would just change the page normally.
Screenshots

Desktop (please complete the following information):

OS: W10 Pro
Browser Chrome
Version: 83.0.4103.61

ZenHub Information
This information is updated automatically. To modify it, please use ZenHub.

On hold until deploy: the app isn't complete.

Regression Testing is done. The bug is fixed.

can you add the appropriate label and close this bug?


Unsupported language selector dropdown

Hi, I got error after use
<%= tml_language_selector_tag(:dropdown, {:style => "margin-top:15px", :language => :english}) %>

Unsupported language selector dropdown

please help.

Andrey, somehow we used to call it "list" instead of "dropdown" on the rails side. But i fixed it now. If you get the latest gem, you can use either "list" or "dropdown" now.
<%= tml_language_selector_tag(:dropdown, {:style => "margin-top:15px", :language => :english}) %>
This should work now.
Let me know if you need us to add any other language selector styles. It's fairly easy to add any number of them and you can obviously build your own.

@berk Thank you very much.

Hi @berk , When I clicks on the drop down to change the language, in the back it is sending the request and getting the response. But my view is not updating with the selected language. Can you please help me on that.


i18n(zh-cn): Update plugins.mdx

Description
Update plugins.mdx
Upstream #1940

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

zh-cn
resources/plugins.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


evaluation code

Sir, can you provide the other evaluation code like Average Drop/Incr. in Confidence/Insertion /Deletion ?Thanks a lot!

Closing this, and moving the discussion to #122


Add message metadata to RpcHandler

Currently, rpc RequestHandler does not provide access to received message metadata like message source, payload format etc.
This PR adds message UAttributes to the RequestHandlers handle_request() method trait and modifies InMemoryRpcServer to pass this information on when calling into a handler.
Adresses #222

Can you please also create a corresponding issue that describes the problem?

@AnotherDaniel
I had actually hoped for you to create the issue (and linking the commit to it) before merging this PR ...

I did...

Ah, I see ...