1,2,3 Machine Learning!

I would like to give a talk about Machine Learning inside native React applications.
Summary
Machine Learning has been taboo subject forever. Is it really that complex? Well not anymore! This talk aims to show practical examples of ML features that you can develop, pitch or sell with your next application or project!
Presentation will contain many demo examples (inside React Native application) of different features that you can integrate through libraries that are ready and available to everyone (like firebase ML kit). Talk is not only developer focused and non tehnical people are also welcome to get perspective of what can be done in scope of ML concepts.

Hey @capJavert, thank you for your presentation proposal! 🎉
Would you be interested in doing the talk this March or April?
Note: We are trying to adjust meetup to be good for all speakers.

I would prefer April because March looks pretty busy for me so far :)
On Mon, 9 Mar 2020 at 11:29, Vedran Blazenka<EMAIL_ADDRESS>wrote:

Hey @capJavert https://github.com/capJavert, thank you for your
presentation proposal! 🎉
Would you be interested in doing the talk this March or April?
Note: We are trying to adjust meetup to be good for all speakers.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jszgb/jszgb.github.io/issues/83?email_source=notifications&email_token=ACKZKRRO5AGI5RJJTZCOR63RGTAJZA5CNFSM4LDO3O52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOGRDAA#issuecomment-596447616,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACKZKRUGEQIKTKQVHFY6RE3RGTAJZANCNFSM4LDO3O5Q
.

@capJavert is first week of April okay for you? There is a possibility that the meetup will be postponed because of the coronavirus outbreak. We will need to see how the situation continues here in Zagreb. 🙏

Sure, first week of April is ok.
On Mon, 9 Mar 2020 at 14:57, Vedran Blazenka<EMAIL_ADDRESS>wrote:

@capJavert https://github.com/capJavert is first week of April okay for
you? There is a possibility that the meetup will be postponed because of
the coronavirus outbreak. We will need to see how the situation continues
here in Zagreb. 🙏
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jszgb/jszgb.github.io/issues/83?email_source=notifications&email_token=ACKZKRRJTHH6HVMLXPNONCDRGTYWFA5CNFSM4LDO3O52YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOHHPGA#issuecomment-596539288,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACKZKRX5OISFMG3HDDDSPR3RGTYWFANCNFSM4LDO3O5Q
.

@vblazenka as I see meetups popping up again if you are still interested into the topic let me know.

@capJavert yeah, glad to hear that. We could organize something between 16.-31.6?  How is that sounding to you?

Cool, towards the end of the month would be possible in general but when you have a concrete date we can confirm?

@capJavert hmm we could do 29.6 (Wednesday), what do you think? (or the day before/after that date)

@capJavert can you let me know if the summary for the talk is still good from your POV? If not, feel free to update it or add a comment with a new description that is more to your liking. 🙇

It is generic enough to still be relevant, I'll work on it some more in coming weeks and update if something major adds in.


AMPI intercomm_coll test break BigSim autobuild

Original issue: https://charm.cs.illinois.edu/redmine/issues/1396

https://charm.cs.illinois.edu/autobuild/cur/netlrts-linux-x86_64-bigsim.txt
The netlrts-linux-x86_64-bigsim build broke due to the new test not having a bgtest target.
make[3]: Entering directory `/scratch/autobuild/bluegene/charm/netlrts-linux-x86_64-bigsim/tests/ampi/intercomm_coll'
make[3]: *** No rule to make target `bgtest'.  Stop.
make[3]: Leaving directory `/scratch/autobuild/bluegene/charm/netlrts-linux-x86_64-bigsim/tests/ampi/intercomm_coll'
make[2]: *** [bgtest] Error 1
make[2]: Leaving directory `/scratch/autobuild/bluegene/charm/netlrts-linux-x86_64-bigsim/tests/ampi'
make[1]: *** [bgtest] Error 1
make[1]: Leaving directory `/scratch/autobuild/bluegene/charm/netlrts-linux-x86_64-bigsim/tests'
make: *** [bgtest] Error 2
fatal> error code 2 during remote> make bgtest TESTOPTS="++local ++no-va-randomization"
Testing finished at Sat Feb 4 01:14:49 CST 2017
Returned from executing scripts/netlrts-linux-x86_64-bigsim/test on remote host
fatal> Test on remote host failed with fatal error (0)
Bad: Test on remote host failed with fatal error (0)

tests/ampi/Makefile contains a loop over all subdirectories, assuming that each test has a bgtest target, but tests/ampi/intercomm_coll/Makefile does not.

Original date: 2017-02-05 15:38:27

Autobuild failed inside intercomm_coll's bgtest now, during intercommunicator creation. I think we should not test BigSim on intercommunicators yet, until we can trust AMPI's intercomms more. So remove intercomm_coll from tests/ampi/Makefile's loop over its subdirectories.
Trace: traceroot: ./intercomm_coll
------------- Processor 0 Exiting: Called CmiAbort ------------
Reason: thread resumed, but callback data is still empty
[0] Stack Traceback:
  [0:0] CmiAbortHelper+0xb3  [0x69a3b5]
  [0:1] CmiAbort+0x2d  [0x69a3f0]
  [0:2] _ZNK10CkCallback17impl_thread_delayEv+0xe1  [0x5e2fb5]
  [0:3] _ZNK10CkCallback12thread_delayEv+0x23  [0x579125]
  [0:4] _ZN4ampi22createNewChildAmpiSyncEv+0x166  [0x54c6b4]
  [0:5] _ZN4ampi21intercommCreatePhase1Ei+0x34  [0x54de28]
  [0:6] _ZN12CkIndex_ampi51_call_redn_wrapper_intercommCreatePhase1_marshall15EPvS0_+0x78  [0x56dabc]
  [0:7] CkDeliverMessageFree+0x4e  [0x5cc6a6]
  [0:8] _ZN8CkLocRec11invokeEntryEP12CkMigratablePvib+0x285  [0x5ebb75]
  [0:9] _ZN8CkLocMgr10deliverMsgEP14CkArrayMessage9CkArrayIDmPK12CkArrayIndex11CkDeliver_ti+0x561  [0x5eec6d]
  [0:10] _ZN7CkArray7deliverEP14CkArrayMessage11CkDeliver_t+0x68  [0x5d33ce]
  [0:11]   [0x5cee25]
  [0:12] _Z15_processHandlerPvP11CkCoreState+0x198  [0x5cefbf]
  [0:13] _Z23BgProcessMessageDefaultP10threadInfoPc+0x195  [0x5a3e25]
  [0:14] _Z26BgProcessMessageFreezeModeP10threadInfoPc+0x167  [0x6ada6f]
  [0:15] _ZN14workThreadInfo9schedulerEi+0x403  [0x5ab043]
  [0:16] _ZN14workThreadInfo3runEv+0x475  [0x5ab60f]
  [0:17] _Z10run_threadP10threadInfo+0x41  [0x5a3e92]
  [0:18] CthStartThread+0x59  [0x698015]
  [0:19] +0x48200  [0x2aaaab53a200]


Include link to OR option to fetch optimised resources

The PageSpeed Insights service can now output optimised resources based on the same strategy options supported for reporting (mobile, desktop).
If we wanted, we could output a link to download resources as part of the report or some sort of --download flag for fetching the output of the optimisation routine.
Mobile:
https://developers.google.com/speed/pagespeed/insights/optimizeContents?url=YOUR_URL_HERE&strategy=mobile

Desktop:
https://developers.google.com/speed/pagespeed/insights/optimizeContents?url=YOUR_URL_HERE&strategy=desktop

This can be closed now :)


[FEATURE] Backup Endpoint Manager roles

A super cool functionality would be introducing a backup for Intune Roles. This backup should specifically target custom-made roles, ensuring settings are kept.
Additionally, there should be an option to include the assignments tied to these roles (only optional).
🎉🪅

This is now in beta, discussion around the feature can be found in #153


Resurrect tlog part of TestSlaveSync

Just realized few days ago that TestSlaveSync* has been disabled since aa801d72b58bd3ba00cad8b24c7e467bf05e4217 / 4e088442f9a6ac3d1fb690ae01b5675cf634d944.
It is OK to disable the nbd-only part of the test because this feature is disabled in nbd.
But the tlog part still need to be tested.

Need to also address this comment https://github.com/zero-os/0-Disk/pull/400#discussion_r134603041


Add expect to the list of globally injected variables

Clarify the documentation by indicating that expect is a globally injected function. This will help newcomers to understand how it works, and projects like globals to list globally defined variables (see sindresorhus/globals#46).

Thank you!


SISNR implementation

Hi, Thanks for the awesome work. I was going through the Si-SNR implementation but found that you have used negative of sdr here . If I have not grossly misunderstood anything, can you please let me know why you have used negative here? Thanks .

Hi Kranti,
Thanks for the interest of this repo. I add the negative sign in the Si-SNR because I once tried to use it as loss function. The negative sign turn loss minimization into Si-SNR maxmization. Hope this helps.
Haohe

Thanks for the prompt response. So, as I understand, if I need to evaluate using the implementation of Si-SNR then I have to remove the negative sign?

Exactly, you need to remove the negative sign if you use it for evaluation.

Thanks for the clarification.


Upgrade test emits node IP parsing errors

4eb1d44d_K8sUpdates_Tests_upgrade_and_downgrade_from_a_Cilium_stable_image_to_master.zip
Unable to parse node IP while processing CiliumEndpoint update

Fixed by #8754


Git repo visuals remain after cd into non-git directory

Entering a git repository, the git branch icon (eg, master) appears in the bottom right, as it should.
If I leave this directory (eg, cd ~), the master visual remains in the bottom right.

Should be fixed in the latest version. https://github.com/shockone/black-screen/releases


PCB design

Hi Martin, thank you for this project!
Would love to make my own but I'm missing the PCB/schematics. Could you share them as well?

Sorry for delay, schematics were added in commit beeffa3


fix the sim duration

sets the sim duration to 1 second, if the duration is less than 1 second
before: https://gcsim.app/v3/viewer/share/b401ea03-6014-4b5a-b9e4-8ed6e9202735
after: https://gcsim.app/v3/viewer/share/4ff97203-15ad-44d6-8b6c-400b93ed8fd7
need more tests

@imring can we close this as wontfix? I'm of the opinion that even if it's technically "cheating" a bit, the calculation is accurate

@imring can we close this as wontfix? I'm of the opinion that even if it's technically "cheating" a bit, the calculation is accurate

yes, close it


Add auto login for Bedrock only account that login through Floodgate

Currently, auto login works in the below scenarios:
Scenario 1:
Login with Java account on a Java client
Scenario 2 (untested):
Login with Java account on a Bedrock client through Geyser
Scenario 3:
Login with Bedrock account, that is globally linked, on a Bedrock client through Geyser/Floodgate
It would be nice to have the below scenario working:
Scenario 4:
Login with Bedrock account, that is NOT linked with a Java account, on a Bedrock client through Geyser/Floodgate.
If scenario 4 would be implemented, please take considerations into not breaking scenario 3, since it is really helpful to keep using the same linked character using either Bedrock or Java accounts.
There is a Paper/Spigot plugin named FastLogin that allows the above scenario that could be used as reference.
It would be really amazing if EasyAuth could have this functionality for Fabric.
Thanks,
M8torr

Closed with #49
Feel free to reopen if case of something


Hel panics if no mock file was generated

It looks like hel tries to run goimports on a file that doesn't exist if it finds no mocks to generate.

Fixed in eb0f095.


difference between gcal.ty and GCAL collector

Dear Bednar,
I run both of the two models, one is from gcal.ty in the directory /topographica/models/stevens.jn13/
in this website, another one is from GCAL collector tutorial, by using GCAL collector to produce maps.
I would like to ask, if there is a difference between them. Do they produce the same results ?

Thanks for your answer! Recently load_snapshot function doesn't work for me well. I will look into that in the near future.


Better interaction with initialfacilitylist in Inst View

The same changes as #64 need to be applied to the init Fac list in the inst view

@gonuke, can you assign a tutorial label as appropriate, please?

can this be closed @gonuke ?

Fixed by #97


[llvm] Correct features dependency

Fix https://github.com/microsoft/vcpkg/issues/37594

[x] Changes comply with the maintainer guide.
[ ] SHA512s are updated for each updated download.
[ ] The "supports" clause reflects platforms that may be fixed by this new version.
[ ] Any fixed CI baseline entries are removed from that file.
[ ] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

/cc @Neumann-A @yurybura @adk9 @alexreinking some folks who have contributed to llvm before

In fact, I don't think these changes are really necessary.
VCPKG supports similar functionality out of the box:
./vcpkg install llvm[core,libcxx,libcxxabi,libunwind]

The core of my modification is: Can libcxx and libcxxabi get rid of the need to build clang?

The core of my modification is: Can libcxx and libcxxabi get rid of the need to build clang?

I think you've seen CMake errors when trying to exclude tools and clang components. Creating runtimes within the LLVM monorepository (CMake root folder is llvm) requires the LLVM tools and the Clang installation directory.
Your original issue https://github.com/microsoft/vcpkg/issues/37594 suggests creating libcxx and libcxxabi libraries as a separate repository (CMake root folder should be runtimes). LLVM supports standalone builds for many subprojects such as runtimes, lldb, lld, etc. But I think it's too difficult to maintain standalone builds inside a single VCPKG port.

@FrankXie05 I would recommend to reject this PR, because it doesn't resolve the issue #37594.


Put back form element in the original browser style

Having browser input form element with the original style.

Checkbox and radio button elements will be back to original browser style in next release v.3.0.0


Supports passing in nvim-cmp's mapping config for finer control

addresses #105

since this just executes cmp setup with a default <CR> mapping config, it'd
be much better to be able to pass in the specific mapping config
options you might want.

for instance, i prefer to have select = false

additionally, my preferred stylua formatting took over, @windwp I'd recommend adding a project stylua/luaformatrc/selene set of configs. :)

@windwp please let me know how you might want me to correct formatting changes.

@megalithic wouldn't be better to avoid set mapping here and leave nvim-cmp to do it?

@megalithic wouldn't be better to avoid set mapping here and leave nvim-cmp to do it?

while i don't disagree, there is just confusion with using the nvim-autopairs bindings for the <cr> key vs. doing it all via nvim-cmp config. So, if you choose to let nvim-autopairs, you should be able to set the additional config mapping config for <CR>.
also, this likely isn't the best solution, to just pass in an entire table of mappings when it really only needs some config for the <CR> mapping, so I'm 100% onboard with Making That Better™.

if you only want to change auto select so i think it should pass auto_select = false like  what i did on compe.
Can you change it i only want it simple option passing a full mapping is not necessary.

@windwp i've updated to simplify with auto_select similar to the compe implementation.


GCP Kms using deprecated GoogleCredential; use GoogleCredentials instead

In the following code snippet, the GCP Kms client is initialized with the GoogleCredential class. However, per the documentation of this class, the usage of this is discouraged and the class is deprecated. As a result, Tink users can not provide an implementation of the prefered way, which is the GoogleCredentials class. This is mostly useful for users that need to provide a custom implementation of the credentials, such as custom, self-refreshing credentials, etc.
Adding the support into Tink sounds trivial, and it the easiest would be to expose another constructor that takes a GoogleCredentials parameter, instead of the GoogleCredentials.
I'd be happy to contribute it, if the maintainers think it's a good idea and can confirm that this a nearby release of the Java client is planned.

This was fixed by f28bf15013e352611b069d2c342b5a6530a9650d.


Please add React 19 as a peer dependency

Would appreciate an update adding React 19 as a peer dep: https://react.dev/blog/2024/12/05/react-19 💜

https://github.com/rosskhanas/react-qr-code/blob/c723637e354f21dd9cc71216db7f1df99c5e79cf/package.json#L41


proposal: cmd/go: GOWORK env var should be off by default

As of go 1.18, if you have a go.work file present at the time of running go run, it will use the module referenced in the go.work file. This means, in my opinion, it is more likely that people will take code intended for local development and deploy it into a production environment.
For example, you might use a go.work file to override your complex auth module to always return true locally. if you forget to set GOWORK=off when running go run ..., you will use this module and there is no warning in the console that it has happened. For those less familiar with the go ecosystem , perhaps who are cloning and running someone else's project for the first time, it may not even be entirely clear that this is happening.
Good practise dictates you should use a binary in production environments and probably not commit your go.work file, but that's all it is, good practise. There is nothing stopping someone simply cloning a repo and running go run on a server and I have done this for side projects in the past.
I therefore propose GOWORK should alway be off by default, and if you want to use it, you should explicitly flag it on when executing the go run command such as:
GOWORK=on go run ...,

CC @matloob @bcmills

I don't think a committed go.work adds any extra danger over the things you can already do in your go.mod. You could already do this with a bad replace. If anything go.work reduces the danger, as you say you should not be committing it so it allows you to have a development replace that will not make it to production. Even that is a bad practice though, that kind of functionality switch should be done with a build tag or configuration that is off by default and you are certain will not make it to production or other users machines.
I don't think bad practice producing bad results is something we can reasonably defend against, and it is not worth making the tools less ergonomic for people applying good practices even if it did.

Thanks for sharing your thoughts. I hear you on making the tool less ergonomic for those who use it well and is something I thought quite a bit before raising this proposal. The reason I still raised it as if I view the go tooling through the eyes of a beginner, I can see confusion and bad things happening with the current setup.
If you know nothing about go or just the basics if you try and run an application it's going to spit out some error message about go modules or vendoring. This will lead you to read up on go.mod and likely take a look at it. Before go 1.18, everything module related would be in go.mod. You could have a replace directive in here (and you still might, for other reasons than go.work) but at least it was all in one place. If there does happen to be a go.work file you do not receive any error messaging (or messaging at all) when you run go run ... so it would lead you to a confusing google search as you try and figure out what is going on.
Perhaps instead of making the go tooling less ergonomic for users who use it well, the same problem could be solved by providing a more verbose output by default when a go.work file is used. For example, the go tool could log "running in workspace mode. For more information please see https://go.dev/doc/tutorial/workspaces for more info"
Do you think this could be a better solution?

I also don't think defending against bad practice is reasonable (if anything, it should be made more painful so people do it less). "everything module related would be in go.mod" is already not true, there is global config in the environment and env file that can affect the build process, and we've seen people get confused if they've previously copy-pasted random commands off the internet and forgot about them.
More logging is also unergonomic: I now have unexpected output that needs to filtered out if I'm passing the output anywhere.

Given that there are no new footguns here, just the same ones we had in replace directives, and that we already shipped a release with a non-off default for GOWORK, it would be a very high bar to change that default in a subsequent release. I'm not seeing that bar having been met here.

Thanks for sharing thoughts and for the discussion!

No change in consensus, so declined.
— rsc for the proposal review group


[qwik-pod] 24 Implement search filter sort result text

Implement search / filter / sort result text
Background
In another ticket, a component was created with various search and filter options. The purpose of this ticket is to dynamically update a line of text that will show below the search / filter component and above the repository list, that gives the user information on how their repositories are filtered and sorted. There should also be a “clear filter” option that shows, that when clicked, removes all filter options and hides this text section.
Acceptance

[ ] Below the search bar and above results, should see text related to the current options
[ ] text will update based on which options are active

[ ] search: “{number} results for repositories matching {query} sorted by {sort}”
[ ] type filter: “{number} results for {type} repositories sorted by {sort}”
[ ] language filter:  “{number} results for repositories written in {language} sorted by {sort}”
[ ] all options: “{number} results for {type} repositories matching {query} written in {language} sorted by {sort}”
[ ] sort selection by itself does not show any text - however when any other option is selected, it will show the correct active sort value

[ ] if search or type / language filter options are selected, will always show “X clear filter” text on the right hand side, which will reset all values to default when clicked

Notes

closed by #821


Absences: Include medically excused absences in Insights

There's more data about absences in Aspen that isn't imported into Insights.  This comes up when folks look at absences dashboards and see students with high absences; it's one of the first things they ask about or look Aspen to see.
Overall, one suggestion is that throughout the product when we have only one number for absences shown, let's keep showing the total absences number.  In specific places though, we'll show more targeted information based on what people expect and what they're going to do with the information.
Import:

[x] Update Aspen export to send this data (https://github.com/studentinsights/studentinsights/pull/1650)
[x] Update import task to read it in (https://github.com/studentinsights/studentinsights/pull/1653)
[ ] Build tools to look at data for quality (in progress)

Data quality:

[x] CSV rows not imported (fixed within 90 day window)
[ ] more Insights records than CSV rows
[ ] need to run backfill past only_recent_attendance

Product uses:

[ ] Update the absences insights box to only be about unexcused absences.  If a student has medically excused absences, it's a different kind of action to take.
[ ] Send down all absences to the dashboard, but add a filter for excused/total and set it to excused by default.
[ ] In the student profile, update the "details" charts to show total absences, but use a stacked bar chart to indicate whether it's excused or not excused.
[ ] In the student profile, show the full data about absences, including the reason and comment (no design suggestions included here, but ping if you want some!)

re: data quality, right now in Somerville there are 15% more records in the database between Absence and Tardies than there are lines in the CSV file.  The CSV file also includes rows with no flags set (https://github.com/studentinsights/studentinsights/issues/1779), and includes rows that are flagged as dismissal instead of absences or tardies.
Also related: https://github.com/studentinsights/studentinsights/pull/1778#issuecomment-396062524

Updated tasks re: data quality, will update more tomorrow.

Closing this out! 🚢


sigproc: EWMFilter does not use its SETTINGS.zero_offset

Hi there, I'm getting familiar with the library, reading code, and came across what might be a bug or maybe my misunderstanding.
zero_offset=True is passed to EWM, when I think it should probably be zero_offset=self.SETTINGS.zero_offset. But I might be misunderstanding something.
https://github.com/iscoe/ezmsg/blob/005590f74ec66b22cd36a94827ff5822ee4bbc92/extensions/ezmsg-sigproc/ezmsg/sigproc/ewmfilter.py#L111

Good eyes! this actually explains some wonky behavior I was seeing a few months ago.  This is absolutely a bug.


[BUG] Can't send struct with #[serde(flatten)] on nested field

Describe the bug
When calling context.send on a struct with a field marked with the #[serde(flatten)] attribute, I get the following error:
ERROR ockam_node::relay::worker_relay: Failure during '0#client' worker initialisation: failed to load data

To Reproduce
Cargo.toml
[package]
name = "ockam-error-repro"
version = "0.1.0"
edition = "2021"

[dependencies]
ockam = { version = "0.82.0" }
serde = { version = "1.0.130", features = ["derive"] }

lib.rs
use ockam::Message;
use serde::{Deserialize, Serialize};

#[derive(Default, Debug, Clone, Serialize, Deserialize)]
pub struct OuterStruct {
    pub name: String,

    #[serde(flatten)]
    pub inner: InnerStruct,
}

#[derive(Default, Debug, Clone, Serialize, Deserialize)]
pub struct InnerStruct {
    pub inner_name: String,
}

#[derive(Message, Debug, Clone, Serialize, Deserialize)]
pub enum MessageTest {
    Nested(OuterStruct),
    NotNested(InnerStruct),
}

bin/server.rs
use ockam::access_control::AllowAll;
use ockam::{Context, Result, Routed, TcpTransport, Worker};

use ockam_error_repro::MessageTest;

#[derive(Default, Debug)]
pub struct ServerWorker;

#[ockam::worker]
impl Worker for ServerWorker {
    type Message = MessageTest;
    type Context = Context;

    async fn handle_message(
        &mut self,
        context: &mut Self::Context,
        msg: Routed<Self::Message>,
    ) -> Result<()> {
        let route = msg.return_route();

        println!(
            "Address: {}, Received: {:?} from {}",
            context.address(),
            msg,
            route
        );

        match msg.body() {
            MessageTest::Nested(msg) => {
                println!("Received nested/flattened message: {:?}", msg);
            }
            MessageTest::NotNested(msg) => {
                println!("Received non-nested message: {:?}", msg);
            }
        }

        Ok(())
    }
}

#[ockam::node]
fn main(context: &Context) -> Result<()> {
    let tcp = TcpTransport::create(&context).await?;

    tcp.listen("<IP_ADDRESS>:4000").await?;

    context
        .start_worker("server", ServerWorker, AllowAll, AllowAll)
        .await?;

    Ok(())
}

bin/client.rs
use ockam::access_control::AllowAll;
use ockam::{route, Context, Result, Routed, TcpTransport, Worker};

use ockam_error_repro::{InnerStruct, MessageTest, OuterStruct};

#[derive(Debug)]
pub struct ClientWorker {
    route: ockam::Route,
}

#[ockam::worker]
impl Worker for ClientWorker {
    type Message = MessageTest;
    type Context = Context;

    async fn handle_message(
        &mut self,
        context: &mut Self::Context,
        msg: Routed<Self::Message>,
    ) -> Result<()> {
        let route = msg.return_route();

        println!(
            "Address: {}, Received: {:?} from {}",
            context.address(),
            msg,
            route
        );

        Ok(())
    }

    async fn initialize(&mut self, context: &mut Self::Context) -> Result<()> {
        context
            .send(
                self.route.clone(),
                MessageTest::NotNested(InnerStruct {
                    inner_name: "inner".to_string(),
                }),
            )
            .await?;

        context
            .send(
                self.route.clone(),
                MessageTest::Nested(OuterStruct {
                    name: "tagged".to_string(),
                    inner: InnerStruct {
                        inner_name: "inner".to_string(),
                    },
                }),
            )
            .await?;

        Ok(())
    }
}

#[ockam::node]
fn main(context: &Context) -> Result<()> {
    let tcp = TcpTransport::create(&context).await?;

    let server_addr = tcp.connect("localhost:4000").await?;
    let route = route![server_addr, "server"];

    context
        .start_worker("client", ClientWorker { route }, AllowAll, AllowAll)
        .await?;

    Ok(())
}

Expected behavior
When calling context.send on a struct with flattened fields, where all fields are [De]Serialize, ockam should succeed in loading the data to be sent.
Screenshots
server logs
2023-03-04T17:52:22.866164Z  INFO ockam_node::node: Initializing ockam node
2023-03-04T17:52:22.867117Z  INFO ockam_node::processor_builder: Initializing ockam processor '0#ce73fdfa624abc4877457c397992874d' with access control in:DenyAll out:DenyAll
2023-03-04T17:52:22.867269Z  INFO ockam_node::worker_builder: Initializing ockam worker '0#server' with access control in:AllowAll out:AllowAll
2023-03-04T17:52:25.609964Z  INFO ockam_node::worker_builder: Initializing ockam worker '0#273d70383d44eb9bee14f039f0b565d5' with access control in:LocalSourceOnly out:DenyAll
2023-03-04T17:52:25.610157Z  INFO ockam_node::processor_builder: Initializing ockam processor '0#ce3178cbf38656365c7e09b8207971da' with access control in:DenyAll out:LocalOnwardOnly
Address: 0#server, Received: NotNested(InnerStruct { inner_name: "inner" }) from 0#273d70383d44eb9bee14f039f0b565d5 => 0#client
Received non-nested message: InnerStruct { inner_name: "inner" }
2023-03-04T17:58:31.808947Z  INFO ockam_transport_tcp::workers::receiver: Connection to peer '<IP_ADDRESS>:39036' was closed; dropping stream
2023-03-04T17:58:31.809737Z  INFO ockam_transport_tcp::workers::sender: Stopping sender due to closed connection <IP_ADDRESS>:39036

client logs
2023-03-04T17:52:25.608685Z  INFO ockam_node::node: Initializing ockam node
2023-03-04T17:52:25.609906Z  INFO ockam_node::worker_builder: Initializing ockam worker '0#9ba1a8d1d997dd4cc046e92d9834a515' with access control in:LocalSourceOnly out:DenyAll
2023-03-04T17:52:25.610074Z  INFO ockam_node::worker_builder: Initializing ockam worker '0#client' with access control in:AllowAll out:AllowAll
2023-03-04T17:52:25.610179Z  INFO ockam_node::processor_builder: Initializing ockam processor '0#32330048d1784a0ff7b0bc65fa78a418' with access control in:DenyAll out:LocalOnwardOnly
2023-03-04T17:52:25.610449Z ERROR ockam_node::relay::worker_relay: Failure during '0#client' worker initialisation: failed to load data

System

OS: DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"
Rust library version: 0.82.0

As a workaround, I'm serializing to a json String and sending it that way, which works.
Some feedback: I'm very new to working with ockam (which looks terrific, very excited to have simple e2ee) and the error message was not terribly helpful in tracking this down.

@epi052 thank you for taking time to writeup the issue, very helpful!!
Agree about errors, we have some work to do to improve them.

When deriving the Message trait, the Encodable and Decodable traits are automatically implemented, which relies on serde_bare to encode/decode messages. It seems that serde_bare doesn't like flattened structs. I could reproduce the error using serde_bare directly:
let m = MessageTest::Nested(OuterStruct {
    name: "tagged".to_string(),
    inner: InnerStruct {
        inner_name: "inner".to_string(),
    },
});
serde_bare::to_vec(&m)?; // this will fail

I'm not sure if we have an easy way to override the Encodable/Decodable implementations. I've tried a couple of ideas with no luck. Any ideas here @SanjoDeundiak @etorreborre ?

@adrianbenavides I think one can implement those traits manually if needed

@epi052 I investigated this issue a bit. Unfortunately there is indeed an incompatibility between the serde derivation of a Serializable instance and what serde_bare expects when serializing a map. serde_bare expects a map length which the derived Serializable instance doesn't give in the case of a flattened field because it doesn't know how many fields will be flattened.
In principle I think that it should be possible to compute how many fields will be flattened but this might be a non-trivial PR on the serde derivation code.
The alternative is, as @SanjoDeundiak wrote, to implement the Encodable and Decodable trait and doing the flattening manually. For example like this:
#[derive(Default, Debug, Clone)]
pub struct OuterStruct {
    pub name: String,
    pub inner: InnerStruct,
}

#[derive(Default, Debug, Clone)]
pub struct InnerStruct {
    pub inner_name: String,
}

// the actual serialized struct with flattened fields
#[derive(Default, Debug, Clone, Serialize, Deserialize)]
pub struct WireStruct {
    pub name: String,
    pub inner_name: String,
}

// functions to convert between OuterStruct and WireStruct
impl WireStruct {
    fn from_outer(outer: OuterStruct) -> WireStruct {
        let OuterStruct { name, inner: InnerStruct { inner_name } } = outer;
        WireStruct { name, inner_name }
    }

    fn to_outer(self: WireStruct) -> OuterStruct {
         let WireStruct { name, inner_name } = self;
         OuterStruct { name, inner: InnerStruct { inner_name } }
    }
}

// Manual instances for OuterStruct via the instances for WireStruct
impl Encodable for OuterStruct {
    fn encode(&self) -> Result<Encoded> {
        Encodable::encode(&WireStruct::from_outer(self.clone()))
    }
}

impl Decodable for OuterStruct {
    fn decode(e: &[u8]) -> Result<Self> {
        Decodable::decode(e).map(|w| WireStruct::to_outer(w))
    }
}

// finally Message instance for OuterStruct
impl Message for OuterStruct {}

sorry for the delayed response.
Thank you all for taking a look, I'll give the [De|En]codable traits a shot.
Thanks again!


Method to install Tomcat as a service

First of all, thank you so much for this software. It is absolutely amazing. I'm not a Java developer, and I only know a little about front end Javascript, but if there are any other ways that I can help the project, let me know.
But the issue I wanted to bring up was that I would like to be able to install Tomcat as a Windows Service with the Saiku-Server already packaged in Tomcat. I have tried figuring out a way to do this myself using a Tomcat distribution straight from Apache, but I still can't figure out how to get it to work right.
For anyone that knows Tomcat very well, this shouldn't be too hard to do. Pentaho's BI-Server can be installed just fine, and I don't think this would be too different.

I have been playing around with it, and I finally got the service to install by dropping in some stuff from the apache tomcat7 distribution. Saiku starts up just fine, and I can log in as well.
However when I run as a service, it no longer recognizes my database (local postgres install running as a service).
I think there are a few possibilities:

The service doesn't have the correct permissions to access the database
When running as a service there are some relative path changes and it can no longer find the correct configuration files
As a service, it uses Tomcat7.exe instead of catalina.bat to start up. There might be a difference in how these two handle the database connections or relative paths.

Does anybody have any ideas?
But these are

Issue has been resolved on my end. My failure had to do with relative paths within the webapps directory. Rookie error.
However, I would still like to see the full Tomcat distribution bin tools with the Saiku distribution. This would include the service.bat file as well as Tomcat7.exe and Tomcat7w.exe. Is this possible?

I'll pick this one up and make the whole lot more use friendly

Awesome, thanks!


Fix required property serialization

For proto2, we need to support two kinds of serialization/parsing:

Partial: Required fields are not "required." When writing a message, if a required field is unset, it is simply not written out. After reading a message, if a required field is not present, the partial message is returned.
Full: Required fields are required. When writing a message, if a required field is unset, an error is thrown. After reading a message, if a required field is not present, an error is thrown.

The typical pattern is to implement full in terms of partial. Implement an isInitialized method/property. For full writing, call it to validate before calling the partial write method (C++ example). For reading, do the partial read and then call it to validate (C++ example).
proto3 doesn't need to distinguish between partial and full, AFAIK, but we may want keep both to avoid surfacing different APIs (since much of this can be implemented in protocol extensions). For proto3, isInitialized could vacuously return true.

The Java and C++ have some pretty good smarts in the generators to make the code as minimal as possible.  We might even be able to just make the default return true and only hook when checks are actually needed.
The serialization apis can also be done in terms of a generated partial api, so the basic impl checks valid before/after calling the partial api.

This could affect the API between the generated code and the library, so I've labelled it accordingly.  I'd like to resolve all remaining such issues fairly soon.

The C++ generator code for an optimized isInitialized - MessageGenerator::
GenerateIsInitialized. The flow in there is pretty simple/logical.  The one nice piece is the recursive check to see if message used for a field also has any required fields, to decided if a call to its isInitialized is needed or if it can be optimized out of the generate. The recursive check for required fields is: HasRequiredFields.

Once the isInitialized PR (#250) is in, we can move to support within the serialization apis. Glancing at Message.swift, it also shows we don't have a merge api like the other languages; so we likely want to add those and make the init methods call the merge methods.  As far as naming, my thought would be Partial should go in the names that don't call isInitialized and the others should call the Partial method and then call isInitialized, but we likely want #12 done first since that will resolve some of the naming.

Now that the renaming is done, I'll look at adding the initialization checks into the binary serialization apis.

FYI: I'm about to put up a big PR with a performance overhaul of the encoding side.  (To match the work I did last week on the decoding side.)

PR #290 added the partial decode support.
PR #303 will add partial encoding support.
I'm rethinking adding any merge support at the moment, and thinking we'll hold off adding it until we have developers needing it.

PRs in, this should be complete.
PR #307 adds a merge method and it ended up being useful to clean up some tests.


review path filters

Codecov Report

Merging #30 (6b70e30) into master (eb23b9b) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff            @@
##            master       #30   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           10        10
  Lines          683       683
=========================================
  Hits           683       683

Impacted Files
Coverage Δ

courlan/filters.py
100.00% <ø> (ø)


Use sycl::address_space_cast instead of sycl::multi_ptr constructor

Use of sycl::multi_ptr constructor to create multi_ptr from a raw pointer spews SYCL-2020 deprecation warnings when using SYCLOS.
The SYCL-2020 spec mandates use of sycl::address_space_cast to create sycl::multi_ptr from raw pointers.
Existing Sample Changes
Changed GPU-Opt-Guide/reduction/reduction_1.cpp, GPU-Opt-Guide/registers/block-load-store.cpp, GPU-Opt-Guide/sub-group/sub-group-6.cpp, and GPU-Opt-Guide/sub-group/sub-group-7.cpp.
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes Issue#
External Dependencies
List any external dependencies created as a result of this change.
Type of change
Please delete options that are not relevant. Add a 'X' to the one that is applicable.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Implement fixes for ONSAM Jiras

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Command Line
[ ] oneapi-cli
[ ] Visual Studio
[ ] Eclipse IDE
[ ] VSCode
[ ] When compiling the compliler flag "-Wall -Wformat-security -Werror=format-security" was used

Delete this line and everything below if this is not a PR for a new code sample
Delete this line and all above it if this PR is for a new code sample
Adding a New Sample(s)
Description
Please include a description of the sample
Checklist
Administrative

[ ] Review sample design with the appropriate Domain Expert:
[ ] If you have any new dependencies/binaries, inform the oneAPI Code Samples Project Manager

Code Development

[ ] Implement coding guidelines and ensure code quality. see wiki for details
[ ] Adhere to readme template
[ ] Enforce format via clang-format config file
[ ] Adhere to sample.json specification. https://github.com/oneapi-src/oneAPI-samples/wiki/sample-json-specification
[ ] Ensure/create CI test configurations for sample (ciTests field) https://github.com/oneapi-src/oneAPI-samples/wiki/sample-json-ci-test-object
[ ] Run jsonlint on sample.json to verify json syntax. www.jsonlint.com

Security and Legal

[ ] OSPDT Approval (see Project Manager for assistance)
[ ] Compile using the following compiler flags and fix any warnings, the falgs are: "/Wall -Wformat-security -Werror=format-security"
[ ] Bandit Scans (Python only)
[ ] Virus scan

Review

[ ] Review DPC++ code with Paul Peterseon. (GitHub User: pmpeter1)
[ ] Review readme with Tom Lenth(@tomlenth) and/or Project Manager
[ ] Tested using Dev Cloud when applicable

@oleksandr-pavlyk @zma2 Can you resubmit to the development branch?

PR#1902 is the updated PR. Closing this.


Gitpod tweak prebuild

Change prebuild tasks to run in one terminal instead of two.
Before, as the tasks tan in two terminals, the two were running in parallel. By keeping everything in one terminal, docker-compose up should now only run after the pull is complete.

You now get this if you try to open the GitPod environment too quickly 😅

Yeah I saw, good catch! I also just added a VSCode settings file, which I have always hated 😱  But I can't see any other way to get Gitpod to play nicely..

Ah is the Docker welcome screen different to the VSCode welcome screen?

I wonder if we even need the docker VSCode plugin installed by default to be honest. Not sure what it actually adds?
Same with GitLens which is also super spammy. If connecting to local VSCode then people can have these installed in their local versions but I wonder if it's better to be more minimalistic in the default setup in the browser..

agree to both.


Abul Naga and Yalcin Index

Abul Naga and Yalcin indices
Create a function to calculate Abul Naga and Yalcin indices from ordinal data. The function definition is:

def any_index(ds: Iterable, a_param: Optional[int] = 1, b_param: Optional[int] = 1):
	pass

where:

ds: sorted or unsorted dataset, an array with responses on an ordinal scale,
a_param: $\alpha$ parameter, must be positive and greater or equal to 1, the default value is 1,
b_param: $\beta$ parameter, must be positive and greater or equal to 1; the default value is 1.

Parameters a_param and b_param are designed to put different weights to inequalities below and above the median (see example below).
Steps
The algorithm has five steps:

Calculate the median value $m$ from ds. It must be an integer!
Get the number of categories $n$.
Build cumulative distribution for each category $P_{i}$, where the last category $P_{n}$ should be equal to 1.
Calculate the index based on the equation:

I_{\alpha , \beta} = \frac{\sum_{i < m}{P_{i}^{\alpha}} - \sum_{i \ge m}P_{i}^{\beta} + (n+1-m)}{k_{\alpha , \beta} + (n+1-m)}

where:

$\alpha \geq 1$
$\beta \geq 1$

and:
$$k_{\alpha , \beta}=(m-1)(\frac{1}{2})^{\alpha}-[1-(n-m)(\frac{1}{2})^{\beta}]$$
With $(\alpha=\beta)$ inequality is at a minimum when everyone is in the same category and at a maximum when half of the population lies in the lowest category and half in the highest category. Different calibrations of the parameters $\alpha$ and $\beta$ allow the researcher to give different weights to inequalities above and below the median of the responsiveness distribution - for higher values of $\alpha$ ($\beta$), less weight is given to inequalities below (above) the median. However, by design, the index can only be used to compare distributions with the same median category [1].
Returns
Abul Naga and Yalcin index: float
Bibliography

[1] Abul Naga RH, Yalcin T. Inequality measurement for ordered response health data. J Health Econ. 2008 Dec;27(6):1614-25. doi: 10.1016/j.jhealeco.2008.07.015. Epub 2008 Aug 19. PMID: 18838185.

[2] Andrew M. Jones, Nigel Rice, Silvana Robone, Pedro Rosa Dias. Inequality and Polarisation in Health Systems’ Responsiveness: A Cross- Country Analysis. HEDG Working Paper 10/27, October 2010. URL: https://www.york.ac.uk/media/economics/documents/herc/wp/10_27.pdf

@Arturstrag, how is it going? Would you like some help with this task?

@Arturstrag I'd like to take this issue from you :) If this is okay, then on Monday (5th of Feb), I'll change the assignment of the issue.

Ok


Not Compatible with flutter 3.16.0

When in build app get this error:
album_image-0.0.3+1/lib/src/widgets/thumbnail_path.dart:20:48: Error: Type 'DecoderCallback' not found.   ImageStreamCompleter load(ThumbnailPath key, DecoderCallback decode) {

Issue 1) Update photo_manager dependency to latest version (prior versions are incompatible w/ flutter 3.16+
Issue 2) replace DecoderCallback with ImageDecoderCallback
Issue 3) Text control for item.assetCount needs to switch to using FutureBuilder and item.assetCountAsync
i.e.
FutureBuilder(
future: item.assetCountAsync,
builder: (context, snapshot) {
return Text(
(snapshot.data != null)? '${snapshot.data}' : '',
overflow: TextOverflow.ellipsis,
style: widget.albumSubTextStyle ??
const TextStyle(color: Colors.white, fontSize: 14),
);
}
)
Someone needs to tell Google Flutter team to STOP breaking compatibility all the time with every release.


Bugfix in new exists method.

It was colliding with exists(Object id). And also wasn’t checking the return value from the DB correctly.

Saw this is closed. did it actually get tested and merged in? thread seems to trail off..

@evanleonard pretty sure it was fixed, there were a number of commits. Since then though @ericbn made a number of improvements and refactoring. Do you get this error?


Functionality to use both custom MSA and fasta with multiple sequences

I have a fasta file with multiple sequences and a precomputed MSA that I want to use for each sequence, but it seems to not recognize the precomputed MSA and only selects the first sequence from my fasta for structure prediction. Maybe this is an error or maybe I am doing something wrong. Thought I'd report it in case its the former:
ls
alphafold.3879608.log  colabfold_job.e3879608  previously_computed_multiple_sequence_alignment.a3m  ssm_library.fasta  test_alphafold_predict_and_dock.sh
(/localcolabfold/colabfold-conda) [xxxx]$ colabfold_batch --stop-at-score 95 --zip --max-msa 512:1023 /localcolabfold /localcolabfold/colabfold_data/

2024-07-03 15:54:29,355 More than one sequence in /localcolabfold/ssm_library.fasta, ignoring all but the first sequence

2024-07-03 15:54:31,704 Query 1/2: previously_computed_multiple_sequence_alignment (length 195)
2024-07-03 15:55:30,370 alphafold2_ptm_model_1_seed_000 recycle=0 pLDDT=94.4 pTM=0.893
2024-07-03 15:55:48,088 alphafold2_ptm_model_1_seed_000 recycle=1 pLDDT=95.1 pTM=0.903 tol=1.07
2024-07-03 15:55:48,089 alphafold2_ptm_model_1_seed_000 took 63.0s (1 recycles)
2024-07-03 15:55:48,204 reranking models by 'plddt' metric
2024-07-03 15:55:48,205 rank_001_alphafold2_ptm_model_1_seed_000 pLDDT=95.1 pTM=0.903
2024-07-03 15:55:49,494 Query 2/2: ssm_library (length 195)
COMPLETE: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 150/150 [elapsed: 00:03 remaining: 00:00]
2024-07-03 15:56:13,762 alphafold2_ptm_model_1_seed_000 recycle=0 pLDDT=93.9 pTM=0.892
...
2024-07-03 15:56:31,568 rank_001_alphafold2_ptm_model_1_seed_000 pLDDT=95.6 pTM=0.906
2024-07-03 15:56:32,374 Done

I see that I can simply replace the header sequence on the precomputed MSA with each of my sequences to generate multiple a3m files (one for each sequence) and this solves my issue.

I see that I can simply replace the header sequence on the precomputed MSA with each of my sequences to generate multiple a3m files (one for each sequence) and this solves my issue.


filter rule not working

Hi, i was using this code since 3 months without problem but today noon time it is start to forward irrelevant tweets to spread sheet.
my cons filter is
const filter_rule = (${search_term} OR #${search_hashtag}) has:links -is:retweet
But forwarding retweets and irrelevant hashtags and tweets .
so far :
I have changed bearer token  and reinstalled  still same...
Any advices are welcome .

Hi,
It could be that you have other rules set in the API bringing the tweets you don't want.
I'd start by making sure you have only the rule you want set in the API.
You can use the API Explorer to test that out: https://developer.twitter.com/apitools/api?endpoint=%2F2%2Ftweets%2Fsearch%2Fstream%2Frules&method=get (Simply copy the curl command at the bottom)

Hi thanks for the reply,
curl output like below :
{"data":[{"id":"1504812407352348***","value":"(F*** OR #F***) has:links -is:retweet"},{"id":"15048192640159744**","value":"(F*** OR #F****) "},{"id":"15048276858428620**","value":"(F*** OR #F***) -is:retweet "}],"meta":{"sent":"2022-03-25T
looks like normal I think,(I placed asterisk btw)
Thanks again,

The 2nd rule<PHONE_NUMBER>0159744) doesn't check -is:retweet, that could explain you get retweets in the stream.
It's in the stream if it matches at least 1 rule: Rule1 OR Rule2 OR Rule3.
 If you want only the exact word match, you need to use "F***".
I recommend to delete all your rules and recreate just one ("F***" OR #F***) has:links -is:retweet
Delete rules curl:
curl -X POST "https://api.twitter.com/2/tweets/search/stream/rules" -H "Authorization: Bearer $BEARER_TOKEN" -H "Content-type: application/json" -d '{"delete":{"ids":["1504812407352348","15048192640159744","15048276858428620"]}}'

The 2nd rule<PHONE_NUMBER>0159744) doesn't check -is:retweet, that could explain you get retweets in the stream. It's in the stream if it matches at least 1 rule: Rule1 OR Rule2 OR Rule3.  If you want only the exact word match, you need to use "F***".
I recommend to delete all your rules and recreate just one ("F***" OR #F***) has:links -is:retweet Delete rules curl: curl -X POST "https://api.twitter.com/2/tweets/search/stream/rules" -H "Authorization: Bearer $BEARER_TOKEN" -H "Content-type: application/json" -d '{"delete":{"ids":["1504812407352348","15048192640159744","15048276858428620"]}}'

Thank you @lagache it is working normally now. I think npm start and stops causing filter rule duplicates. I have deleted the all rules and let to the script create new one .
Best wishes,
Hex.


Character count message should be placed correctly in markup without Javascript

The character count Javascript moves the count message ("You have x characters remaining") in the DOM to be inside govuk-form-group. This was probably useful when the message markup was created dynamically. However this functionality is now redundant. The JS should be removed and the count message markup placed inside govuk-form-group in the component markup. This is so that we don't unnecessarily rely on Javascript for the correct order of DOM elements.
It’s important that the count message markup is inside govuk-form-group so that it gets wrapped within the error block (see screen grab below).

We put off making this change this in https://github.com/alphagov/govuk-frontend/pull/1594 as it's a breaking change.
Done when

[ ] TBC
[ ] "Details of breaking change" section below completed to help with writing release notes

Details of breaking change

which users are affected: TBC
the change that’s been made: TBC
changes users will have to make: TBC
impact of users not making those changes: TBC

I think this would require us to add something to the textarea API that allows us to insert this inside the form-group.

Yes, we’d need to add it to the textarea API and tweak the textarea macro template so that it can accept a hint which would render below <textarea> but inside .govuk-form-group. But that is actually quite a strange requirement since the character count component is the only thing that needs to do this and most of the time inserting a hint below the textarea for any other purposes is not something we'd recommend teams do.
In conclusion, I don't think we should do this - it's a bit of an irregularity (ideally the JS wouldn’t need to move the markup around) but it's not causing any problems and if anything, adding it into the textarea API could actually lead to it being misused in other contexts.
Tempted to just close this issue but leave it open for a bit longer for any other comments.

If we made this change, would that mean that the hint would appear below the text area for users who have turned off JavaScript? That would seem like surprising/wrong behaviour to me.

If we made this change, would that mean that the hint would appear below the text area for users who have turned off JavaScript? That would seem like surprising/wrong behaviour to me.

No. The hint and error message are standard, there's nothing special going on with them. However, at the minute the character count 'info message' ('You can enter up to X characters', which is separate to the hint) is outside of the form group in the component HTML, and the JS moves it inside the form group.
That means that when JS is disabled and the input is in the error state, the info message appears outside of it:

It also means we have to 'move' the margin that's normally applied to the form group for all (?) other form inputs from the form group to the character count wrapper:
https://github.com/alphagov/govuk-frontend/blob/133ea4f097ffb5b280357f7f8d75a8fff87a4d64/src/govuk/components/character-count/_index.scss#L7-L14
(Otherwise there would be a 30px margin between the form group and the info message, and only a small margin between the info message and the next component)

This is now ready to review as part of https://github.com/alphagov/govuk-frontend/pull/4566


Php is not working inside html tags

VSCode Version:
OS Version:

Steps to Reproduce:
1.can´t get php code inside html tags,
2.

Reproduces without extensions: Yes/No

@MENSAJERO27 Please provide sample code and repro steps

No suggestion code inside html tags

@MENSAJERO27 That's currently not possible, because the language server protocol does not support nested languages. If you want support in the current state, you would need to teach the php language server what html is, and thus what is css and js and so on...

So the issue here is that php inside html is not getting the syntax highlighting done?

The issue here is vscode relies on "Language server"s to perform syntax highlighting. The html language server, which is used here because you open an html file, does not understand php. The php block in the html file is interpreted by vscode as html (as vscode does so for the whole file), and send to the html language server.

Ah! And also the request for php suggestions inside html. Didn't notice that earlier.
Well, I'll leave it to @aeschli and @roblourens to respond

Is it a .php file? Does it say PHP in the lower right corner?

@MENSAJERO27 it works. Be sure Language mode to PHP

But then he loses the suggestions from intellisense for html, doesn't he?

That's right
El 20 ago. 2017 6:00 AM, "Jens Hausdorf"<EMAIL_ADDRESS>escribió:

But then he loses the suggestions from intellisense for html, doesn't he?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/32832#issuecomment-323580600,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEOYdxH95oSS99W6sP-nKXWJoorpxPUrks5saB_ZgaJpZM4O8azs
.

Sorry. I solved the problem. You can see my problem in the picture

I had to choose the language mode php. Thanks for all.


Draw layer bug

Its a draw layer bug (at least i think that's what its called) when trying to turn on LDM it opens the GDDL level info tab.
To Reproduce
Steps to reproduce the behavior:

Go to 'Any level with LDM

'

Click on 'The Gear in the bottom corner'

Try to turn on LDM

See error, GDDL Level info tab opens up instead of turning on/off LDM, except if you click the top right corner of the checkbox

Crash log (from Geometry Dash/geode/crashlogs)
It is not a crash bug
I checked that I have the latest version of this mod
Yes I am on the latest version

I can't replicate that, it just works in my case

Can/Could it still be fixed?

I'll see what can be done about this, I wasn't able to replicate that but there are others experiencing this bug as well from what I've gathered

Thanks 👍

Same here, the bug includes being able to open the GDDL popup with other popups open (such as the comment menu, the like menu or even menus by other mods such as level thumbnails) and, the other way around, being able to open these windows with the GDDL popup open.
(I am on Android btw, I haven't tested this on my PC)

funnily enough this never happens to me with the gddl popup but it does sometimes happen with the other parts of the ui, for example with the friend request accept/reject popup

maybe geode 4.0.0 will fix that idk, a big update is coming soon both to it and this mod


Terraform configuration for S3 buckets

There should be a separate S3 bucket for dev, stage, and prod.
Buckets should be world readable and listable.
Buckets should be writable from export container only.

@jmartin-sul sinopia-uploads s3 buckets have been created for dev, stage, and prod.  Please let me know if there are issues.


Fixed reference to Kamelets catalog

Other part of #3069

It seems to me same as https://github.com/apache/camel-quarkus/pull/3069 ?

One it's in the adoc from the main tree, the other one is the doc generation. I was from browser

Sorry, I'll close the other one.


Have 4BTC, only want to trade 0.4. How to set limit?

other than pulling funds from exchange of course.

in portfolioManager. Set buy amount to 0.1*amount

Request: move this option to config file.

the hard thing about this is that if you configure gekko in a way where you trading just 0.4 at a time but you are constantly losing, you will still end up with your account fully drained..

@askmike The only way to implement a prevent loss feature is by adding a db of trading history. I will implement this db.

What do you mean by adding a db for trading history? How you can prevent loss bu doing this?
The good way is to try and find a good config for trading.

I agree with @rickylqhan it is important to have money limits for trades (buy) in exchanges... today i use 2 accounts in the same exchange to resolve this problem... maybe a good solution is to put a plugin in config for that where it is possible to put a fixed amount or implementing a rule.

One easy idea this morning was to add an optional parameter to this.advice('short'/'long');
Can be in percent like : this.advice('short', 10) (10 for 10% of amount)

@askmike the link in your last post is 404 - do you know where I can find it?


Fix otel samples

Please provide a description of this PR:
This is a folllow-up of https://github.com/istio/istio/pull/49143, to make the otel samples working with the demo profile.

cc @zirain


Fix memory leak issue on broker side

After bumping up the jetty version, we have observed memory leak
error on broker side because ByteBufs were not properly released.
Tested by running load testing locally.

I looked at the following documentation to decide the place to release.
http://netty.io/wiki/reference-counted-objects.html

Codecov Report

Merging #1981 into master will decrease coverage by 0.05%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1981      +/-   ##
==========================================
- Coverage   69.74%   69.68%   -0.06%
==========================================
  Files         824      824
  Lines       40298    40299       +1
  Branches     5423     5423
==========================================
- Hits        28104    28084      -20
- Misses      10324    10353      +29
+ Partials     1870     1862       -8

Impacted Files
Coverage Δ

...ot/broker/requesthandler/BrokerRequestHandler.java
87.62% <100%> (+0.04%)
:arrow_up:

...t/common/exception/PermanentDownloadException.java
0% <0%> (-100%)
:arrow_down:

...not/common/segment/fetcher/HttpSegmentFetcher.java
68.42% <0%> (-15.79%)
:arrow_down:

...mpl/dictionary/DoubleOffHeapMutableDictionary.java
58.18% <0%> (-14.55%)
:arrow_down:

...m/linkedin/pinot/common/utils/FileUploadUtils.java
43.97% <0%> (-7.81%)
:arrow_down:

.../pinot/core/query/reduce/InAndNotInComparison.java
74.19% <0%> (-6.46%)
:arrow_down:

...e/operator/dociditerators/SortedDocIdIterator.java
58.33% <0%> (-5.56%)
:arrow_down:

...mon/utils/retry/ExponentialBackoffRetryPolicy.java
81.81% <0%> (-4.55%)
:arrow_down:

...e/operator/dociditerators/BitmapDocIdIterator.java
60.71% <0%> (-3.58%)
:arrow_down:

...ot/core/query/pruner/ColumnValueSegmentPruner.java
84.48% <0%> (-3.45%)
:arrow_down:

... and 24 more

Continue to review full report at Codecov.

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


Update homepage.html.twig

following previous PR, with the bloc showcasing hello_controller.js, direct after seeing markdown-controller.js seems not logic (even if stimulus under the hood is ok for both identifiers)

(same thing here, ok for you @94noni ?)


Switch template systems

When we originally setup this codebase we wanted to use SWIG as the template system. This project has  been abandoned and unmaintained. (At least the website came back -- it was gone for awhile).
I want to switch us to Nunjuks even though it seems a bit heavy weight. I might look around for others before starting this.
Any opinions?

Completed with latest merge.
09b1cdc..765149a  devel -> devel


command not found issue.

it is not showing command not found when i execute following command in my terminal.
acextract -i ~/Assets.car -l

Hi sorry for the delay 😿
Can yo write how did you install acextract? The best way would be to copy acextract binary to /usr/local/bin/ then the application should be available everywhere.


config json

Could you please share config.json?

It's in the build directory. I did cut out a bunch of stuff from the default though.
I usually (at least while developing) just run the binary out of the build directory where it's compiled so it reads the config from there.


Flow running for days. Team never gets created

I am experiencing an issue where once a team is approved within the app. The flow will kick off but will not finish or fail. I cant pinpoint exactly where the error is -- since it has been running non stop (over the weekend) and when I tried again this morning its the same thing. It seems like it does not make it to the logic app, so I would imagine it is somewhere in this part of the flow it is failing:

Any help would be greatly appreciated!!!

@chetferg do you have the solution configured to post an adaptive card into Teams? i.e. populating the values in the settings list or send the approval task? If the latter, please check the email address used in the flow as it is likely sending a task to a user that does not exist and is still sat at approval stage.

Thanks for all your help!


[jvm-packages] add jni for setting feature name and type

This PR adds jni APIs for XGDMatrixGetStrFeatureInfo and XGDMatrixSetStrFeatureInfo to set/get feature information including feature_name and feature_type which will be typically used in categorical feature supporting. I will file a followup to support categorical feature in jvm-packages.

@trivialfis please help to review it


🗃 Setup Neo4j for DEV

Setup Neo4j

Reference [k]Code

[x] #184
[x] #174
[x] #179
[x] #178
[x] Test CRUD

Resolved in https://github.com/usamazansari/itinerary-assistant/commit/944f0004f4725d99c04b2d92883e62f84f4fda5f


Industrial smelting not working

Hi
The whole Industrial smelting thing is not working - furnaced don't accept input from inserters and can't output if feeded manually.
BTW, tried to investigate the source code by myself, but renaming the folders ruins the file change history completely so can't check what was changed when...

I will fix it in next release, thanks for report ^^


Damage to Vitals HT roll should only have -5 penalty on Major Wound

A damage to Face, Vitals and Groin is triggering a HT-5 instead of a HT roll. AFAIK the -5 penalty only applies to a Major Wound on those locations
The example below show it happening, the subject has 14 HP base, so this is not a Major Wound on Vitals.

You can find it on B420. It explains that Major Wound or damage to head/vitals requires an HT roll to avoid knockdown. There is a "Modifiers" block about a Major Wound to the Vitals (-5) and the head (-10) on the HT roll. So if it's not a Major Wound, it's just a plain HT roll. The misconception happens by reading B399 where it states "HT-5" without mentioning Major Wound, but that's just a summary of what could happen, the specific rule for Knockdown and Stunning is on B420.
It's working great for skull though, a damage to the skull triggers an HT roll

and a Major Wound to the skull triggers an HT-10 roll

Edit: Face, Vitals and Groin instead of just Vitals

By the way, this project is amazing :rocket:

Updated issue to mention Face, Vitals and Groin instead of just Vitals


Failed to list DNS records: path parameter 'zone_identifier' is empty and the response is: null

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
For the following program:
https://gist.github.com/hamzy/471de5f98f84e6e4808f0ddb3fd315bb
List the steps that can be used to demonstrate the bug.  Include the name of the service and operation that you're trying to invoke, if applicable.  Be sure to describe any relevant info regarding parameter values used with your API invocation.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Must gather (please complete the following information):
hamzy:powervs-hack$ go version
go version go1.18.5 linux/amd64

hamzy:powervs-hack$ cat list-dns/go.mod
...
require (
        github.com/IBM/go-sdk-core/v5 v5.10.2
        github.com/IBM/networking-go-sdk v0.34.0
)

require (
        github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef // indirect
        github.com/go-openapi/errors v0.20.2 // indirect
        github.com/go-openapi/strfmt v0.21.3 // indirect
        github.com/go-playground/locales v0.14.0 // indirect
        github.com/go-playground/universal-translator v0.18.0 // indirect
        github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
        github.com/hashicorp/go-retryablehttp v0.7.1 // indirect
        github.com/leodido/go-urn v1.2.1 // indirect
        github.com/mitchellh/mapstructure v1.3.3 // indirect
        github.com/oklog/ulid v1.3.1 // indirect
        go.mongodb.org/mongo-driver v1.10.0 // indirect
        gopkg.in/go-playground/validator.v9 v9.31.0 // indirect
)
...

Additional context
Add any other context about the problem here.
Were you able to avoid the problem by changing your application code slightly?

Sorry, the code snippet was not inclusive of where the error occurred.  This is the entire program:
https://gist.github.com/hamzy/471de5f98f84e6e4808f0ddb3fd315bb

This is the output I see:
hamzy:powervs-hack$ (export IBMCLOUD_API_KEY="..."; cd list-dns/; go run list-dns.go)
2022/10/16 07:25:43 Zone: ocp-dev-ppc64le.com
2022/10/16 07:25:43 Failed to list DNS records: path parameter 'zone_identifier' is empty and the response is: null
exit status 1


unique timezone for multiple agencies

GTFS document states:

If multiple agencies are specified in the feed, each must have the same agency_timezone.

Does this mean that we can't produce GTFS feeds for regions stretching over multiple time zones?

we could simply check the timezone of the geometric middle point of the region.

@carocad what about explicitly asking for the timezone instead of guesswork?

Good idea
However I would still make that optional. The user should be able to choose the Timezone but if not provided we would just go with our best guest


WIP: Google sign in

Will resolve #188
To-do:

[x] Possibly add connect-ensure-login on certain routes? Nope
[x] add auth check to pages in app
[x] Add logging out
[x] Figure out link interceptions and when to send over the JS app
[x] Set up postgres session DB to use with express-session
[x] turn throng back on
[ ] fix integration tests. this will likely involve a test NODE_ENV and more explicit checks for when in dev or prod in the code itself
[ ] invalidate goog token on logout (requires getting the token)
[ ] fix issue where token isn't sent immediately after login (https://github.com/voxpelli/node-connect-pg-simple/issues/31)
[ ] refactor everything...finally

Gonna close. It'll take a lot of time to debug this issue, so this won't be merged anytime soon.


Add caption to PhotoSwipe Gallery and Slideshow

Prerequisites checklist

[X] I have read the contributing guidelines.

What is the purpose of this pull request? (put an "x" next to an item)

[ ] Documentation update
[ ] Bug fix
[x] New feature
[ ] Other, please explain:

What changes did you make? (Give an overview)
Add a caption showing the image-name inside the Gallery and Slideshow.
Is there anything you'd like reviewers to focus on?
Make option available?

Make optional available?

Should be optional via config (see vote in Telegram), will do as soon as possible.
Need to wait for https://github.com/PhotoboothProject/photobooth/pull/145 anyway to be merged.


Results

Hello. Thanks for your work.
What are training results and metrics that you get on any dataset with thus code?

Hi @snarb, sorry for late reply.

For training results, you can look at some of my runs in this link
For metrics to evaluate, I compare LPIPS score (perceptual loss), L2 loss (log_gaussian loss) and look at the visual quality of the images in the imagenet validation dataset

thnaks @thuanz123 .  I have found another VQ-GAN implementation https://github.com/lucidrains/parti-pytorch/blob/main/parti_pytorch/vit_vqgan.py. Can you please tell what are there significant differences ? Looks like you have added ideas from [RQ-VAE]

Lucidrains's implementation for ViT-VQGAN is very complex as he applies a lots of additional technique whereas my code is only plain simple ViT architecture. Also training vvit-vqgan using his code is very slow compared to mine, and the image quality is not better much when I train for same number of iterations. This is may be bias since I haven't carefully try his code
Except additional code for RQ-VAE, my implementation is the closest one to the author unpublic implementation since I ask him a lot of question.

Also a big different from lucidrain code is that my code support multi-node mukti-gpu thanks to pytorch lightning, while his code seem not support this

I will close this for now. If you have any other question, feel free to reopen.


Request for a feature to secure custom API endpoints.

Is your feature request related to a problem? Please describe.
It appears the package does not provide server-side authentication for custom Next.js API endpoints. The current features only work for SSR pages with Firebase API call (e.g., Render page with populated information or redirect to Auth page), but there is nothing like a middleware, guard for custom endpoints.
A practical example is when users want to host applications on Google Cloud and use Google Identity Platform (IdP) for their organization authentication (for regulatory compliance purposes). Firebase/Admin SDK is required to interact with IdP, but users don't use any other Firebase functionalities. If there is an internal an endpoint api/get-info/, only authenticated users are able to access it.
Describe the solution you'd like and how you'd implement it

Using Firebase's verifySessionCookie internally, we need a unified cookie (#190). The two current cookies AuthUser and AuthUserTokens do not work with that API. This can be done either by having an option to return a unified cookie, or perform a server-side processing to transform the two current cookies into one.
In InitConfig, have an option for onVerifySessionCookieError.
Have an API to access verifySessionCookie.
This can also utilize Next.js middleware feature (https://github.com/gladly-team/next-firebase-auth/issues/418).

Is this a breaking change?
No.
Describe alternatives you've considered
If using Firebase Admin SDK directly, then this is achievable via a middleware with Firebase's verifySessionCookie. However, the downside is users need to rebuild the whole authentication flow, which is not desirable.
There is a chance my proposal is wrong in some ways, please feel free to correct the mistakes.

Thanks for the issue.
If you're looking to protect an endpoint, here's an example using the Authorization header and a Firebase token:
https://github.com/gladly-team/next-firebase-auth/blob/main/example/pages/api/example.js
You can create a reusable module to handle authorization across multiple endpoints.
If you're specifically looking to use cookies for auth, there's an open issue to support the functionality: #223
Possibly related: #418, #278
Do these address your issue? If so, I'll close this.

Thanks for the issue.
If you're looking to protect an endpoint, here's an example using the Authorization header and a Firebase token: https://github.com/gladly-team/next-firebase-auth/blob/main/example/pages/api/example.js
You can create a reusable module to handle authorization across multiple endpoints.
If you're specifically looking to use cookies for auth, there's an open issue to support the functionality: #223
Possibly related: #418, #278
Do these address your issue? If so, I'll close this.

Yes, that addresses my issue. I did miss the example.
Am I right to say the front page documentation is lacking in this regard? It's mostly about securing pages, not endpoints. Although, If I read the documentation more carefully, I may not have opened this issue.
Regarding verifyIdToken in the example, it seems token revocation is not checked or is it done underneath? What I mean is a call using verifyIdToken(yourID, true).

Great!
Yes, this can be improved. We could add an example in the README and
maybe call it out near the top. Feel free to open an issue or PR.
That's handled under the hood by Firebase.

On Fri, Mar 18, 2022, 6:07 PM Hung Vu @.***> wrote:

Thanks for the issue.
If you're looking to protect an endpoint, here's an example using the
Authorization header and a Firebase token:
https://github.com/gladly-team/next-firebase-auth/blob/main/example/pages/api/example.js
You can create a reusable module to handle authorization across multiple
endpoints.
If you're specifically looking to use cookies for auth, there's an open
issue to support the functionality: #223
https://github.com/gladly-team/next-firebase-auth/issues/223
Possibly related: #418
https://github.com/gladly-team/next-firebase-auth/issues/418, #278
https://github.com/gladly-team/next-firebase-auth/issues/278
Do these address your issue? If so, I'll close this.

Yes, that addresses my issue. I did miss the example.
Am I right to say the front page documentation is lacking in this
regard? It's mostly about securing pages, not endpoints. Although, If I
read the documentation more carefully, I may not have opened this issue.
Regarding verifyIdToken in the example, it seems token revocation
is not checked or is it done underneath? What I mean is a call using verifyIdToken(yourID,
true).

—
Reply to this email directly, view it on GitHub
https://github.com/gladly-team/next-firebase-auth/issues/450#issuecomment-1072850041,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABNGLZLOUCWYI7DOGD7Q3SLVAT5AZANCNFSM5Q4WLFTQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

This discussion might derail from an original PR purpose, but please correct me if I'm wrong.
I believe Firebase does not check for token revocation by default. An explicit option must be added. This is under the assumption that a user does not use any Firebase features (e.g. security rules) aside from authentication service. For example, a server is on another cloud provider.
References

Verify ID Token documentation
Manage user session documentation

Sorry, I wasn't very clear. Yes, you're right about that: we don't pass true to the second argument to Firebase's verifyIdToken, so this library won't know immediately that a token was revoked. However, I believe revoked tokens will lose access within an hour, because attempts to refresh the ID token will fail (whether called by the Firebase JS SDK or by this library's Firebase Admin logic). Does this sound right to you?

You're right, the short-lived ID Token will expire after an hour. A revoked token cannot be refreshed afterward. However, during that 1-hour timeframe, the application is vulnerable if a token is compromised. Or does next-firebase-auth have a way to prevent the scenario underneath?
// Securing an API
try {
      await verifyIdToken(token) // Always true unless one hour has passed after the revocation.
} catch (e) {
      return res.status(403).json({ error: 'Not authorized' })
}

during that 1-hour timeframe, the application is vulnerable if a token is compromised

That's correct.
Fixing this is out of scope for this library, but we expose an option to allow developers to always check for token revocation. In that case, the library would pass true to the second argument to Firebase's verifyIdToken. That would come with the performance hit of a round-trip call to Firebase.
I believe there are discussions elsewhere about how other apps deal with this in Firebase; for example, you might keep recently-revoked UIDs in memory for a quick lookup on your auth server.

but we expose an option to allow developers to always check for token revocation

May I ask how to use that option? As far as I can see withAuthUserTokenSSR does have a token revocation check, but it is not designed for API. Both initConfig and verifyIdToken do not seem to expose the boolean option.
However. we have a refresh token (retrievable from firebase-admin-sdk?) as a second argument that immediately triggers a refresh action when passing to verifyIdToken. This workaround is equivalent to check revocation, is that what you mean? If that is the case then I think the document is unclear regarding this.

@hunghvu My mistake, I missed typing word that changed this a lot. "we could expose an option" -- we don't have this option now but could consider adding it if developers need it.

Sounds great. Thanks for answering all of my questions. From the discussion, the following may have their own issues.

Improve README on ways to secure API endpoints.
Option to expose check ID token verification option.

I will close this issue.


Fixed typo in Readme

Signed-off-by: Pazekal90<EMAIL_ADDRESS>Just fixed that "version" typo

Can I have a recheck to see what is the problem here? Its just a typo


The serialization performance of Pb is worse than that of JSON

What version of protobuf and what language are you using?
github.com/golang/protobuf v1.5.2 golang 1.16
What did you do?
Today I test the serialization and deserialization performance of Pb and JSON，I found a problem，when proto is large,PB performance is worse than JSON,pb serialization size is  200 bytes，and json size is 603 bytes.

PB allocs is so many ,There should be something that can be optimized here。
Here are two analysis results：

Anything else we should know about your project / environment?
macOS

There are a great number of factors that can influence the performance of benchmarks, and without any of that, it’s difficult to assess exactly what is causing the results you’re showing. Could you produce some sort of minimal-ish example that we could compare ourselves?

There are a great number of factors that can influence the performance of benchmarks, and without any of that, it’s difficult to assess exactly what is causing the results you’re showing. Could you produce some sort of minimal-ish example that we could compare ourselves?

I can't disclose the company's proto content, but tomorrow I can write a new test proto and send it to you.Do you only need my test code?

Yes, some sort of representative code so we can see the outline of what you’re doing, and some benchmarks along with so we can see consistent results to what you present.

There are a great number of factors that can influence the performance of benchmarks, and without any of that, it’s difficult to assess exactly what is causing the results you’re showing. Could you produce some sort of minimal-ish example that we could compare ourselves?

I'm not in the company now. I write a similar test case；Our proto defines a structure slice, and I set the slice length to 200
`package client
import(
"github.com/golang/protobuf/proto"
)
var testStruct =struct{field []string}{field: make([]string,200)}
func pbMarshal(){
proto.Marshal(&testStruct)
}`
`package client
import "testing"
func BenchmarkPBMarshal(b *testing.B){
for i:=0;i<b.N;i++ {
pbMarshal()
}
}`

This is comparing the use of encoding/json (which is a practice we discourage) compared to the binary serialization accessed through github.com/golang/protobuf/proto. The former relies on Go reflection, while the latter uses unsafe. The latter is always going to be faster than the former and the former will always be using pure Go reflection for safety reasons.
Also, this module is not responsible for the implementation of encoding/json.

This is comparing the use of encoding/json (which is a practice we discourage) compared to the binary serialization accessed through github.com/golang/protobuf/proto. The former relies on Go reflection, while the latter uses unsafe. The latter is always going to be faster than the former and the former will always be using pure Go reflection for safety reasons.
Also, this module is not responsible for the implementation of encoding/json.

Ha ha ha, did you read the wrong content? I posted JSON faster than Pb, which is incomprehensible

My apologies. It's easy to switch up which is which.
Can you use google.golang.org/protobuf/proto instead of github.com/golang/protobuf/proto?
Your perf profile is unhelpful. I should note that messages not generated by protoc-gen-go will have performance detriments since the logic goes through compatibility logic to preserve correctness at the expense of performance.

It almost seems certain that this is either operating on extremely old protoc-gen-go messages or messages not generated by protoc-gen-go since a bulk of time is spent in sizePointerSlow which won't happen for new messages. It goes through this logic when the sizecache field is not available. In that situation, the performance may be quadratic.

My apologies. It's easy to switch up which is which.
Can you use google.golang.org/protobuf/proto instead of github.com/golang/protobuf/proto?
Your perf profile is unhelpful. I should note that messages not generated by protoc-gen-go will have performance detriments since the logic goes through compatibility logic to preserve correctness at the expense of performance.

i can't use google.golang.org/protobuf/proto to serialize. Our proto code doesn't implement this method.

Here is part of our protocol code：

Can you at least take a screenshot of one of the generated messages? So far, it's clear that these are really old message. When was the last time these .pb.go files have been updated?

It almost seems certain that this is either operating on extremely old protoc-gen-go messages or messages not generated by protoc-gen-go since a bulk of time is spent in sizePointerSlow which won't happen for new messages. It goes through this logic when the sizecache field is not available. In that situation, the performance may be quadratic.

The two I tested were generated last year. I updated my protoc-gen-go, and then generated and tested again.

Can you at least take a screenshot of one of the generated messages? So far, it's clear that these are really old message. When was the last time these .pb.go files have been updated?
Is the following version older?

The two I tested were generated last year. I

They must have been regenerated with and old version of protoc-gen-go. It must be v1.3 or older.

The two I tested were generated last year. I

They must have been regenerated with and old version of protoc-gen-go. It must be v1.3 or older.

ok,I try it

I recommend regenerating these messages with<EMAIL_ADDRESS>or latter and report back what the performance numbers are. Also, it's not enough to regenerate just the top-level messages, but all messages that are transitively reachable. The existence of any messages that lack the sizecache field may be the cause of the what appears to be quadratic time computing the message size.

Also, this is probably a duplicate of #1149.

I recommend regenerating these messages with<EMAIL_ADDRESS>or latter and report back what the performance numbers are. Also, it's not enough to regenerate just the top-level messages, but all messages that are transitively reachable. The existence of any messages that lack the sizecache field may be the cause of the what appears to be quadratic time computing the message size.

I try it again,Pb is better than JSON in serialization, but worse than JSON in deserialization.

I recommend regenerating these messages with<EMAIL_ADDRESS>or latter and report back what the performance numbers are. Also, it's not enough to regenerate just the top-level messages, but all messages that are transitively reachable. The existence of any messages that lack the sizecache field may be the cause of the what appears to be quadratic time computing the message size.

It is superior in small structure.Thank you for the tip


CLA Assistant fails to start when used with AWS DocumentDB

Recently, my team tried to update our instance of CLA Assistant. We are hosting it in a docker container in ECS backed by a DocumentDB instance. The CLA document src/server/src/documents/cla.js indexes all fields with a wildcard index, which causes a server error from AWS DocumentDB, which does not support text indexes. This causes an unhandled promise rejection at application startup. In our previous version, this caused an application log but did not otherwise cause problems. #823 updated the node version used in the Dockerfile to 16 which causes unhandled promise rejections to crash the application.
I am asking for one of the following:

Add an option to disable creating the index
Handle the promise rejection from index creation so as not to crash the application
Create a targeted index instead of a wildcard index https://www.mongodb.com/docs/manual/core/indexes/index-types/index-wildcard/

I am happy to submit a PR for any of these ideas if they would be accepted.

If PR failed the CLA assistant what will Happen?

This has nothing to do with the CLA check its about self hosting the assistant


[ Do not merge | May become a seperate package ] Add full svg support

closes #263
Based on #260

Status
Many valid svg documents are not yet valid XHP expressions because of missing attributes.
All global attributes are ready.
I still need to add all element specific attributes, which there are a lot of.
Having done that, every valid SVG document should be, knock on wood, valid XHP expressions too.
After that, how do we deal with child validation in SVG?
I've made <svg> itself %phrase, since this element is special.
It is both an HTML element, and an SVG element at the same time, kinda.
So it needs to know about its own embedability rules in HTML documents.
SVG does not follow the category model that HTML does.
It has its own categories however.

Do we want to provide this level of support?
How do we deal with declarations like this?

Looking up the tree to determine if your children are valid could become very expensive very quickly.
Should there be a separate switch to disable runtime child validation on svg elements?

Status
All attributes are now present, so knock on wood all valid svg documents are valid XHP expressions.
However, many valid XHP expressions are now invalid svg documents.
The attributes mostly have the type unknown (a type alias for mixed).
I'll give the attributes proper types in future commits.
I have done things this way so I can find out the type of a certain attribute once and ctrl+H it across all svg elements.
Previously, I'd have to check the type of an attribute each time, without getting inconsistent with previous interpretations.

Status
I have added typehints to all the SVG elements.
So all valid SVG documents are valid XHP expressions and all valid childless XHP element expression are valid svg expressions.
However, some valid XHP documents are invalid svg documents.
We don't have child validation just yet.
I want to open a conversation with Stefan Parker, Fred Emmott, and Scott Sandler about what you want from child validation, how to best implement it, and what restrictions to abide by.
I'll reread my PR tomorrow for obvious typoes in attribute or tag names.
The changes that I do something like this right in one go is not very high :slightly_smiling_face:.

Also worth nothing, a liberty I took when typing the attributes.
<length> is any <number> followed by a unit (so string), OR a literal 0.
I have decided to disallow attr={0} in those cases.
You need attr="0" instead.
This is to prevent people from using attr={1}, which is not valid (since the unit is missing).

Status
The SVG support is now feature complete.
All properties are typed and all children are validated.
I have used the spec blocks to create these elements.
I did not read the prose.
This means that I might have missed something that is only mentioned in the prose.
I will keep this PR WIP for a little longer.
I want to proofread the whole thing (didn't get around to doing that today) for typos.
After that, I'll open the PR for review.
:fearful: This PR ended up becoming monstrously large.
I can't even imagine what a review of these declarations would look like.
I surely hope that you don't have to compare every single element and attribute to the SVG spec.
If you need to, I am sorry for the monotonous task ahead.

This PR is broken. Traits and attributes don't interact right. The attributes from the trait are not added to the xhp reflection methods.


localizeExistingComments to check for comments existence

localizeExistingComments to check for comments existence before trying to localize - ether#197
Fixes - https://github.com/ether/ep_comments_page/issues/197

I can't see how my change breaks backend tests. Is the build system broken?

Closing in favor of https://github.com/ether/ep_comments_page/pull/206


sortedIndex should capture from 0 to size on non full buffers

This was an annoying edge case I ran into where
Currently
var buffer = CBuffer(20);
buffer.push(1, 2, 3, 4, 5, 6, 7, 8);
buffer.sortedIndex(10); // 7
buffer.push(10);
buffer.indexOf(10); //8

Welp. No excuse for this. Thanks though. Landed in 420ae5e96b06f871990c358d4ae5b187a06c8d5c.


Dirname: fix windows' failing test for absolute-path behavior (approach 1/2: platform-dependent behavior)

One of the reasons the appveyor build is currently failing is because the dirname test for the root directory doesn't work. Any correction to this failure would imply an answer to a question raised by making dirname cross-platform: how dirname should function on windows' platforms. I've made the test pass in accordance with two different possible development directions in two separate PRs, and have no real opinion about which direction is best.
Approach 1 out of 2: platform-dependent behavior (this pr):
(demonstration of dirname tests passing for this pr)
dirname /a/b/c
Works as you might expect only on unix-like OSes, but is expected to be treated on windows (where the path could not possibly exist) the way a backward slash version would work on unix. Instead, windows' dirname is expected to treat absolute paths possible on windows, and only those possible on windows, in a similar way that we'd normally expect dirname to work with unix-like OS paths
benefit of this approach

consistent with other binaries that accept paths for windows, in that when run on windows they will imaginably only accept absolute paths that are possible on windows. Dirname would probably be the only binary in uutils coreutils with this behavior, which might be unintuitive.
walks around the issue of undecidability in situations where someone has made a filename with a backslash in a unix-like OS and someone references it relatively. (not a very common problem though)

Approach 2 out of 2: platform-independent behavior (#825)
(demonstration of dirname tests passing for this pr)
dirname /a/b/c
works the same on windows-like OSes unix-like OSes. This approach makes no decision as to whether or not windows format paths will also be supported in the future and whether on all or specific platforms, just that unix-like OS paths are, and are supported on every platform.
benefit of this approach

dirname does not actually do filesystem operations or check if a path exists or is possible, it's essentially a text utility, so it's really unclear how much concrete benefit there is (backslashes in filenames aside) to the end user to restricting them to only being able to obtain the dirname of paths to when they're running the binary on a platform that could use that path.

I guess #825 is actually the correct behaviour in that even while / is not really an absolute path on windows, / is still the correct output for dirname /. Stil hoping someone who actually uses/knows windows chimes in.

I was thinking the same way


:bug: switch key_indicators from datautils.geo to data_helpers.geo

Key indicators were still using from owid.datautils import geo instead of from etl.data_helpers import geo which caused problems for nightly build. Fix this dependency by passing population directly.
@pabloarosado is this the right time to remove geo module from datautils package? Or do we want to keep it there for some reason?

Yes, if we are not using geo anywhere, we could finally get rid of that module in datautils. Lucas suggested creating a future warning, and on next version getting rid of it. But I suppose (given that it's an unofficial version) you can simply bump to a new version without geo module in it.
Thanks a lot for doing this!


Optimisation updates

Note: I wrote these changes on my Elementary OS laptop. I have checked them using my own, flawed, tool for syntax errors and I think this should all work correctly, but maybe I have made an error somewhere.

I like a lot of this. If you have the time, could you make sure it all compiles and whatnot in GM:S2, and run the test suite (just run the project) and make sure its all passing? Also based on the answer to the var and perf question, I might have some more feedback.

Sorry this is later then expected. Those merge conflicts look like you can just keep yours and it will be fine, just some hashes that have changed.

Awesome. I'll pull this down and tidy it up / merge it

Thanks again. This is great stuff. Will release 2.0.1 soon as an optimization patch.

Cool stuff! Is there any functionality you would like to add by the way? I would be down for some extra work.

Yeah definitely. I've made a github project to compile ideas. You should also feel free to open issues with ideas or things you'd otherwise like to see for discussion. Always feel free to make a PR or open an issue.
I'll add more to the project and create issues as I think of them as well.


Allow json and markdown reports in diff-quality

Resolves #53

Because diff-cover already supports json reports and a markdown report was already existing (but not used), this is basically just putting things together.

Lol, nice
Love how the pieces were all there.

This is released! Thanks again https://pypi.org/project/diff-cover/6.2.0/


License is missing information

https://github.com/kumina/phpfpm_exporter/blob/514c36ba2e322e4595a8ad754f78791bff435560/LICENSE#L189

That doesn't need to be filled in, right? That's merely an appendix of the license explaining how license information can be added to source files. That's also what it looks like in the Prometheus repo:
https://github.com/prometheus/prometheus/blob/master/LICENSE#L189

Indeed. I skim through the file quickly and didn't pay enough attention.


is there anyway to import in main.ts or app.config.ts file ?

importProvidersFrom(AngularSvgIconModule.forRoot(),)
provideHttpClient(withInterceptorsFromDi()),
  this is works fine when i reinstall the latest on npm

@tolgatopkara Are you still having a problem, or can this issue be closed?

it can be closed, its not throwing any error when i upgrade the latest