Added security filters and code style improvements matching Chamilo's conventions

Hi all reviewers. I have added versions to the changelog (1.1.0 for additional features and 1.1.1 for security fix). I know I'm not the one to set versions, but I'm trying to document better the changes for the final users. Hopefully you don't mind (you would need to create tags for a 1.1.1 once this PR is accepted, though, to maintain the consistency - we can still change the changelog later on if you do not agree).

Revision 9da9fba3a22f23 is what is going into Chamilo 1.11.16, in any case (we're packaging tonight so I must push this a bit faster, sorry about that).


Grammatical errors in readme.md file

There are a few errors which crept into in the documentation

You want must be changed to "Do you want".

'Have a fun' must be "Have fun"

Please assign me the issue @sk66641


Is duckdb out-of-core processing properly enabled?

I just saw the great talk on Dask DataFrames 2.0 at PyData Berlin! I was a bit surprised that duckdb timed out for some of the queries. According to https://duckdb.org/docs/guides/performance/how_to_tune_workloads#larger-than-memory-workloads-out-of-core-processing, if you are not connected to a persistent duckdb database file, which I think is not the case based on the code in https://github.com/coiled/benchmarks/blob/63ca3c20cfd6c8352eebf880211e41a85793be32/tests/tpch/test_duckdb.py, you'd need to set a temporary directory so that duckdb can spill over to disk.
I'm not 100% if this is not set already somewhere else as I didn't dig through all the testing related code but thought you might want to know.
Related issues are #1488, #1214, and #1194.

@binste: Thanks for creating this issue. It looks like we have indeed missed this and there's no directory available to DuckDB for storing its data. I've created a PR that sets the appropriate config value and will investigate the impact this has on the performance/scalability of DuckDB.


Is there a way to hot reload certificate with SecureServerSocket?

When the certificate is expired or close to expire, I generate a new certificate with exactly the same path. My desired behaviour is that yet established connections continue to work and new connections use the new certificate.
I tested it and it is still being used the previous certificate version.
Thank you

I suspect no, and that you'd have to restart the server itself.
cc @brianquinlan

Hey @busslina,
I suspect that you will have to restart your server.
If you are using a SecurityContext to set your certificates then you could try to load them again but I don't think that that will actually work.

And is it feasible to implement my own custom server on top of SecureServerSocket in order to check SSL changes before every incoming connection?
I'm only interested in Linux at this moment.

@brianquinlan The idea is to check if SSL files are changed before every incoming requets, by checking its last update timestamp. Also, I am using SecurityContext. I just wonder if extending SecureServerSocket would be diffiicult.
Also, this hot reload feature could be a future objective of Dart SDK (if you consider positive).
Thanks

Is there anything more to be done on this issue? I am going to close it as 'works as intended'.

Is there anything more to be done on this issue? I am going to close it as 'works as intended'.

I have another question. A SecureSocket can check the certificate content on onBadCertificate. Is there a way to check the client certificate inSecureServerSocket on success or bad certificate. I think Dart Api should allow to see both sides certificates on success and on error.

No, there is no way to

Is there anything more to be done on this issue? I am going to close it as 'works as intended'.

I have another question. A SecureSocket can check the certificate content on onBadCertificate. Is there a way to check the client certificate inSecureServerSocket on success or bad certificate. I think Dart Api should allow to see both sides certificates on success and on error.

Can you simulate the behavior that you want by setting an empty SecurityContext?

@brianquinlan
When I say "to check" certificates I mean to be able to read/decode the other side certificate that is being used. I don't want to accept/deny by myself a certificate, just read it's information (subject, country, ...)


Setup Tenant History Router - Get Tenant History

Description
Tenant History Router - Get Tenant History & Add Tenant History
Type of change

New feature (non-breaking change which adds functionality)

Change Status

[ ] Complete, tested, ready to review and merge
[x] Complete, but not tested (may need new tests)

How Has This Been Tested?

[ ] Jest and SuperTest -- some testing is complete need to add more

Checklist

My code follows the style guidelines of this project
I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] There are no merge conflicts

Is this one ready to be merged? I forgot to ask you last night. Or is this still a WIP?

Currently trying to add tests.


Can't use the upgrade.sh

Description
when i use the upgrade.sh
./upgrade.sh -v 1.20.3
Gitea is running. Continuing with rest of script...
Checking currently installed version...
git is not in the sudoers file.  This incident will be reported.

Gitea Version
1.20.2
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots

Git Version
2.33.2
Operating System
centos7
How are you running Gitea?
I use the  systemd to running.
but i can't upgrade
Database
MySQL/MariaDB

As I understand your user is not eligible to run commands, because it is not configured in sudoers file. If you allow your user to do anything, or run git command, it may continue.

ok,thanks;
i used root is running good.

ok,thanks;
i used root is running good.

ok,thanks;
i used root is running good.


Bugfix: Optimize quiz footer

Checklist

[x] I tested all changes and all related features with different users (student, tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.
[x] Client: I added multiple screenshots/screencasts of my UI changes

Motivation and Context
This PR should fix the issue that is mentioned in https://github.com/ls1intum/Artemis/issues/749
Steps for Testing

Create a quiz exercise with at least 7 questions
Start or preview exercise and view quiz footer

Screenshots

Looks good for desktop, but not very nice on mobile.
Can we optimize the footer that it always fits into max. 3 lines?
No matter how small the display is, which mode is used and which language is used?

Looks good for desktop, but not very nice on mobile.
Can we optimize the footer that it always fits into max. 3 lines?
No matter how small the display is, which mode is used and which language is used?

Hi @krusche, I adapted the footer so that at most 3 lines are shown. If the text or the icons should exceed 3 lines, then the overflowing content would be scrollable.

@lovaiible look better but please remove the scrollbar. I don’t consider this as good practice on mobile devices. Either we make the text shorter or the font smaller in this case.
Remaining time could be time left
And seconds could just be sec here
Or we say “saved a moment ago” or we just say saved. I don’t know if we even need to tell the user when the last save was made
What do you think?

@ungaralex  @krusche thank you for the review! I have applied the feedback accordingly.
On the mobile device I have removed the saved hint completely. I think if we remove the time, when the last change was saved, but keep the saved label, it would be confusing. So only the submit label will be displayed. I have also changed the labels for remaining time to time left to save some space. I hope this approach is ok @krusche

Hmm, I don’t understand why?!? I think it is still valuable information, in particular if the save failed for some reason. The time when the save happened is however not important. I think we should display the 3 states „saved“, „saving...“ or „save failed“ on mobile devices (or a similar short formulation).
So please add this info again on mobile devices. This is particularly helpful if someone has a bad internet connection or if the internet connection changes on the mobile device!

Hi @krusche, I have added the label again (without the timestamp) and now it shows
saving answers... when it's currently saving, saved when everything is saved and I have kept the old logic that the hint unsaved changes is displayed next to the connection status.

@maxr96 @ungaralex Thanks for your review! I implemented your suggestions. Could you please have a look and approve this PR?


Wagl md only

Also, we don't want the .swm, .swn, .swo, .swp binary files as part of the repository.


Add documentation describing why to use hANCESTRO vs NCIT

It seems hANCESTRO overlaps a lot with the branch of another ontology in OBO, NCIT:
https://www.ebi.ac.uk/ols/ontologies/ncit/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FNCIT_C17049

[aside: I think the name of the root class in NCIT is problematic, see https://github.com/NCI-Thesaurus/thesaurus-obo-edition/issues/60]
I think we should at least have mappings between the two (I can help with this).
But I think it would be useful to have more background documentation on the hancestro page: http://obofoundry.org/ontology/hancestro - what are the relevant advantages of one over the other? Is hANCESTOR only intended for GWAS? Why?
This might help other communities trying to find a vocabulary to use for concepts such as ethnicity: https://github.com/GenomicsStandardsConsortium/mixs/issues/59
It looks like the 2018 paper does not mention
https://genomebiology.biomedcentral.com/articles/10.1186/s13059-018-1396-2

There is also ethnic group in NCIT: https://www.ebi.ac.uk/ols/ontologies/ncit/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FNCIT_C16564

Documentation now available in new FAQ section

Documentation now available in new FAQ section


Oled and buttons now working.

@rdridder please, help, I still get this
E:\YandexDisk\arduino\AciduinoBox\src\uCtrl\module\sdcard\sdcard.hpp:46:9: error: 'File' does not name a type
   46 |         File _file; // for avr arduinos

I hope I haven't done something wrong with merging, but with the master branch code I get this error( Please, can you check if the code base and pull requests have the described fixes/improvements.

@copych The branches should be the same but you can also use my fork to check if that compiles. https://github.com/rdridder/AciduinoBox
Are you using the latest ESP32 core and the latest Arduino development environment ?


Yew example does not submit greeter form on Enter

This issue is a follow up to #331. Let's fix the yew example by removing the click event on the button, and using the form submit event as well like the rest of the updates in #331.

added in https://github.com/tauri-apps/create-tauri-app/commit/1a124095395d8dfa4b23f2f4d5585bc4d97bf8c9


Custom Pagination element

I'm currently using this directive to display a table which potentially may have many, many pages (my current sample data has 50 pages of table rows).
Is it possible to create a custom pagination element (eg condensing the page numbers, or using a select dropdown) that can control which rows are being displayed in the table?

This is already possible with this implementation. Check out the examples

Thanks, I missed the maxpages property in the config. Sorry to bother you.


Bubble Menu is cut off behind editor perimeter

Hi, I have trouble with the bubble menu. It is cut off behind editor perimeter. I saw #98 and I use element-tiptap v1.24.2 but the bubble menu is cut. The editor-menu-bubble component has a keepInBounds property and if I change keep-in-bounds on true in source element-tiptap the bubble menu won’t be cut. Can we add property keep-in-bounds or advise another solution? Thanks

I think this is related to #98

I saw such a problem, will fix it.

I remove the option keep-in-bounds: false in menu-bubble, and add menuBubbleOptions prop to config this.
This is a temporary fix, and I'll improve it with popper.js later.

:tada: This issue has been resolved in version 1.24.5 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


field name typo

The DeepLo papers.yml file has the field name "instituion" for each author. Raising an issue in case this was generated.

(Also, the abstracts were all t, not sure why)

These were both human errors :-(

The best kind!


Add gRPC support

Feature Request
Is your feature request related to a problem? Please describe:
For better communication performance, Pisanix should support gRPC.
Describe the feature you'd like:
Firstly, Pisa-Controller and Pisa-Proxy will support gRPC in the same pattern with current Http.
Then will consider xDS style protocol.
Describe alternatives you've considered:
n/a
Teachability, Documentation, Adoption, Migration Strategy:

n/a

Considering ECDS in xDS for better communication.


Side effect changes result of occurs_on?

Here is my debug session:
(byebug)  schedule.occurs_on?(time)
false
(byebug) p schedule.start_time
2015-01-01 00:00:00 -0500
2015-01-01 00:00:00 -0500
(byebug)  schedule.occurs_on?(time)
false
(byebug) p schedule.start_time.utc
2015-01-01 05:00:00 UTC
2015-01-01 05:00:00 UTC
(byebug)  schedule.occurs_on?(time)
true

Huh? I have no idea why schedule.start_time.utc changes the result. Does the call to .utc suddenly define what the time zone is?

Yes that's right... utc [mutates the original time]. If you use getgm it will [return a new time].

Thanks. Weird. Should have a !


Ambiguities Regarding Parameter Example Validation

As part of a spec validation related research, I have run into some confusions in the OpenAPI v3.0.3 specification document Parameter Object section, in particular the one shown below:

Let's assume that a parameter example is present next to a schema property.

The example SHOULD match the specified schema and encoding properties if present.

This indicates that the example is RECOMMENDED to be valid against the schema and encoding. By encoding I'm assuming it implies style, explode and allowReserved.

When example or examples are provided in conjunction with the schema object, the example MUST follow the prescribed serialization strategy for the parameter.

Here, we are told that it is MANDATORY for the example to be valid against the serialization strategies specified for the parameter. I'm assuming again that the serialization strategies implies a combination of schema + style + explode at the very least. At least, that is what I understood from the rest of the text in this section and examples.
The two statements are clearly clashing with each other as one is making something mandatory while the other is simply recommending things. I'm using this section for interpretation of the words SHOULD and MUST.
Is my understanding of things correct or have I missed something? Any clarity on this would be much appreciated.
Thank you.

See also this Slack thread which discusses whether examples should be shown pre or post-encoding.

As you can see in PR #3893, I dug into the history and it looks like SHOULD is correct.

PRs merged for 3.0.4 and 3.1.1!


Convolution Neural Networks

Hey DCP participants, good to see you here
This issue will helps readers in giving all the guidance that one needs to learn about Introduction to Convolution Neural Networks. Tutorial to Convolution Neural Networks and how it's applied using sample code.
"Project Title" should be the "Issue Title" mentioned here.
If you like to work on this issue, follow the given guidelines for code as well as for the README. You have to be as elaborative as possible. Make sure you also maintain the project structure provided. Just comment and get it assigned. Issues are alloted on FCFS basis.
The main intention of this repo is to educate beginners with all the concepts related to datascience so that they could feel confident to apply these things learnt in practical exposure.
Enjoy your open source journey ahead. 😎

Define You:

[x] Hacktoberfest2021 Participant
[ ] Contributor

Is your feature request related to a problem? Please describe.

I would like to contribute using dataset which I will upload.

Describe the solution you'd like...
Steps:

Import Dataset and Libraries
Train Test Split
Augmentation
Build Model
Visualize Model
Compile And Train Model
Visualize Efficiency on train data
Evaluate on test data
Save Model
Load Model
Test with single Image

Issue assigned to @avinash-218


python311Packages.pytedee-async: 0.2.11 -> 0.2.12

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.pytedee-async is: Module to interact with Tedee locks
meta.homepage for python311Packages.pytedee-async is: https://github.com/zweckj/pytedee_async
meta.changelog for python311Packages.pytedee-async is: https://github.com/zweckj/pytedee_async/releases/tag/v0.2.12
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.2.12 with grep in /nix/store/x011l66abx7mn0421cx22crh0p10b4zi-python3.11-pytedee-async-0.2.12
found 0.2.12 in filename of file in /nix/store/x011l66abx7mn0421cx22crh0p10b4zi-python3.11-pytedee-async-0.2.12

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
python311Packages.pytedee-async

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/x011l66abx7mn0421cx22crh0p10b4zi-python3.11-pytedee-async-0.2.12 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.pytedee-async https://github.com/r-ryantm/nixpkgs/archive/64e86afe8330bc64f9b7f3a428d72ca202b73b76.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/64e86afe8330bc64f9b7f3a428d72ca202b73b76#python311Packages.pytedee-async

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/x011l66abx7mn0421cx22crh0p10b4zi-python3.11-pytedee-async-0.2.12
ls -la /nix/store/x011l66abx7mn0421cx22crh0p10b4zi-python3.11-pytedee-async-0.2.12/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

python311Packages.pytedee-async

Maintainer pings
cc @fabaff for testing.

Result of nixpkgs-review pr 283792 run on x86_64-linux 1

2 packages built:

python311Packages.pytedee-async
python311Packages.pytedee-async.dist

Result of nixpkgs-review pr 283792 run on x86_64-linux 1

2 packages built:

python311Packages.pytedee-async
python311Packages.pytedee-async.dist


[WIP] Webhook Routing

Commit 1 Decoding Update
Old Decoding

Required an unnecessary DeepCopy() in wrangler.Request.DecodeObject
Required two unnecessary object cast in the generate objectv1 code
Required wrangler.Request which needed to be modified with an object template.

Update Decoding

Decodes the objects from the admission Request. Which removes the unneeded dependency on wrangler.Request.
Unmarshals objects directly into the desired object instead of runtime.Object

Notes
These changes don't have any explicit test files since only the generated code is changed. Though we can verify they work correctly by running unit tests for pkg/resources/clusterroletemplatebing
Commit 2 Patch update
Old patch

Required an unnecessary json.Marshal of the original object.
Could not guarantee that the object used in the patch was the same as the original object.

Update path
The patch code now takes in a [] byte that is sent with the original request. This guarantees that the correct patch will be generated and removes the need to unmarshal and then marshal the original object in the request object.
Notes
For more context, patching stores modification to an object in MutatingAdmissionWebhooks.
https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#response
Commit 3 Routing Update
Webhook Update:
The old Architecture for defining a new webhook handler had some drawbacks that get amplified as we start moving all validation and mutation to the webhook.
Old drawbacks
Routing could not handle multiple matches. (management.cattle.io group and clusters.management.cattle.io)
Routing could not handle object Equivalency apps == v1beta-extensions.
Routing could not distinguish a request from the URL since all requests sent to either /validation or /mutation
Webhhooks were all forced to use the same configuration. (e.g. sideEffects,  failPolicy, matchPolicy, mutationPolicy)
Configuration  Each handler was scattered throughout the repo and required working knowledge of the webhook to add a new handler
1. Define the Handler object.
2. Add the CRD to the rules.go
3. Create a new instance in validation.go
4. Create a new route for your webhook in validation.go
5. Add your new rule created in rules.go to a new or existing configuration in server.go
Updated Routing features
Route matching is handled by Kubernetes each handler has a unique endpoint.
Webhhooks  Can use a default webhook configuration and modify it to fit their specific needs.
Configuration is centralized to the creation of one object
1. Define the Handler object.
2. Add a new instance in handlers.go

I plan on adding an integration test to the webhook in a separate PR to confirm the behavior stays the same before and after these changes.

Rebased with integration tests from #151 that hits every endpoint and test for valid and invalid operations from the supported rules.

The latest push contains updates to function names.


Add env vars for AWS creds to launch config

These variables have already been added to the salt config.

Pinging @nathanleiby. This is a small change.

lgtm


(not run) ability to set icon on static data source (chat)

Pennylane builder would like to personalize the icon of the Custom data sources to make those more identifiable by the end user. Today, they have a Custom Data Source for the Help Center and are thinking about adding a CDS for accounting. Ideally, they would like to help the end user differentiate the one from the other more easily.

We're not yet tracking "product updates" in Github. I think the go-to place for now for that is the Notion roadmap?

(as your title says it, def not a "run" issue/request)


Version greater than repo is not displayed

I use some packages in testing repo without including testing repo to pacman.conf.
In this case, pacfinder shows versions of packages in non-testing repo.

I have a couple follow-up questions that may help to narrow down the cause.

Please describe how you installed the packages.
This sounds like a special case, so the specific steps for installing them may be important. I need to understand what state the pacman databases are in. I also may need to repeat your install process on my computer to test this.

Can you supply the pacman info about one of the packages?
I need to see what pacman thinks is going on. What is the output of the following commands:

pacman -Qs [package]
pacman -Qi [package]
pacman -Ss [package]

What is the version number installed, and what version number is Pacfinder showing you?
I'm trying to find out if pacman has different version numbers in the query output.

@stevenbenner

I downloaded package file from web site by clicking 'Download From Mirror' button and pacman -U it.
pacman -Qs booster says
local/booster 0.8-1  Fast and secure initramfs generator
pacman -Ss booster says
extra/booster 0.7-3 [installed: 0.8-1]  Fast and secure initramfs generator and about other packages including word booster
pacman -Qi booster|grep Version says
Version         : 0.8-1
Full output are https://pastebin.com/qYYNaxtf
I installed booster 0.8-1.finder says booster 0.7-3 is installed explicitly from extra repo.

Thank you for the additional information. I think I know what is going on.
PacFinder uses the sync databases (i.e. "extra" in this case) as the source for the non-foreign package list, because the local database does not include dependency relationships for non-installed packages. So it knows that the "booster" package is installed, because it is found in the localdb, but it sources the package metadata (including version number) from the syncdb, because that's where the full dependency list is.
This may not be an easy issue to fix.
I'll take this issue as a bug investigation to-do item. I'm not sure if or when a fix will come for it, because this might take a lot of code to patch.

Notes to self

This issue probably applies to rolled-back/held-back (IgnorePkg) packages as well.
libalpm doesn't make some of the required structures available for instantiation outside of the library. So a fix may require creating new PacFinder-specific structures for alpm types.
This kind of complexity may be a small part of the reason why pacman is so adamant that "Partial upgrades are unsupported".

Option: Custom data getters
Maybe this can be resolved by making getter functions for package metadata that can detect this scenario and dynamically fix it when data is accessed. Perhaps also a smart getter for whole alpm_pkg_t. Though it may require building a custom package list for display.
The tricky part is dependency relationships. Perhaps I should create a getter that will detect a version difference and then build the dependency relationships up manually by merging the syncdb and localdb (syncdb will have known packages that depend on the local package, and localdb will know what the current version of the package depends on).
Option: Full internal package list, with custom getters
The syncdb/localdb differences may affect other scenarios. So it may be more forward compatible to just go ahead and maintain an internal list of packages in PacFinder, instead of simply relying on the lists provided by libalpm.
This could be a bit messy and could bloat the project with alpm->pacfinder translation code.
Option: Patch alpm to include syncdb dependency relationships in localdb entries
If the localdb package data could include dependants from the sync databases then PacFinder could get away with using the localdb as the source of truth for all installed packages.
Though I suspect that the alpm maintainers wouldn't want to adopt the complexity, risk, and future maintenance of a patch like that just to make life a bit easier a small third party utility like PacFinder.


Make dependency injection for Objective-C transport

Allows the actual implementation of gRPC calls to be injected into the gRPC Objective-C stack.

without a more detailed description this is going to be hard to review.

Sorry I did not realize that the most recent commits triggered owner reviews. A more detailed description is in place.

@jtattermusch @nicolasnoble @vjpai - can I get an owner's approval to bazel/grpc_build_system.bzl? Thanks!

@rmstar - now CronetTests demonstrates how to add Cronet dependency while InteropTests does not carry Cronet dependency.

Known issues:
Basic Tests C/C++ MacOS - #19819
Basic Tests Node MacOS - #19966
Interop Cloud-to-Prod Tests - #19834
Merging.


[Feature] Separate Config File

Migrate all settings to their own config file. Currently, if a user removes XP and launches xaero, all their XP settings are wiped as xaero overwrites the config files.
Run a setting converter at Xaero setting load time to keep existing configs.
This would also be a good time to migrate to translation keys as the config file keys.

this was completed in 2.11 but forgot to close the issue


integrate JCK material staging into ant build process

download JCK materials from GIT repo if JCK_GIT_REPO was defined
fetch and rebase to update JCK materials if necessary
compile JCK natives if necessary
skip downloading if JCK material folder exists
fail compilation if no JCK_ROOT was defined

Issue:#335
Signed-off-by: Tianyu Zuo<EMAIL_ADDRESS>

PR tested locally, and won't affect current Jenkins jobs since no JCK_GIT_REPO was defined

reivewer: @llxia
reviewer: @smlambert
this pr is dependent on https://github.com/eclipse/openj9/pull/1534

If this merges can getJCK(){} be deleted form jenkinsfilebase? Also personally I would prefer use parameters ( or properties in ant) than environment variables.

@sophia-guo any pros and cons for env variables vs properties in ant?

Because we merged partial change in OpenJ9, JCK builds are blocked. Let's deliver the change and another PR can be created if we decide to use properties instead of env variables.


Add option to keep RPATH in installed binaries for local installs.

Useful if you don't want to install to /usr/bin or similar, so that you don't have to maintain (DY)LD_LIBRARY_PATH.  Not recommended to do this on system installs, so the default is off.  I also marked it as advanced.

Thank you for your contribution, I had a look at the RPATH behaviour of cmake. But what is wrong with installing to DESTDIR and adding it to PATH?

PATH doesn't resolve the dynamic libraries though, you can always call binaries relatively like ./myinstall/bin/st-util, but you cannot do the equivalent for library paths without setting LD_LIBRARY_PATH.

I found a simpler approach for my use case, just leave the binaries where they are in CMake's build dir, and make a couple one-time symlinks to somewhere I'd like to call them from.  That way they still have RPATH set. Simplest is best :)

I must have forgotten to mention I use it this way, but my thought was you tried it and where not satisfied with this solution. I think we should document this as probably other people will use it in the same way.
Thank you for your comment, I have created issue #497 so it needs to land somewhere in the documentation when installing from source.


configure does not check for STRDUP

configure does not check for HAVE_STRDUP which makes compilation fail.
Environment Information

Feel free to skip this if the issue is related to documentation, a feature request, or general discussion.

What platform are you using? (please provide specific distribution/version in summary)

[x] Linux
[ ] Windows
[ ] OSX
[ ] Other
[ ] NA

32 and/or 64 bit?

[ ] 32-bit
[x] 64-bit

What build system are you using?

[x] autotools (configure)
[ ] cmake

Summary of Issue
Configure script does not check for STRDUP.
Steps to reproduce the behavior
I used GCC 9.1.0 and compiled with configure (tried both serial and parallel), both fail.
I guess --enable-netcdf-4 is required. But.
In file included from /usr/include/string.h:630,
                 from ../../libdispatch/nctime.c:23:
../../include/ncconfigure.h:29:14: error: expected identifier or '(' before '__extension__'
   29 | extern char* strdup(const char*);
      |              ^~~~~~

It is pretty clear that cmake checks for the strdup command, while configure does not.

Thanks, we’ll get this addressed!

configure.ac has an AC_CHECK_FUNCS for strdup (about line 823),
so I am not sure what is going on here.

Thanks!
@DennisHeimbigner I can see now that indeed it does (I only grepped for HAVE_STRDUP which obviously didn' find this...).
I have just tested this with 4.6.3 and 4.7.0, it only happens in 4.7.0...
If you need anymore details, let me know!

The reason that declaration is in ncconfigure.h is because it is needed
when -ansi is specified to the compiler.
But there is something odd in nccconfigure.h.
I see this:
#ifndef HAVE_STRDUP
extern char* strdup(const char*);
#endif

but later on, I see this:
/*Warning: Cygwin with -ansi does not define these functions
  in its headers.*/
#ifndef _WIN32
#if __STDC__ == 1 /*supposed to be same as -ansi flag */
#ifndef strdup
extern char* strdup(const char*);
#endif
 ...

I have no idea what #ifndef strcat does; is it assuming strcat is a macro?

Agreed, in git blame it seems it entered around december 2018, so it could be the culprit.
The fix is easy for me. I simply added -DHAVE_STRDUP to my CFLAGS and it worked...

The base problem is that for gcc, if you specify -ansi, then the headers
do not define strdup, but it turns out that the gcc library in fact defines strdup
anyway. This is why all we need to do is add our own extern strdup decl.
Similar for some other functions.

Well since I probably caused the problem, I might as well try to fix it and
take credit for it :-)

As a test of my fix, I am attaching a modified copy of netcdf-c/include/ncconfigure.h.
Can you try it and see if it fixes your problem?
ncconfigure.zip

@DennisHeimbigner sadly I get the same error:
I here show the full line for compilation for your convenience:
libtool: compile:  mpicc -DHAVE_CONFIG_H -I. -I../../libdispatch -I.. -I../../include -I../../oc2 -I/opt/generic/build-tools/1.0/include -I/opt/generic/gcc/9.1.0/include -I/opt/generic/gcc/9.1.0/include -I/opt/gnu/9.1.0/zlib/1.2.11/include -I/opt/generic/numactl/2.0.12/include -I/opt/gnu/9.1.0/libxml2/2.9.9/include -I/opt/gnu/9.1.0/hwloc/2.0.3/include -I/opt/gnu/9.1.0/ucx/1.5.1/include -I/opt/gnu/9.1.0/openmpi/4.0.1/include -I/opt/gnu/9.1.0/szip/2.1.1/include -I/opt/gnu/9.1.0/hdf5/1.10.5/include -I/opt/gnu/9.1.0/pnetcdf/1.11.2/include -m64 -fPIC -O3 -ftree-vectorize -fexpensive-optimizations -funroll-loops -fprefetch-loop-arrays -march=native -L/opt/generic/build-tools/1.0/lib -L/opt/generic/gcc/9.1.0/lib -L/opt/generic/gcc/9.1.0/lib64 -L/opt/generic/gcc/9.1.0/lib -L/opt/generic/gcc/9.1.0/lib64 -L/opt/gnu/9.1.0/zlib/1.2.11/lib -L/opt/generic/numactl/2.0.12/lib -L/opt/gnu/9.1.0/libxml2/2.9.9/lib -L/opt/gnu/9.1.0/hwloc/2.0.3/lib -L/opt/gnu/9.1.0/ucx/1.5.1/lib -L/opt/gnu/9.1.0/openmpi/4.0.1/lib -L/opt/gnu/9.1.0/szip/2.1.1/lib -L/opt/gnu/9.1.0/hdf5/1.10.5/lib -L/opt/gnu/9.1.0/pnetcdf/1.11.2/lib -Wl,-rpath=/opt/generic/build-tools/1.0/lib -Wl,-rpath=/opt/generic/gcc/9.1.0/lib -Wl,-rpath=/opt/generic/gcc/9.1.0/lib64 -Wl,-rpath=/opt/generic/gcc/9.1.0/lib -Wl,-rpath=/opt/generic/gcc/9.1.0/lib64 -Wl,-rpath=/opt/gnu/9.1.0/zlib/1.2.11/lib -Wl,-rpath=/opt/generic/numactl/2.0.12/lib -Wl,-rpath=/opt/gnu/9.1.0/libxml2/2.9.9/lib -Wl,-rpath=/opt/gnu/9.1.0/hwloc/2.0.3/lib -Wl,-rpath=/opt/gnu/9.1.0/ucx/1.5.1/lib -Wl,-rpath=/opt/gnu/9.1.0/openmpi/4.0.1/lib -Wl,-rpath=/opt/gnu/9.1.0/szip/2.1.1/lib -Wl,-rpath=/opt/gnu/9.1.0/hdf5/1.10.5/lib -Wl,-rpath=/opt/gnu/9.1.0/pnetcdf/1.11.2/lib -MT libdispatch_la-nctime.lo -MD -MP -MF .deps/libdispatch_la-nctime.Tpo -c ../../libdispatch/nctime.c  -fPIC -DPIC -o .libs/libdispatch_la-nctime.o
In file included from /usr/include/string.h:630,
                 from ../../libdispatch/nctime.c:23:
../../include/ncconfigure.h:41:14: error: expected identifier or '(' before '__extension__'
   41 | extern char* strdup(const char*);
      |              ^~~~~~

As an additional information my config.log has this:
configure:16022: checking for strdup
configure:16022: mpicc -o conftest -m64 -fPIC -O3 -ftree-vectorize -fexpensive-optimizations -funroll-loops -fprefetch-loop-arrays -march=native -L/opt/generic/build-tools/1.0/lib -L/opt/generic/gcc/9.1.0/lib -L/opt/generic/gcc/9.1.0/lib64 -L/opt/generic/gcc/9.1.0/lib -L/opt/generic/gcc/9.1.0/lib64 -L/opt/gnu/9.1.0/zlib/1.2.11/lib -L/opt/generic/numactl/2.0.12/lib -L/opt/gnu/9.1.0/libxml2/2.9.9/lib -L/opt/gnu/9.1.0/hwloc/2.0.3/lib -L/opt/gnu/9.1.0/ucx/1.5.1/lib -L/opt/gnu/9.1.0/openmpi/4.0.1/lib -L/opt/gnu/9.1.0/szip/2.1.1/lib -L/opt/gnu/9.1.0/hdf5/1.10.5/lib -L/opt/gnu/9.1.0/pnetcdf/1.11.2/lib -Wl,-rpath=/opt/generic/build-tools/1.0/lib -Wl,-rpath=/opt/generic/gcc/9.1.0/lib -Wl,-rpath=/opt/generic/gcc/9.1.0/lib64 -Wl,-rpath=/opt/generic/gcc/9.1.0/lib -Wl,-rpath=/opt/generic/gcc/9.1.0/lib64 -Wl,-rpath=/opt/gnu/9.1.0/zlib/1.2.11/lib -Wl,-rpath=/opt/generic/numactl/2.0.12/lib -Wl,-rpath=/opt/gnu/9.1.0/libxml2/2.9.9/lib -Wl,-rpath=/opt/gnu/9.1.0/hwloc/2.0.3/lib -Wl,-rpath=/opt/gnu/9.1.0/ucx/1.5.1/lib -Wl,-rpath=/opt/gnu/9.1.0/openmpi/4.0.1/lib -Wl,-rpath=/opt/gnu/9.1.0/szip/2.1.1/lib -Wl,-rpath=/opt/gnu/9.1.0/hdf5/1.10.5/lib -Wl,-rpath=/opt/gnu/9.1.0/pnetcdf/1.11.2/lib  -I/opt/generic/build-tools/1.0/include -I/opt/generic/gcc/9.1.0/include -I/opt/generic/gcc/9.1.0/include -I/opt/gnu/9.1.0/zlib/1.2.11/include -I/opt/generic/numactl/2.0.12/include -I/opt/gnu/9.1.0/libxml2/2.9.9/include -I/opt/gnu/9.1.0/hwloc/2.0.3/include -I/opt/gnu/9.1.0/ucx/1.5.1/include -I/opt/gnu/9.1.0/openmpi/4.0.1/include -I/opt/gnu/9.1.0/szip/2.1.1/include -I/opt/gnu/9.1.0/hdf5/1.10.5/include -I/opt/gnu/9.1.0/pnetcdf/1.11.2/include  -L/opt/generic/build-tools/1.0/lib -L/opt/generic/gcc/9.1.0/lib -L/opt/generic/gcc/9.1.0/lib64 -L/opt/generic/gcc/9.1.0/lib -L/opt/generic/gcc/9.1.0/lib64 -L/opt/gnu/9.1.0/zlib/1.2.11/lib -L/opt/generic/numactl/2.0.12/lib -L/opt/gnu/9.1.0/libxml2/2.9.9/lib -L/opt/gnu/9.1.0/hwloc/2.0.3/lib -L/opt/gnu/9.1.0/ucx/1.5.1/lib -L/opt/gnu/9.1.0/openmpi/4.0.1/lib -L/opt/gnu/9.1.0/szip/2.1.1/lib -L/opt/gnu/9.1.0/hdf5/1.10.5/lib -L/opt/gnu/9.1.0/pnetcdf/1.11.2/lib -Wl,-rpath=/opt/generic/build-tools/1.0/lib -Wl,-rpath=/opt/generic/gcc/9.1.0/lib -Wl,-rpath=/opt/generic/gcc/9.1.0/lib64 -Wl,-rpath=/opt/generic/gcc/9.1.0/lib -Wl,-rpath=/opt/generic/gcc/9.1.0/lib64 -Wl,-rpath=/opt/gnu/9.1.0/zlib/1.2.11/lib -Wl,-rpath=/opt/generic/numactl/2.0.12/lib -Wl,-rpath=/opt/gnu/9.1.0/libxml2/2.9.9/lib -Wl,-rpath=/opt/gnu/9.1.0/hwloc/2.0.3/lib -Wl,-rpath=/opt/gnu/9.1.0/ucx/1.5.1/lib -Wl,-rpath=/opt/gnu/9.1.0/openmpi/4.0.1/lib -Wl,-rpath=/opt/gnu/9.1.0/szip/2.1.1/lib -Wl,-rpath=/opt/gnu/9.1.0/hdf5/1.10.5/lib -Wl,-rpath=/opt/gnu/9.1.0/pnetcdf/1.11.2/lib conftest.c -lcurl  >&5
conftest.c:87:6: warning: conflicting types for built-in function 'strdup'; expected 'char *(const char *)' [-Wbuiltin-declaration-mismatch]
   87 | char strdup ();
      |      ^~~~~~

which seams to suggest some kind of mismatch?

That is very odd. This decl "char strdup ();" cannot possibly
be right; strdup returns char*.
I notice you are using mpi. Can you try rebuilding with parallelism turned off?
I am wondering if there are header files used by mpicc that are causing the problem.

In serial I get exactly the same error:
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../libdispatch -I.. -I../../include -I../../oc2 -I/opt/generic/build-tools/1.0/include -I/opt/generic/gcc/9.1.0/include -I/opt/generic/gcc/9.1.0/include -I/opt/gnu/9.1.0/zlib/1.2.11/include -I/opt/gnu/9.1.0/szip/2.1.1/include -I/opt/gnu/9.1.0/hdf5-serial/1.10.5/include -m64 -fPIC -O3 -ftree-vectorize -fexpensive-optimizations -funroll-loops -fprefetch-loop-arrays -march=native -L/opt/generic/build-tools/1.0/lib -L/opt/generic/gcc/9.1.0/lib -L/opt/generic/gcc/9.1.0/lib64 -L/opt/generic/gcc/9.1.0/lib -L/opt/generic/gcc/9.1.0/lib64 -L/opt/gnu/9.1.0/zlib/1.2.11/lib -L/opt/gnu/9.1.0/szip/2.1.1/lib -L/opt/gnu/9.1.0/hdf5-serial/1.10.5/lib -Wl,-rpath=/opt/generic/build-tools/1.0/lib -Wl,-rpath=/opt/generic/gcc/9.1.0/lib -Wl,-rpath=/opt/generic/gcc/9.1.0/lib64 -Wl,-rpath=/opt/generic/gcc/9.1.0/lib -Wl,-rpath=/opt/generic/gcc/9.1.0/lib64 -Wl,-rpath=/opt/gnu/9.1.0/zlib/1.2.11/lib -Wl,-rpath=/opt/gnu/9.1.0/szip/2.1.1/lib -Wl,-rpath=/opt/gnu/9.1.0/hdf5-serial/1.10.5/lib -MT libdispatch_la-nctime.lo -MD -MP -MF .deps/libdispatch_la-nctime.Tpo -c ../../libdispatch/nctime.c  -fPIC -DPIC -o .libs/libdispatch_la-nctime.o
In file included from /usr/include/string.h:630,
                 from ../../libdispatch/nctime.c:23:
../../include/ncconfigure.h:29:14: error: expected identifier or '(' before '__extension__'
   29 | extern char* strdup(const char*);
      |              ^~~~~~
make[2]: *** [Makefile:1049: libdispatch_la-nctime.lo] Error 1
make[2]: Leaving directory '/home/nicpa/installation/bash-build/.compile/netcdf-c-4.7.0/build-tmp/libdispatch'
make[1]: *** [Makefile:700: all-recursive] Error 1
make[1]: Leaving directory '/home/nicpa/installation/bash-build/.compile/netcdf-c-4.7.0/build-tmp'
make: *** [Makefile:545: all] Error 2

In serial I get exactly the same error (with your patch):
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../libdispatch -I.. -I../../include -I../../oc2 -I/opt/generic/build-tools/1.0/include -I/opt/generic/gcc/9.1.0/include -I/opt/generic/gcc/9.1.0/include -I/opt/gnu/9.1.0/zlib/1.2.11/include -I/opt/gnu/9.1.0/szip/2.1.1/include -I/opt/gnu/9.1.0/hdf5-serial/1.10.5/include -m64 -fPIC -O3 -ftree-vectorize -fexpensive-optimizations -funroll-loops -fprefetch-loop-arrays -march=native -L/opt/generic/build-tools/1.0/lib -L/opt/generic/gcc/9.1.0/lib -L/opt/generic/gcc/9.1.0/lib64 -L/opt/generic/gcc/9.1.0/lib -L/opt/generic/gcc/9.1.0/lib64 -L/opt/gnu/9.1.0/zlib/1.2.11/lib -L/opt/gnu/9.1.0/szip/2.1.1/lib -L/opt/gnu/9.1.0/hdf5-serial/1.10.5/lib -Wl,-rpath=/opt/generic/build-tools/1.0/lib -Wl,-rpath=/opt/generic/gcc/9.1.0/lib -Wl,-rpath=/opt/generic/gcc/9.1.0/lib64 -Wl,-rpath=/opt/generic/gcc/9.1.0/lib -Wl,-rpath=/opt/generic/gcc/9.1.0/lib64 -Wl,-rpath=/opt/gnu/9.1.0/zlib/1.2.11/lib -Wl,-rpath=/opt/gnu/9.1.0/szip/2.1.1/lib -Wl,-rpath=/opt/gnu/9.1.0/hdf5-serial/1.10.5/lib -MT libdispatch_la-nctime.lo -MD -MP -MF .deps/libdispatch_la-nctime.Tpo -c ../../libdispatch/nctime.c  -fPIC -DPIC -o .libs/libdispatch_la-nctime.o
In file included from /usr/include/string.h:630,
                 from ../../libdispatch/nctime.c:23:
../../include/ncconfigure.h:41:14: error: expected identifier or '(' before '__extension__'
   41 | extern char* strdup(const char*);
      |              ^~~~~~

Ok, for the compiler to see that, the two preceding #if tests must be true.
These tests are:

#ifndef _WIN32
#if STDC == 1 /*supposed to be same as -ansi flag */
Since this is linux, the first test is trivially true.
It is the second test that is the problem apparently. My claim that STDC == 1
is same as --ansi must be false, or you are setting STDC or --ansi, which I assume
you are not.
What linus are you running?
Also, is HAVE_STRDUP set in config.h?

As an experiment, you might try replacing the line:

#if __STDC__ == 1 /*supposed to be same as -ansi flag */
with
#if __STDC_VERSION__ == 199409L /*supposed to be same as -ansi flag */

This comes from looking at this page:
https://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html

In my config.h I have:
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1

OS: Linux nicpa-dtu 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux
Custom binutils and latest GCC version.

Ok, one more test: compile and run this program
and tell me its output.
#include <stdio.h>
#include <stdio.h>
int main()
{
#if __STDC__ == 1
printf("stdc ==1\n");
#else
printf("stdc != 1\n");
#endif
return 0;
}

I did this:
gcc -dM -E - < /dev/null | grep STDC
#define __STDC_HOSTED__ 1
#define __STDC_UTF_16__ 1
#define __STDC_IEC_559__ 1
#define __STDC_ISO_10646__ 201605L
#define __STDC_NO_THREADS__ 1
#define _STDC_PREDEF_H 1
#define __STDC_IEC_559_COMPLEX__ 1
#define __STDC_VERSION__ 201710L
#define __GNUC_STDC_INLINE__ 1
#define __STDC_UTF_32__ 1
#define __STDC__ 1

I'll compile now, and yes it yields: stdc ==1

ok, I guess that __STDC__==1 is not
the equivalent of -ansi (unless you are for some reason
setting that flag). I any case, it should still work. The errors
you are seeing imply that somehow the symbol "strdup"
is being defined by a macro. I have attached another version
of ncconfigure.h to try.
ncconfigure.zip

As noted previously it works with 4.6.X using the same procedure.

That one worked. Everything ran through. :)

ok, thanks. I must confess I cannot understand why functions like strdup
are being defined as macros, but oh well.

It is indeed weird...

I believe this issue can be closed.


Would be nice to be able to switch Adium profiles at launch

there is a way to open applications using the option-key? I want to switch my adium profile using something like this.
from a blog comment

wut?

Never fear, it makes sense to me :)
Dustin
On Nov 3, 2011, at 4:48 PM, David Jennes wrote:

wut?

Reply to this email directly or view it on GitHub:
https://github.com/dustinrue/ControlPlane/issues/68#issuecomment-2623672

Oh I get it, never used that shortcut though.
There's a bit of documentation on how to detect it on launch, but none afaik to do it programatically on launch. Applescript might be able to do it, but I'm unsure about it.

Allright, messed around a bit and this seems to work all right:
tell application "System Events"
	tell process "Adium"
		key down option
	end tell
end tell

tell application "Adium" to activate

tell application "System Events"
	tell process "Adium"
		key up option
	end tell
end tell


Error e2e command if no e2e results

Currently, if a user passes a tar which does
not have the e2e results at all, sonobuoy
e2e would report 0 failures which can be
very misleading.
If the file does not exist and is not inspected
then we error saying we couldn't find the file.
Fixes #623
Signed-off-by: John Schnake<EMAIL_ADDRESS>Release note:
"sonobuoy e2e" will now report an error when the archive does not contain e2e results.

@stevesloka rebased and I think I've addressed your comments appropriately. LGTY?


Update README.md

update link to contributing from readme

[x] Closes #2239
[x] I am familiar with the contributing guidelines
[ ] ~Tests added~
[ ] ~Updates entries in docs/sphinx/source/reference for API changes.~
[ ] Adds description and name entries in the appropriate "what's new" file in docs/sphinx/source/whatsnew for all changes. Includes link to the GitHub Issue with :issue:`num` or this Pull Request with :pull:`num`. Includes contributor name and/or GitHub username (link with :ghuser:`user`).
[ ] ~New code is fully documented. Includes numpydoc compliant docstrings, examples, and comments where necessary.~
[x] Pull request is nearly complete and ready for detailed review.
[ ] Maintainer: Appropriate GitHub Labels (including remote-data) and Milestone are assigned to the Pull Request and linked Issue.

That was fast! Let's not forget to include matsuobasho in the contributors list in the release PR.


Rendering errors while searching

Issue Type: Bug
Error reproduces while searching in a large text file. The error is not reliable and goes away after a few seconds even if I don't touch anything. I can only reproduce this in insiders.
If it helps, the file is https://github.com/Microsoft/TypeScript/blob/master/src/services/pathCompletions.ts .

VS Code version: Code - Insiders 1.22.0-insider (a918e7b3ef2feaf2c9fbf003e936084eaaf53f76, 2018-03-26T13:16:09.094Z)
OS version: Linux x64 4.4.0-21-generic

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz (8 x 2619)

Load (avg)
0, 1, 1

Memory (System)
7.64GB (1.03GB free)

Process Argv
/usr/share/code-insiders/code-insiders src

Screen Reader
no

VM
0%

Extensions: none
Reproduces without extensions

Looks like those are only flagged as duplicates because I filled them out using the issue reporter, thus the exact same system info is included. The issue bodies are separate.

@andy-ms Have you experienced this in the past too or is it a recent font rendering regression?
It might be caused by Electron 1.7.12 ... https://github.com/Microsoft/vscode/issues/35675#issuecomment-373614960

@andy-ms do you see this also in our new builds that leverage Electron 2.0.x? Download Link.

My computer broke yesterday after an update (unable to open applications, then after restarting, unable log in) and I had to reinstall Mint. Now I can't reproduce the error at all, so it was probably the OS's fault.


Feature Request on Implementation of Images or Icons as Axis Labels

Expected Behavior
I'm currently using the tick callback like so to print a regular index on the axis. Is there a way to use the tick callback to print custom images or map an index to a custom label? I feel like this would be a common use case for many types of charts.
For example, 0-5 happy scale for emoji icons.
ie.
0 - sad
1 - less sad
...
5 - happy
Current Behavior
Current usage to print a regular index.
             ticks: {
               beginAtZero: true,
               stepSize: 1,
               userCallback: function(value, index, values) {
                 return index;
               },
             },

I did not see a documented way to handle a similar problem within the documentation.
Possible Solution
Only similar solution or implementation of a workaround I found was this:
https://stackoverflow.com/questions/36979474/how-to-change-the-labels-to-the-image-icon-in-bar-chart-js?rq=1
Unless there's a magical way where I can redraw it part way through while the canvas is being built.
Context
I'm working on a project where I'm basically capturing How are you feeling? and need to work with custom emojis which have been provided to me, 0 for sad, 5 for happy along the Y axis.

Duplicate of #1554

I added an image to the left of the chart which has all my labels. I used MS Paint. see Image below (attached).

Can you post an example chart?

see fiddle
https://jsfiddle.net/afaik_seeker/28fqbpes/


How to perform some reactive actions on a non-reactive view/VM

Hi FilledStacks - I have a full screen GoogleMap widget in my app that is in a non-reactive view + Multiple Streams view model. I had to choose non-reactive because I am using compass + user location streams which would cause the map to continuously rebuild + flash / flicker any time my streams got data (all the time).
I have gotten around all of my non-reactive limitations by using reactive services to manage things like map markers, camera animations, etc, and that is all working great such that the elements within my map update reactively but the map widget itself does not rebuild.
Here is my issue - I need to resize the map widget programatically to do a split view, where on the tap of a FAB, the map widget animates from full screen to half screen, and a separate list view widget will fill this space.
I do not want to use a bottom sheet for this UI interaction - can anyone help me to understand how I would perform this animation smoothly without triggering rebuilds / flickering of the Map?
View:
import 'package:flutter/material.dart';
import 'package:stacked/stacked.dart';

import '../../../../../app/locator.dart';
import '../main_map/explore_viewmodel.dart';

class ExploreView extends StatelessWidget {
  ExploreView({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return ViewModelBuilder<ExploreViewModel>.nonReactive(
        viewModelBuilder: () => locator<ExploreViewModel>(),
        disposeViewModel: false,
        fireOnModelReadyOnce: true,
        onModelReady: (model) async {
          model.init();
        },
        builder: (context, model, child) {
          double height = MediaQuery.of(context).size.height;
          if (model.splitViewActive) height = height * 0.5;

          return Scaffold(
            appBar: AppBar(
              backgroundColor: Colors.transparent,
              elevation: 0.0,
              brightness: MediaQuery.platformBrightnessOf(context),
            ),
            key: GlobalKey<ScaffoldState>(),
            extendBodyBehindAppBar: true,
            body: AnimatedContainer( // split view, animated container, stack, not sure what this needs to be!
              duration: Duration(
                milliseconds: 500,
              ),
              height: height,
              child: FullScreenGoogleMap(), // this is a ViewModelWidget<ExploreViewModel>
            ),
            floatingActionButton: FloatingActionButton(
              backgroundColor: Theme.of(context).colorScheme.onSurface,
              foregroundColor: Theme.of(context).colorScheme.surface,
              mini: false,
              onPressed: () {
                model.setSplitViewActive(!model.splitViewActive);
              },
              tooltip: 'Show Details',
              child: Icon(Icons.details),
            ),
          );
        });
  }
}

There are 2 things i would consider doing.

Use a static child: This is the way that flutter does things usuallly. Most of the widgets that require a lot of rebuilds like a list view for instance has a property called child that you can construct once and it'll be provided to the builder function for you to use. ViewModelBuilder has a staticChild property where you can construct your map. And then make use of it in the builder (the last parameter).

Use a stream builder: Since a non reactive ViewModelBuilder is basically a stateless widget that has access to a viewmodel you can use built in state management methods from flutter. StreamBuilder works the best for this. Use a stream builder that returns your map at a certain size for a certain event. and a different size for a different event. You can then basically control it to your will based on adding values onto the stream in your viewmodel.

That first approach is fascinating, and could very well be the missing piece to the puzzle here - ill give it a shot and report back my results - thanks again good sir


ciao-vendor: Copy assembly language files

This commit updates ciao-vendor to copy assembly language files in
vendored packages if present.
Signed-off-by: Mark Ryan<EMAIL_ADDRESS>

Coverage increased (+0.005%) to 65.307% when pulling 88d1321a505bfcf383827a28ea9c7272ece4525f on markdryan:ciao-vendor-asm into 7f660611a2c30b5aae5b80522c19f6531b45e406 on ciao-project:master.


Revert "[ISV-5221] Add new step to inject and push SBOMs in build-ima…

…ge-index task."
This reverts commit 05cb6766a2d851b4473d1a4a7913eb8d3ff5e969.

Look for any open pull requests in the repository with the title "e2e-tests update" and
see if there are recent e2e-tests updates that will be applicable to your change.
reverting it because it is causing problems with results limit, since it added more steps

/retest

I would like stronger proof that the problem was the result limit. Have you tested with the affected user that this resolves the issue?

Probably no need to bother. The affected user was using an older version of the task, this change wasn't even included. We can probably close this.


Avoid divide by 0 on pie chart

Division of f64 by 0 yields NaN.
Special case when total is 0 to not divide.
Signed-off-by: Joe Grund<EMAIL_ADDRESS>

Codecov Report

Merging #1043 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1043   +/-   ##
=======================================
  Coverage   95.42%   95.42%
=======================================
  Files           2        2
  Lines         153      153
=======================================
  Hits          146      146
  Misses          7        7

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 546ec02...c9ac1a3. Read the comment docs.


Add yourself to the website

I'm submitting a ...

[x] feature request

Expected Behavior
All ARFC students should appear on the current people page: http://arfc.npre.illinois.edu/people/
Actual Behavior
New students don't appear yet!
Steps to Reproduce the Problem
Follow the instructions here: http://arfc.npre.illinois.edu/manual/guides/website
Once you make a Pull Request to this website, @katyhuff will review it and merge it into the website!
How can this issue be closed?
This issue can be closed when the assigned student appears on the current people page: http://arfc.npre.illinois.edu/people/

In the future, when you have completed an issue that is assigned to you, please close it.


Updates glbindings to 3.0.2

updates glbindings to 3.0.2

fixes example. The used function was removed from glbindings

I've followed this guide
step by step carefully. Yes

I've tested this package remotely and have excluded all broken builds.
Here is the links to the Travis/AppVeyor with status "All passed":

https://ci.appveyor.com/project/tnixeu/hunter/builds/19936728
https://travis-ci.org/tnixeu/hunter/builds/448729249

This update will break few old toolchains.
They are excluded in this pull request: https://github.com/ingenue/hunter/pull/285

Uploading:

https://ci.appveyor.com/project/ingenue/hunter/builds/19942765
https://travis-ci.org/ingenue/hunter/builds/448819028?utm_source=github_status&utm_medium=notification

Released: https://github.com/ruslo/hunter/releases/tag/v0.23.42


AssertionError: !(iszero(length(loopstartᵢ)))

Not sure if I'm doing something illegal here, but I get an assertion error from the following set of llops
using LoopVectorization

function avxbug(U = randn(2,2), E1 = randn(2))
    t = 1
    a = 1.0
    _s = 0.0
    k,n = size(U)
    @avx for j = 1:k
        for i = 1:n
            u = tanh(a * U[i,j])
            v = a * (1 - t * t)
            U[i,j] = u
            _s += v
        end
        E1[j] = _s / n
    end
end

avxbug()

julia> avxbug()
ERROR: AssertionError: !(iszero(length(loopstartᵢ)))
Stacktrace:
 [1] add_loop_start_stop_manager!(::LoopVectorization.LoopSet) at /home/fredrikb/.julia/packages/LoopVectorization/ii0y6/src/loopstartstopmanager.jl:163
 [2] lower_unrollspec(::LoopVectorization.LoopSet) at /home/fredrikb/.julia/packages/LoopVectorization/ii0y6/src/lowering.jl:662
 [3] lower(::LoopVectorization.LoopSet, ::Array{Symbol,1}, ::Symbol, ::Symbol, ::Symbol, ::Int64, ::Int64, ::Bool) at /home/fredrikb/.julia/packages/LoopVectorization/ii0y6/src/lowering.jl:673
 [4] lower_and_split_loops(::LoopVectorization.LoopSet, ::Int64) at /home/fredrikb/.julia/packages/LoopVectorization/ii0y6/src/split_loops.jl:121
 [5] lower_and_split_loops(::LoopVectorization.LoopSet, ::Int64) at /home/fredrikb/.julia/packages/LoopVectorization/ii0y6/src/split_loops.jl:106
 [6] avx_body(::LoopVectorization.LoopSet, ::Tuple{Int8,Int8,Int8,Int64}) at /home/fredrikb/.julia/packages/LoopVectorization/ii0y6/src/reconstruct_loopset.jl:455
 [7] #s134#86 at /home/fredrikb/.julia/packages/LoopVectorization/ii0y6/src/reconstruct_loopset.jl:499 [inlined]
 [8] #s134#86(::Any, ::Any, ::Any, ::Any, ::Any, ::Any, ::Any, ::Type{T} where T, ::Type{T} where T, ::Type{T} where T, ::Type{T} where T, ::Any, ::Any, ::Any) at ./none:0
 [9] (::Core.GeneratedFunctionStub)(::Any, ::Vararg{Any,N} where N) at ./boot.jl:527
 [10] avxbug(::Array{Float64,2}, ::Array{Float64,1}) at /home/fredrikb/arl/bird_clustering/ica.jl:41
 [11] avxbug() at /home/fredrikb/arl/bird_clustering/ica.jl:37
 [12] top-level scope at none:1

If I replace _s += v with _s += 1.0 I instead get
julia> avxbug()
ERROR: InexactError: trunc(Int64, Inf)
Stacktrace:
 [1] trunc at ./float.jl:703 [inlined]
 [2] round at ./float.jl:367 [inlined]
 [3] determine_unroll_factor(::LoopVectorization.LoopSet, ::Array{Symbol,1}, ::Symbol) at /home/fredrikb/.julia/packages/LoopVectorization/ii0y6/src/determinestrategy.jl:315
 [4] choose_order_cost at /home/fredrikb/.julia/packages/LoopVectorization/ii0y6/src/determinestrategy.jl:1047 [inlined]
 [5] lower_and_split_loops(::LoopVectorization.LoopSet, ::Int64) at /home/fredrikb/.julia/packages/LoopVectorization/ii0y6/src/split_loops.jl:100
 [6] lower_and_split_loops(::LoopVectorization.LoopSet, ::Int64) at /home/fredrikb/.julia/packages/LoopVectorization/ii0y6/src/split_loops.jl:106
 [7] avx_body(::LoopVectorization.LoopSet, ::Tuple{Int8,Int8,Int8,Int64}) at /home/fredrikb/.julia/packages/LoopVectorization/ii0y6/src/reconstruct_loopset.jl:455
 [8] #s134#86 at /home/fredrikb/.julia/packages/LoopVectorization/ii0y6/src/reconstruct_loopset.jl:499 [inlined]
 [9] #s134#86(::Any, ::Any, ::Any, ::Any, ::Any, ::Any, ::Any, ::Type{T} where T, ::Type{T} where T, ::Type{T} where T, ::Type{T} where T, ::Any, ::Any, ::Any) at ./none:0
 [10] (::Core.GeneratedFunctionStub)(::Any, ::Vararg{Any,N} where N) at ./boot.jl:527
 [11] avxbug(::Array{Float64,2}, ::Array{Float64,1}) at /home/fredrikb/arl/bird_clustering/ica.jl:40
 [12] avxbug() at /home/fredrikb/arl/bird_clustering/ica.jl:36
 [13] top-level scope at none:1

It ran into problems because of the expression v = a * (1 - t * t). Neither a and t depend on any of the loops. This should have already worked on that commit:
function avxnobug(U = randn(2,2), E1 = randn(2))
    t = 1
    a = 1.0
    _s = 0.0
    k,n = size(U)
    @avx for j = 1:k
        for i = 1:n
            u = tanh(a * U[i,j])
            U[i,j] = u
        end
        _s = a * (1 - t * t) * n
        E1[j] = _s / n
    end
    U, E1
end
function nobug(U = randn(2,2), E1 = randn(2))
    t = 1
    a = 1.0
    _s = 0.0
    k,n = size(U)
    for j = 1:k
        for i = 1:n
            u = tanh(a * U[i,j])
            v = a * (1 - t * t)
            U[i,j] = u
            _s += v
        end
        E1[j] = _s / n
    end
    U, E1
end
U = randn(2,2); E1 = randn(2);
avxnobug(copy(U), copy(E1))
nobug(copy(U), copy(E1))

yielding
julia> U = randn(2,2); E1 = randn(2);

julia> avxnobug(copy(U), copy(E1))
([0.24030644201158394 0.8361737654653512; 0.6322427919588169 0.9160705807364357], [0.0, 0.0])

julia> nobug(copy(U), copy(E1))
([0.2403064420115839 0.8361737654653512; 0.632242791958817 0.9160705807364357], [0.0, 0.0])

Maybe I should handle this eventually by having it recognize summing a constant n times and replace it with multiplying by n.
But that's no reason for it not to work now, so I fixed it and added it to the tests.
The specific error you saw was because it was evaluating a loopnests where one of the loops was not actually used for anything, (i.e., for i in ... with i not being used anywhere). That came about because: U[i,j] is indexed most efficiently along i and E1[j] along j, meaning it decided to split these up into separate loops. The loop loading from and filling U[i,j] of course used both i and j, but the loop filling E1 did not use i. Normally, this would have meant discarding the i loop altogether, but, because of the accumulation of _s in that loop, it couldn't discard that loop despite it not being used. Hence the reported error.
I don't know if this was the product of code-gen or a minimal broken example:
        for i = 1:n
            v = a * (1 - t * t)
            _s += v
        end

if the former, maybe you can get it to hoist the repeated sum out of the loop (for the performance improvement)?
If not, feel free to file another issue, and I can eventually work on that optimization.
If the latter, hopefully this fixes the more complicated issue as well. I suspect this fix isn't too robust -- I just changed a couple places to make it return a 0 instead instead of throwing errors when there were no arrays (and confirmed that it started producing the correct answer for this problem). It's likely to do things like placing code at the wrong level in a loop nest.

Thanks for the fix :)
I checkout out LV#master to try but now I got another error (maybe master branch is not expected to work without master branch on one of the other related packages?):
function update_UE!(U::AbstractMatrix{T} = randn(10,10), E1::AbstractVector{T} = randn(10)) where T
    n,k = size(U)
    _s = zero(T)
    a = 1.0
    @avx for j = 1:k
        for i = 1:n
            t = tanh(a * U[i,j])
            U[i,j] = t
            _s += a * (1 - t^2)
        end
        E1[j] = _s / n
    end
    U,E1
end

update_UE!()

signal (11): Segmentation fault
in expression starting at none:0
jl_gc_pool_alloc at /home/fredrikb/julia/src/gc.c:1148
jl_gc_alloc_ at /home/fredrikb/julia/src/julia_internal.h:277 [inlined]
jl_gc_alloc at /home/fredrikb/julia/src/gc.c:3149
_new_array_ at /home/fredrikb/julia/src/array.c:94 [inlined]
_new_array at /home/fredrikb/julia/src/array.c:162 [inlined]
jl_alloc_array_1d at /home/fredrikb/julia/src/array.c:433
jl_uncompress_ir at /home/fredrikb/julia/src/dump.c:2689
retrieve_code_info at ./compiler/utilities.jl:110 [inlined]
InferenceState at ./compiler/inferencestate.jl:118
typeinf_ext at ./compiler/typeinfer.jl:568
typeinf_ext at ./compiler/typeinfer.jl:601
jfptr_typeinf_ext_21235 at /home/fredrikb/sys (unknown line)
jl_apply at /home/fredrikb/julia/src/julia.h:1690 [inlined]
jl_type_infer at /home/fredrikb/julia/src/gf.c:296
jl_generate_fptr at /home/fredrikb/julia/src/jitlayers.cpp:290
jl_compile_method_internal at /home/fredrikb/julia/src/gf.c:1964
jl_compile_method_internal at /home/fredrikb/julia/src/gf.c:1931 [inlined]
_jl_invoke at /home/fredrikb/julia/src/gf.c:2224 [inlined]
jl_apply_generic at /home/fredrikb/julia/src/gf.c:2398
#208 at /home/fredrikb/.julia/packages/Atom/8MnXm/src/eval.jl:136
unknown function (ip: 0x7feb92be62fc)
jl_apply at /home/fredrikb/julia/src/julia.h:1690 [inlined]
do_apply at /home/fredrikb/julia/src/builtins.c:655
jl_f__apply_latest at /home/fredrikb/julia/src/builtins.c:705
#invokelatest#1 at ./essentials.jl:710 [inlined]
invokelatest at ./essentials.jl:709 [inlined]
macro expansion at /home/fredrikb/.julia/packages/Media/ItEPc/src/dynamic.jl:24 [inlined]
eval at /home/fredrikb/.julia/packages/Atom/8MnXm/src/eval.jl:113
unknown function (ip: 0x7feb92b4bf4a)
jl_apply at /home/fredrikb/julia/src/julia.h:1690 [inlined]
do_apply at /home/fredrikb/julia/src/builtins.c:655
jl_f__apply_latest at /home/fredrikb/julia/src/builtins.c:705
#invokelatest#1 at ./essentials.jl:710
jl_apply at /home/fredrikb/julia/src/julia.h:1690 [inlined]
do_apply at /home/fredrikb/julia/src/builtins.c:655
invokelatest at ./essentials.jl:709
jl_apply at /home/fredrikb/julia/src/julia.h:1690 [inlined]
do_apply at /home/fredrikb/julia/src/builtins.c:655
macro expansion at /home/fredrikb/.julia/packages/Atom/8MnXm/src/eval.jl:41 [inlined]
#188 at ./task.jl:356
unknown function (ip: 0x7feb92b0360c)
jl_apply at /home/fredrikb/julia/src/julia.h:1690 [inlined]
start_task at /home/fredrikb/julia/src/task.c:707
unknown function (ip: (nil))
Allocations: 34334643 (Pool: 34322673; Big: 11970); GC: 40

If I instead puth the @avx on the inner loop, it works, but becomes much slower
function update_UE!(U::AbstractMatrix{T} = randn(10,10), E1::AbstractVector{T} = randn(10)) where T
    n,k = size(U)
    _s = zero(T)
    a = 1.0
    for j = 1:k
        @avx for i = 1:n
            t = tanh(a * U[i,j])
            U[i,j] = t
            _s += a * (1 - t^2)
        end
        E1[j] = _s / n
    end
    U,E1
end

U = randn(100,100)
E1 = randn(100)
@btime update_UE!($U,$E1)

10.912 ms (0 allocations: 0 bytes) # With avx
238.923 μs (0 allocations: 0 bytes) # Without avx

I can reproduce the crash.

Is it perhaps emitting an instruction that is fast on your cpu but for my old cpu is becoming very slow? I've heard that this can happen for fma, but may happen for other instructions as well? I'm using an old i5 2500K

I found out what is causing the crash. I'll try and fix that soon.

I've heard that this can happen for fma

That was exactly the problem. This should be fixed on SLEEFPirates master, a new version will merge into the registry soon.
Please let me know if that helps.
I also added a SLEEFPirates.tanh_fast function which is much faster on my computer.

Sweet :) I can confirm that @avx makes it much faster on a modern CPU (Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz).

I've tried SLEEFPIrates#master but it does not appear to solve the problem on my slow CPU.
Using SLEEFPirates.tanh_fast on the fast cpu makes the function about twice as fast. Annotating the cal to tanh with @fastmath t = tanh(a * U[i,j]) produces an error:

julia> @btime update_UE!($U,$E1);
ERROR: UndefVarError: mul_fast not defined
Stacktrace:
 [1] update_UE!(::Array{Float64,2}, ::Array{Float64,1}) at ./REPL[13]:6
 [2] ##core#455(::Array{Float64,2}, ::Array{Float64,1}) at /home/fredrikb/.julia/packages/BenchmarkTools/eCEpo/src/execution.jl:371
 [3] ##sample#456(::BenchmarkTools.Parameters) at /home/fredrikb/.julia/packages/BenchmarkTools/eCEpo/src/execution.jl:377
 [4] _run(::BenchmarkTools.Benchmark{Symbol("##benchmark#454")}, ::BenchmarkTools.Parameters; verbose::Bool, pad::String, kwargs::Base.Iterators.Pairs{Symbol,Integer,NTuple{4,Symbol},NamedTuple{(:samples, :evals, :gctrial, :gcsample),Tuple{Int64,Int64,Bool,Bool}}}) at /home/fredrikb/.julia/packages/BenchmarkTools/eCEpo/src/execution.jl:405
 [5] (::Base.var"#inner#2"{Base.Iterators.Pairs{Symbol,Integer,NTuple{5,Symbol},NamedTuple{(:verbose, :samples, :evals, :gctrial, :gcsample),Tuple{Bool,Int64,Int64,Bool,Bool}}},typeof(BenchmarkTools._run),Tuple{BenchmarkTools.Benchmark{Symbol("##benchmark#454")},BenchmarkTools.Parameters}})() at ./essentials.jl:715
 [6] #invokelatest#1 at ./essentials.jl:716 [inlined]
 [7] #run_result#37 at /home/fredrikb/.julia/packages/BenchmarkTools/eCEpo/src/execution.jl:32 [inlined]
 [8] run(::BenchmarkTools.Benchmark{Symbol("##benchmark#454")}, ::BenchmarkTools.Parameters; progressid::Nothing, nleaves::Float64, ndone::Float64, kwargs::Base.Iterators.Pairs{Symbol,Integer,NTuple{5,Symbol},NamedTuple{(:verbose, :samples, :evals, :gctrial, :gcsample),Tuple{Bool,Int64,Int64,Bool,Bool}}}) at /home/fredrikb/.julia/packages/BenchmarkTools/eCEpo/src/execution.jl:94
 [9] #warmup#45 at /home/fredrikb/.julia/packages/BenchmarkTools/eCEpo/src/execution.jl:141 [inlined]
 [10] warmup(::BenchmarkTools.Benchmark{Symbol("##benchmark#454")}) at /home/fredrikb/.julia/packages/BenchmarkTools/eCEpo/src/execution.jl:141
 [11] top-level scope at /home/fredrikb/.julia/packages/BenchmarkTools/eCEpo/src/execution.jl:481

BTW, numbers like these are awesome :smiley:
# On the fast CPU
130.192 μs (1 allocation: 32 bytes) # Baseline
56.411 μs (1 allocation: 32 bytes)  # @avx
52.914 μs (1 allocation: 32 bytes)  # SLEEFPirates master
21.719 μs (1 allocation: 32 bytes)  # SLEEFPirates.tanh_fast

does not appear to solve the problem on my slow CPU.
Okay, checking:

julia> sx = LoopVectorization.SVec(ntuple(Val(4)) do i Core.VecElement(rand()) end)
SVec{4,Float64}<0.31614194386076955, 0.5547664156127883, 0.9335191574787935, 0.8287090853244645>

julia> @code_llvm debuginfo=:none tanh(sx)

I suspect the problem is:
  %res.i118 = ashr <4 x i64> %res.i188, <i64 1, i64 1, i64 1, i64 1>
  %res.i112 = shl <4 x i64> %res.i118, <i64 52, i64 52, i64 52, i64 52>
  %res.i108 = add <4 x i64> %res.i112, <i64<PHONE_NUMBER>800017408, i64<PHONE_NUMBER>800017408, i64<PHONE_NUMBER>800017408, i64<PHONE_NUMBER>800017408>
  %res.i102 = bitcast <4 x i64> %res.i108 to <4 x double>
  %res.i101 = fmul <4 x double> %res.i125, %res.i102
  %res.i100 = sub nsw <4 x i64> %res.i188, %res.i118
  %res.i99 = shl <4 x i64> %res.i100, <i64 52, i64 52, i64 52, i64 52>
  %res.i95 = add <4 x i64> %res.i99, <i64<PHONE_NUMBER>800017408, i64<PHONE_NUMBER>800017408, i64<PHONE_NUMBER>800017408, i64<PHONE_NUMBER>800017408>

You need AVX2 for SIMD integers.
Mind trying Julia nightly? With Base.libllvm_version ≥ v"9", it'll use a different version that probably won't really be faster on AVX2 CPUs, but it doesn't have the integer arithmetic. On master (but not on the latest release) I also replaced the @llvm.fma with @llvm.fmuladd, so it might give better performance on your old CPU.

Annotating the cal to tanh with @fastmath t = tanh(a * U[i,j]) produces an error

@fastmath isn't really supported at the moment (and SLEEFPirates.tanh_fast !== Base.FastMath.tanh_fast, although adding that overload may be a good idea), but it shouldn't take too much effort to have it speed up a few functions (like tanh) and not error on others (like multiplication).

BTW, numbers like these are awesome smiley

Thanks, SIMD special functions are such an easy and big win, it's a shame they're not more widely available/used.

Great stuff! On julia nightly and SLEEFPirates/LV # master I get for the slow CPU
# Float64
237.160 μs (0 allocations: 0 bytes) # baseline
131.666 μs (0 allocations: 0 bytes) # avx on inner loop
50.324 μs  (0 allocations: 0 bytes) # avx + tanh_fast

# Float32
166.900 μs (0 allocations: 0 bytes) # baseline
50.082 μs  (0 allocations: 0 bytes) # avx on inner loop
20.320 μs  (0 allocations: 0 bytes) # avx + tanh_fast

Huge improvement :)

Great!
tanh_fast should be the same across Julia versions on the same computer. The definition is simply:
@inline function tanh_fast(x)
    exp2x = exp(x + x)
    (exp2x - one(x)) / (exp2x + one(x))
end

Even though exp is accurate, tanh_fast will suffer from rounding error relative to tanh. But exp is very fast, especially on Linux (where it will try to a definition from GLIBC's mveclib.so), and should be the same across Julia versions.

Crash fixed and tested.

The splitintonoloop test doesn't work:
function splitintonoloop(U = randn(2,2), E1 = randn(2))
    t = 1
    a = 1.0
    _s = 0.0
    n, k = size(U)
    @avx for j = 1:k
        for i = 1:n
            u = tanh(a * U[i,j])
            v = a * (1 - t * t)
            U[i,j] = u
            _s += v
        end
        E1[j] = _s / n
    end
    U, E1
end

With t=1, 1-t^2=0 and the test didn't catch it was giving bogus answers.

Simpler example:
function splitintonoloop(E1, n)
    t = 0.5
    a = 1.0
    _s = 0.0
    k = length(E1);
    @avx for j = 1:k
        for i = 1:n
            v = a * (1 - t * t)
            _s += v
        end
        E1[j] = _s / n
    end
    E1
end

I fixed this on the vecunroll branch.
The diff there is currently at around +1100/-700, and it'll probably be a few more days before other tests pass and it's ready to merge.


Typography – Use prime and double prime symbols

Sorry, this is just some typographical nitpicking. 🤓
Coordinates should be displayed with the correct symbols (i.e. prime & double prime) instead of acute accents ´ and double quotation marks ".
c.f. https://en.wikipedia.org/wiki/Prime(symbol) and https://en.wikipedia.org/wiki/Geographic_coordinate_conversion_

TIL 🤓
Thanks for the contribution!


PDF cleanup: explain Agda records

Description
This addresses one item of #258.
Checklist

[X] Commit sequence broadly makes sense and commits have useful messages
[X] Code is formatted according to CONTRIBUTING.md
[X] Self-reviewed the diff

@WhatisRT I think this PR is good to go now.


👀 Spike - Investigate i18n Support in TinaCMS

cc: @jeffsee55 @wicksipedia @BrookJeynes
Description
Conduct a spike to investigate the potential for implementing internationalization (i18n) support in TinaCMS. This will involve researching existing discussions and proposed solutions within the TinaCMS community.
Acceptance Criteria

[ ] Review and summarize insights from the following discussions:

[ ] Discussion 4003
[ ] Discussion 4075 (This discussion aligns with my thoughts about an i18n implementation)

[ ] Identify the challenges and potential solutions for implementing i18n in TinaCMS.
[ ]  Document findings, including any technical or architectural considerations.
[ ]  Propose next steps or a proof of concept based on the research.

This would be a great addition and we could most probably use the findings to help support API documentation sites. Where they want different content depending on the API version


plateOutlineColor not showing

Has anyone run into the plateOutline not showing? - I tested this on ios

I cannot reproduce this issue in current master.


Support for fish shell

Support for the fish shell in the installation and after the setup is finished.
The commands that are provided to set everything up do not work in this shell.

Send me a Meet/Zoom invitation and I'll try to help.
Ross
Ross Scroggs
@.***

On Jun 7, 2024, at 2:35 AM, Max Vincent Goldgamer @.***> wrote:
Support for the fish shell in the installation and after the setup is finished.
The commands that are provided to set everything up do not work in this shell.
—
Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1691, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCTYL52KP2EF5XUC2BR5BLZGF5FNAVCNFSM6AAAAABI6KDCU2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGM2DAMBRGQ2DIMA.
You are receiving this because you are subscribed to this thread.

Few points here:

Even if fish is the default shell Bash should be present on the system so the installer command bash <(curl... should "just work" on these systems. Creating an installer script that can be properly interpreted by multiple shells (bash, zsh, fish, whatever) is out of scope here.
If GAM is able to detect fish is default shell for user we may be able to update the fish rc file (~/.fishrc ?) with commands to tell fish how to execute GAM.


Create a .yml file for the project

It would be nice if we use the same environment for different projects.
Not sure who else will be working with this, but I can create one and add information about the installation to the README.

Great idea! Please go ahead and create one that works for your tutorial, and then we'll keep it updated as more notebooks are added.


NullPointerException in TextInputPlugin.clearTextInputClient(TextInputPlugin.java:527)

crash report
E/MethodChannel#flutter/textinput: Failed to handle method call
    java.lang.NullPointerException: Attempt to invoke virtual method 'void io.flutter.plugin.editing.ListenableEditingState.removeEditingStateListener(io.flutter.plugin.editing.ListenableEditingState$EditingStateWatcher)' on a null object reference
        at io.flutter.plugin.editing.TextInputPlugin.clearTextInputClient(TextInputPlugin.java:527)
        at io.flutter.plugin.editing.TextInputPlugin$1.clearClient(TextInputPlugin.java:148)
        at io.flutter.embedding.engine.systemchannels.TextInputChannel$1.onMethodCall(TextInputChannel.java:114)
        at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
        at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
        at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:818)
        at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:335)
        at android.os.Looper.loop(Looper.java:183)
        at android.app.ActivityThread.main(ActivityThread.java:7664)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

flutter doctor -v
[√] Flutter (Channel stable, 2.2.3, on Microsoft Windows [Version 10.0.19042.1052], locale zh-CN)
    • Flutter version 2.2.3 at C:\Android\flutter
    • Framework revision f4abaa0735 (4 months ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Android\SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_SDK_ROOT = C:\Android\SDK
    • Java binary at: C:\Android\AndroidStudio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[!] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.2)
    • Visual Studio at c:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.11.31624.102
    • Windows 10 SDK version 10.0.19041.0
    X Visual Studio requires a reboot of your system to complete installation.

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[√] IntelliJ IDEA Ultimate Edition (version 2020.2)
    • IntelliJ at C:\Android\IntelliJIDEA
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart

[√] Connected device (4 available)
    • Pixel 4 (mobile)  • 9B071FFAZ00B4K • android-arm64  • Android 11 (API 30)
    • Windows (desktop) • windows        • windows-x64    • Microsoft Windows [Version 10.0.19042.1052]
    • Chrome (web)      • chrome         • web-javascript • Google Chrome 92.0.4515.159
    • Edge (web)        • edge           • web-javascript • Microsoft Edge 94.0.992.50

! Doctor found issues in 2 categories.

Hi @hello-soon, you appear to be on an older version of flutter.
Please upgrade to the latest version of flutter and see if you still experience this issue.
If you do, please provide a complete minimal reproducible code sample and output of flutter doctor -v.
Thank you

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.

PlatformException(error, Attempt to invoke virtual method 'void io.flutter.plugin.editing.ListenableEditingState.setEditingState(io.flutter.embedding.engine.systemchannels.TextInputChannel$TextEditState)' on a null object reference, null, java.lang.NullPointerException: Attempt to invoke virtual method 'void io.flutter.plugin.editing.ListenableEditingState.setEditingState(io.flutter.embedding.engine.systemchannels.TextInputChannel$TextEditState)' on a null object reference
at io.flutter.plugin.editing.TextInputPlugin.setTextInputEditingState(SourceFile:441)
at io.flutter.plugin.editing.TextInputPlugin$1.setEditingState(SourceFile:141)
at io.flutter.embedding.engine.systemchannels.TextInputChannel$1.onMethodCall(SourceFile:99)
at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(SourceFile:233)
at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(SourceFile:85)
at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(SourceFile:972)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:336)
at android.os.Looper.loop(Looper.java:174)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
)
#0      JSONMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:158)
#1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:306)
#2      _getZoneSpecification.. (package:bd_vessel/extension/errortrace/internal/error_trace_utils.dart:90)
#3      _rootRunUnary (dart:async/zone.dart:1362)
#4      _CustomZone.runUnary (dart:async/zone.dart:1265)
#5      _FutureListener.handleValue (dart:async/future_impl.dart:152)
#6      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:717)
#7      Future._propagateToListeners (dart:async/future_impl.dart:746)
#8      Future._completeWithValue (dart:async/future_impl.dart:552)
#9      Future._asyncCompleteWithValue. (dart:async/future_impl.dart:590)
#10     _getZoneSpecification.. (package:bd_vessel/extension/errortrace/internal/error_trace_utils.dart:83)
#11     _rootRun (dart:async/zone.dart:1354)
#12     _CustomZone.run (dart:async/zone.dart:1258)
#13     _CustomZone.runGuarded (dart:async/zone.dart:1162)
#14     _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1202)
#15     _microtaskLoop (dart:async/schedule_microtask.dart:40)
#16     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)

@hello-soon Maybe your app are reusing same flutter engine, and a new FlutterView?

https://github.com/flutter/engine/pull/30145 this can fix this issue.


FY23 data version 1, switch SDB/WOSB

Version 1 of FY23 data. Does not include most agency comments.
Swaps SDB and WOSB on tables and charts.

Will add into branches instead


Change time of effort syncing cron to every hour at 25th minute

Enhancement suggested by
@GauravGusain98
Problem that your solution is solving
In ColoredCow we use effort sheet where we track the hour we spent on a particular task. This helps us to calculate our productivity and is also used for billing the client.
We periodically migrate/update the data present in the effort sheet to the portal. For this, we use a Laravel command that refreshes the booked hours of team members from the effort sheet. This command runs every 4 hours i.e 4 am, 8 am, 12 pm .... 8 pm, 12 am
We also send the details of projects as show below at 10:30 PM on Google chat channel. So that the team member should be aware of their team progress.

As the cron refreshes at 4-hour interval therefore if a user has updated the effort after 8 PM then his updated data is not sent on the google channel message.
We need to update the effort data every hour at 25th minute so that the chance of non updated data to be sent on the channel can be minimized.
Contact person for help
@GauravGusain98

Action items
Basics Concept - 1 pointer:

[ ] Read about Models in Laravel. Share your understanding of why we use them in the task comment in your own language
[ ] Read about Views in Laravel. Share your understanding of why we use them in the task comment in your own language
[ ] Read about Routes in Laravel. Share your understanding of why we use them in the task comment in your own language
[ ] Read about Controller in Laravel. Share your understanding of why we use them in the task comment in your own language
[ ] Read about Services files in Laravel. Share your understanding of why we use them in the task comment in your own language
[ ] Read how we can print a value in Laravel using dd()
[ ] Try printing hello world using the dd function

Task Scheduling

[ ] Read about task scheduling in Laravel
[ ] Update time of task to every hour at 25th minute. Currenlty it is set to every 4 hour
[ ] Create PR and assign it for review


MCS-1140 - restrict open doors

Python API: https://github.com/NextCenturyCorporation/MCS/pull/519
ILE: https://github.com/NextCenturyCorporation/mcs-private/pull/147
If restrictOpenDoors is true, only allow one open door at a time (making sure to still allow other types of openable objects to be opened).

@kdrumm @rartiss55

We don't need this right now, and I'm not aware of this use case for any future tasks.
The use case for this feature is to force the agent to choose only one of multiple doors, so once one door is opened, the rest should be locked forever.

If we ever need to implement bullet 1, then visually differentiating "normal doors" and "doors that become locked" might be important, but I don't think it's needed now.
Visually indicating when a door that was unlocked becomes locked (like changing the color, or something) -- that's an interesting question. Maybe we should ask the psychs?

@kdrumm @rartiss55

We don't need this right now, and I'm not aware of this use case for any future tasks.
The use case for this feature is to force the agent to choose only one of multiple doors, so once one door is opened, the rest should be locked forever.

If we ever need to implement bullet 1, then visually differentiating "normal doors" and "doors that become locked" might be important, but I don't think it's needed now.
Visually indicating when a door that was unlocked becomes locked (like changing the color, or something) -- that's an interesting question. Maybe we should ask the psychs?

@ThomasSchellenbergNextCentury My point about 3 is if they train with scenes with multiple doors that aren't restricted and some that are restricted, when they get to these scenes, they won't know if they are restricted or not until its too late.  I think we either always restrict doors OR need some indication.
@rartiss55 I think we need a flag to handle question 2.

On second thought, maybe we don't care if they know or not.  They should be trying to solve the issue efficiently anyway and the restricts them makes it easier for us to determine if they are acting in common sense?  Thus we don't need to worry about question 3.

@kdrumm @ThomasSchellenbergNextCentury Thanks for the feedback -- sounded like my earlier assumption is incorrect, so I went ahead and changed the implementation so that all other doors lock after a successful "open" action using the locked property. We can change this later if needed.

Do we also want it so the opened door locks at an open position so the AI can't sit there and open and close the door?  Or would that be of any interested to the the pyschs if that happens.  If so that has scorecard functionality written all over it.

@brianpippin I think that'd be a neat thing to potentially track in the scorecard. Wouldn't be hard to implement something that checks if an opened door is "locked" before we try to close it, but conceptually I'm having a hard time with something being "open but locked" is all (but maybe that would be fine here).


Compiler: fix passing recursive alias to proc

Fixes #7567

Small side note but I think that was blocking an implementation of cons, car, cdr.  Could you do this in Crystal now?
https://gist.github.com/tenderlove/908d016b611726389d03b887d63c49ca
This is from a conversation on Twitter.
https://twitter.com/tenderlove/status/1011346534158368768

@wontruefree I don't think so. How's the Crystal implementation of that? What are the types of those lambda arguments?

There was a solution with boxing and unboxing but I don't think there was ever a solution with recursive types.

@asterite I was hoping something like this would work.
alias M = Proc(Int32, M?)
cons = ->(a: Int32, b : M) { ->(m: M?) { m ? m.call(a, b.not_nil!) : nil }}


Moving All internal Css from Landing.html to its css file

Describe the bug
Moving All internal Css from Landing.html to its css file(landing.css) and check if every thing is working properly or not

@vigneshshettyin kindly assign me this and review my PR for documentation


Add support for arraybuffer requests in browser

As stated in https://github.com/mzabriskie/axios/issues/20#issuecomment-71335775 responseText can not be read for arraybuffer requests.
Usage:
axios.get('/path/to/my.pdf', { responseType: 'arraybuffer' }).then(function(resp) {
  var myPdf = new Uint8Array(resp.data);
});

I'm waiting on a PR I made to karma-jasmine so that I can test this. I currently cannot test response, only responseText. The latest release for jasmine-ajax supports what is needed. As soon as I can get some testing in place I will release a new version including this PR.

Hi
Did this fix ever make it to release.
I am currently trying to set responseType to "arraybuffer" in code to be shared between node and browser. It works fine in node but not in browser.


Turn on [x] in copy pipeline to project in new project wizard

See chat, we should try to fix this with letting the wizard have one more step so the UI for the select pipeline is the only option so the UI is nicer as there is some refresh stuff that makes the other options not have default values.
[17:21:19]   jstrachan maybe we should default that [ ] copy jenkins pipleline into project
[17:21:30]   seems like everyone has to click [x] to enable that
[17:21:36]  <+jstrachan>    yeah!
[17:21:45]  <+jstrachan>    davsclaus its meant to be enabled in the forge command - its a bug in hawtio
[17:22:04]   darn then its 20x harder to fix ;)
[17:22:47]  <+jstrachan>    yeah!
[17:22:58]  <+jstrachan>    something to do with refresh getting confused
[17:23:23]   ah that with the pipeline widgets gets drawn a bit later
[17:23:24]  <+jstrachan>    maybe we split the UI - so one page is pick the pipeline, then the next page has the other things on it - that'll probably fix it
[17:23:28]  <+jstrachan>    yeah
[17:23:43]   ah yeah good idea, that can be done in the java forge command
[17:24:47]  <+jstrachan>    yeah - that should make the UI a bit nicer too (its hard to see other stuff as the pipelines take up a lot of screen)

Argh forge kinda sucks when breaking stuff into more steps and you want to share inputs among then. Its default CDI injection then dont work, and you need to manually setup all this - like we do in those camel wizards with editing endpoints in multiple dynamic steps.

I wish they had a @Step(1) @Step(2) or something you could just set on the options and then it figures out everything itself so its just 1 step class.

We are just always doing this, see #667


Added partial implementation of ROS2LaunchManager for launching ROS2 applications (fixes #377)

Don't forget to add an entry to the CHANGELOG :-)

This looks really good! Thanks for all of your hard work on this. There's a few small changes that we need to make, and then we go ahead and merge.

This looks great. Do you mind running pytest to make sure that we're not introducing any regressions? If that passes, I think that we're good to merge.


Feature: More support for PNLGRP

This PR will

add the IM directive (to import source from other members)
fix the comment configuration (after this, the line comment/uncomment function in VS Code will work correctly)
add remaining tags to panel group sources

Thanks!


Try to get Robolectric to work

As of now, RobolectricTranslator has been tried to be implemented with no success. I'll try my hand at it and see if I can get it to work.

I got to a point where it almost works, if just cannot find the AndroidManifest.xml file it needs to run. This feature is not essential. So may not implement this feature.

This will not be done, time is better spent refining the translator and testing it. Closing.


Charger switch no longer works

Version 3.19.3
The switch to turn charger on\off has disappeared.

Can we have some more information, are other parts missing as well? I'm currently on 3.13.3 and it's there and working.

I seem to have rectified it by uninstalling reinstalling