Edits to Makefile

Please add any edits to the scripts that will affect the makefile here!

I have decided to remove the figure from report but it will still get made by the EDA script. so no changes from script 2 so far.

script4 --> changed the classifiers table but that should not have any major impacts on the makefile
renamed script5 to diabetes_final_report.RMD

script 3--> eda2.py - if the training/test split is added to the data cleaning file then the input argument for the eda2.py script will change to:
python src/eda2.py --input="data/raw/dataset_diabetes/diabetic_data_training.csv;data/processed/[ADD NAME OF TRAINING DATE HERE]" --output=reports/figures

when we change the file name and output file name, we need to modify Makefile accordingly


Better trigger for when to start patching files

Based on PRs #44 and #46 I have made some changes that should make it so that it only starts patching files when all files are properly installed, including any potential additional helper binaries. It has been working well in my tests, but I thought so too when I merged my last changes and their were still some major issues then, hence this PR. Hopefully I can get some feedback before I start merging it again.

Oops didn't see this. Copying my questions here.

What's the benefit of elfpatching the MSFT-provided node vs replacing it with a NixOS-provided node? elfpatch seems less guaranteed to work, in comparison to using the node from nixpkgs, something we already know works on NixOS.
I see we switched to naming the trigger server.sh. Is that better than naming it node?

My thinking was that it would future proof it automatically. If they bump to Node.js version 18 or 19 or a custom build even, it would still just work (outside sudden new library dependencies).
Could you link me where in the code this is? I did have experiments were I tried patching server.sh, but I removed that code and I am not seeing any references to it anymore outside auto-fix-vscode-server.sh.

Trying to test this, I'm getting:

Could not fetch remote environment
Failed to connect to the remote extension host server (Error: WebSocket close with status code 1006)

Let me dig further and see what the issue is.

@libjared Thanks for checking. I can't reproduce that error. Just retried with: rm -r ~/.vscode-server/ && nixos-rebuild switch && systemctl --user restart auto-fix-vscode-server.service and then connecting to it, and I connects fine and I can open a terminal without issue, so I am very curious as to what is happening in your case.

@libjared Are you using WSL? See a lot of references to it in the context of that error, seems like restarting them fixes it.

@msteen I am using WSL2 and NixOS-WSL. I hope you didn't dig down this rabbit hole for my sake!
The issue is specific to NixOS-WSL and the WSL Remote Extension. When its connection method is wslExeProxy (the default), it uses wsl.exe to run /bin/sh directly. But there's almost nothing in the PATH, which has two consequences:
Problem A: uname is not in the PATH. So I symlink it to /bin/uname in a NixOS system.activationScript. (If I have the right technique, I'm not sure whether this fix should be upstreamed here, in WSL-Remote, or in NixOS-WSL.)
Problem B: Later, it runs our wrapped node. Because PATH is still barebones, our wrapper's shebang, /usr/bin/env, can't find bash, so crashes. Any objections to switching the wrapper to use #!/usr/bin/env sh? (One idea was to use nixpkgs's many helpers that ensures a good shebang, but unfortunately that's subject to nix store linkrot.)
Yes, using connection mode wsl2VMAddress is a workaround for both. 😛 But since wslExeProxy is the default, ideally it'd work out-of-the-box.

@libjared I have included your suggestions to now hopefully make it work out of the box with WSL, can you verify this is the case?

tell you what... if you are getting tired of this, you can merge the first known version working with SSH, leave a big note on the readme that says "WSL unsupported for now" and I'll come back to this later.

@libjared I will merge it for now, but if you could give me some instructions on how to reproduce your WSL setup so I can test it myself, that would be awesome, would make it much easier for me to verify it working.


v2.0 Tracking Issue

As mentioned in #262 request is deprecated. If we are replacing it with something else it's a breaking change and needs to be done as a major release, thus tracking towards v2.0.
An incomplete list of things to be done before v2.0

[ ] Replace deprecated request dependency, axios may be the best contender. fetch may not work as intended for the test suite but would otherwise be the clear winner.
[ ] Remove deprecated endpoints
[ ] Look into what to do with Proxies and TypeScript #221
[ ] Remove underscore function calls maps

Just my 2c... I loooovveeeee axios. I am not associated in any way with them -- I just think it's absolutely awesome.

any plans on supporting Deno?

any plans on supporting Deno?

I think you should create another issue if something isn't working with Deno. I've got no experience using it so I don't know what doesn't work and for what reasons. So I can't tell whether supporting Deno is easy, difficult, requires breaking changes, and so on

As mentioned in #262 request is deprecated. If we are replacing it with something else it's a breaking change and needs to be done as a major release, thus tracking towards v2.0.
An incomplete list of things to be done before v2.0

[ ]  Replace deprecated request dependency, axios may be the best contender. fetch may not work as intended for the test suite but would otherwise be the clear winner.
[ ]  Remove deprecated endpoints
[ ]  Look into what to do with Proxies and TypeScript Type error with async/await  #221
[ ]  Remove underscore function calls maps

@SpyTec

I think axios would be good for the purpose.

Also it's important to add the missing endpoints including the undocumented ones.

IMO proxies should be removed, .fetch() methods are what should be used to fetch content. I think the library API should follow this standard:
const subreddit = requester.getSubreddit("r/redditdev")
await subreddit.fetch()

Why? The first call won't fetch the subreddit, it will just provide a dummy version of the subreddit object, this will be useful when adding placeholders if you want to render it for example, since you can't actually use promises in this case. The second call will fetch the subreddit, then you can re-render it to display the fetched content instead of the placeholders. The same thing would apply for other use-cases.

OK!

Edit: So after some testing I found out that axios isn't the best choice, it's true that it has a simplified API, but it doesn't actually cover all features we need to handle everything internally.
The problem is: axios doesn't support "no-cors" mode, in fact it doesn't provide any option to set the request mode, and this would be a problem.
Why? I aim to support uploading media to Reddit, this opens the ability to submit images, videos, galleries and inline media for self-posts. Reddit stores media in Amazon AWS servers, to upload anything you should perform a POST request to the following domain: reddit-uploaded-media.s3-accelerate.amazonaws.com (See https://github.com/not-an-aardvark/snoowrap/issues/280#issuecomment-879916824), which is a thing you cannot do normally in browsers because you will face a CORS error. However it's still possible if you set the request mode to "no-cors", in this case you won't be able to access the response or the status code, but this is more than enough for the purpose.
We should use the Fetch API in browsers, and node-fetch for node, keep in mind this has pros and cons:
Pros:

Has everything we need.
Reducing the browser bundle size since we won't include any third party HTTP client.
Node fetch is the most light-weight HTTP client for node.

Cons:

More complicated API compared by axios but this wouldn't be an issue.
We may not support some legacy browsers.

@not-an-aardvark @SpyTec What do u think?

Edit 2: I will stick to axios!
Legacy browsers support is important, people may use this package to build web applications, some of them will target older browsers, in this case axios is what we should use, it extends XMLHttpRequest which is widely supported, the Fetch API is relatively new so we can't depend on it.
Also, using fetch won't reduce the dependencies size as I thought at the beginning, in order to set a request timeout we should use AbortController which we need to install separately, also fetch doesn't handle request params for us, we have to do it ourselves using url.searchParams which requires a polyfill to work on older browsers.
We're not limited to axios anyway, of course we can use the Fetch API along with it on browser for media uploading, we should do a check to see if it's available on the production environment first, we will omit that on node, and we will drop support for this upcoming feature on older browsers.

@iMrDJAi All good points, we will definitely be removing proxies as they just create more trouble than they're worth.
Adding undocumented endpoints is something I'm not too keen on since they're undocumented. I could see it happening if we make it clear it's undocumented by having method names like UNSAFE_getUndocumentedEndpoint() or similar.
As far as replacing requests goes, we should be respecting CORS while in a browser. Whatever solution we pick will not be affected by CORS while running in Node, it will only have an affect in the browser.
With supporting older browsers, this isn't a concern we should tackle as majority of browsers currently used (95%) support ES6. Market percentage is most likely higher for users of Reddit. Any developers who need to target older browsers can also use polyfills, which means we can target even newer ECMAScript features if need be.
Experimenting with fetch seems like the logical next step to experiment with, and to make that possible both client- and server-side something like cross-fetch could be used. Last time I tried however I did run into issues with the unit tests, but I don't remember what exactly nor can I find any issues where I documented it (whoops).
With AbortController, it is also something that 92% of all browsers currently in use support, people can polyfill these as well no problem if they wish to target older browsers

@SpyTec

All good points, we will definitely be removing proxies as they just create more trouble than they're worth.

Cool! Another thing should be also removed is bluebird, we should use async/await instead, that's a thing I still working on on my fork.

Any developers who need to target older browsers can also use polyfills

You're right, as long as we will add a notice for developers about possible polyfills they have to use.

something like cross-fetch could be used.

I didn't know cross-fetch before, it seems to be a good solution, actually I liked the way they handle cross environment support. However I been trying with axios on my fork and it worked perfectly! You should take a look at axios.js, I tried my best to provide a maximum backward compatibility with request!

Adding undocumented endpoints is something I'm not too keen on since they're undocumented. I could see it happening if we make it clear it's undocumented by having method names like UNSAFE_getUndocumentedEndpoint() or similar.

Fair enough! We should notify users about methods that communicate with undocumented endpoints, those should be flagged as unstable since they are subject to change. Also probably we should take a look at the PRAW experience to see how the developers of that library handled this situation.

Legacy browsers support is important, people may use this package to build web applications, some of them will target older browsers, in this case axios is what we should use, it extends XMLHttpRequest which is widely supported, the Fetch API is relatively new so we can't depend on it.

Why not just ship with fetch and if someone needs XMLHttpRequest support they can add a pollyfill? There are ones that have the same API as fetch but use XMLHttpRequest under the hood.

@OmgImAlexis Yeah I didn't think about it at the beginning. I realized that we can just let developers install polyfills separately instead of including them on the library.
Anyway, I already made a progress with axios, I even added support for some old properties from the request API to gain a maximum backward compatibility.

As mentioned in #262 request is deprecated. If we are replacing it with something else it's a breaking change and needs to be done as a major release, thus tracking towards v2.0.
An incomplete list of things to be done before v2.0

[ ]   Replace deprecated request dependency, axios may be the best contender. fetch may not work as intended for the test suite but would otherwise be the clear winner.
[ ]   Remove deprecated endpoints
[ ]   Look into what to do with Proxies and TypeScript Type error with async/await  #221
[ ]   Remove underscore function calls maps

@SpyTec

I think axios would be good for the purpose.
Also it's important to add the missing endpoints including the undocumented ones.
IMO proxies should be removed, .fetch() methods are what should be used to fetch content. I think the library API should follow this standard:const subreddit = requester.getSubreddit("r/redditdev")
await subreddit.fetch()

I think a neat solution might be that proxies are simply of type Partial, and fetch returns a full SnoowrapObject. This would allow for more type safety as it would become obvious at compile time whether a variable is being accessed before it is assigned.

Is this still ongoing? I'd like to contribute if it is!


Get with post

Resolves #64

I will just mark this as ready for review and open another issue for a know bug that would require some more work

Cool! Tag me when the other one is done, I'll push to gallery when we merge that version. This looks good to me. :)


FRONTEND WITH FRAMEWORK: VueJS-1.4 => Intro to Lifecycle Diagram and Lifecycle Hooks (Theory explanation)

Description 📜
Fully explained Lifecycle diagram and Hooks in Vue with code.
Fixes #540

Type of change 📝

[ ] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[ ] Frontend Dev React/Angular/Vue

Checklist ✅

[ ] I follow Contributing Guidelines & Code of conduct of this project.
[ ] I have performed a self-review of my own code or work.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] My changes generates no new warnings.
[ ] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

Hey @a12baghel2,
I know it takes a lot of time to work on the issue and create a PR. But as we already mentioned in the description of the issue that to Avoid copy/paste. So we cannot merge this PR.
Because most of the content is copied from the link below:-
https://blog.logrocket.com/introduction-to-vue-lifecycle-hooks/
Buddy, it's ok to use some of the content from some site on which you learned. Because we cannot replace some of that word/sentence.  But try to do as much as in your language/thoughts.
If you need any help you can ping us any time we are here to help you.
Hope you will understand and take care of this next time.

Okay  I will make changes to it.

Try to write from your own

@a12baghel2,
Yes, you did changes in your content, but still many of the content is same as that I mentioned earlier.
It will be good If you can avoid this.
For this time only I am allowing to merge this kind of PR. But take care of this next time.
Hope you can understand.

@anandhu720,  we can merge it.

@a12baghel2,
Yes, you did changes in your content, but still many of the content is same as that I mentioned earlier.
It will be good If you can avoid this.
For this time only I am allowing to merge this kind of PR. But take care of this next time.
Hope you can understand.

Okay i will take care of that next time. 🙂


open source?

Hello,
It's not much of an issue but I wanted to ask if this project is open-source or if is it going to be in future?

Hi @waleedshabbir1 ,
Actually, it should have been MIT license -- thanks for spotting it!
I'll add the license file today.


Imported python files do not see TRIK builtins

When you import a python file into the file you are executing (at least in the simulator) using import, that file will not be able to use any of the builtins like brick, script, getPhoto() etc.
Running TRIK Studio 2020.5 on Win10 x64

As a workaround, until this bug fixed, try to implement TRIK builtins into your module. Something like that:
import mymodule
mymodule.script = script
mymodule.brick = brick

Closed with https://github.com/trikset/trikRuntime/pull/655
Now, to use TRIK builtins in custom modules:
import TRIK
from TRIK import *


M3-1220 Fix console tabs background colors (DT)

the dark theme was displaying the wrong bg colors for the console tabs.

Coverage remained the same at 26.313% when pulling bc73780e364a70305a3641e4371a38a8a573a1a3 on alioso:M3-1220 into 97f4417804f74c92f0a3b0712e75e41348c7a7f5 on linode:develop.


Scrape up IMDB for all genres

Description
Scraped up movies of all the genres on the site IMDB, you can mention the genre and it would give the list of movies related to that genre only.
Resolves: [Issue Number]
#391
Checklist

Before submitting this pull request, kindly verify that the ensuing checkpoints have been reached.

[x] Have you adhered to the repository's defined coding convention rules?
[x] Have you updated the 'documentation.md' file with the method/function documentation?
[x] Have you sent a message along with the result or response?
[x] Have you used the try-catch technique?
[x] Has the method/class been added to the documentation (md file)?

Screenshots

Additional Notes/Comments
I have added the list of genres, so that it is easy for search for any genres.
I certify that I have carried out the relevant checks and provided the requisite screenshot for validation by submitting this pull request.
I appreciate your contribution.

Great Work @Tisha6661 !!

@nikhil25803 Please tag the level as well, thank you!


usm: classification: tls: tests: Cut tests runtime by 3m

What does this PR do?
The test creates local golang tls server and client instead of using dockers.
The change saves 3m.

Motivation
faster CI.

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


ERROR (fcgi-nnet3-decoder[5.4]:DecodableNnetLoopedOnlineBase():decodable-online-looped.cc:45) Input feature dimension mismatch: got 40 but network expects 43

How could I fix it? I am trying to decode the chain model of AISELL-2.

@realill

Add these two options --add-pitch=true --online-pitch-config=pitch.conf may help.

添加这两个选项--add-pitch=true --online-pitch-config=pitch.conf可能会有所帮助。

Thanks !

Add these two options --add-pitch=true --online-pitch-config=pitch.conf may help.

Thanks !


Get coveralls working with TravisCI

Issue is that I will need to make a coverage page per package for golang(need to check) and in turn need to import this with goveralls correctly to be covered.
Needs some work to test think about this.

Closing as not interested at this point of time.


Replace 'utf8' package with TextDecoder in browser and string_decoder in node

BUG String.fromCharCode.apply() used by utf8.decode() will cause "reach maximum call stack size" with large file. So replace utf8 with native UTF-8 encoding, TextDecoder in browser, and string_decoder in node.
This resolves https://github.com/tensorflow/tfjs-data/issues/108

This change is

This PR is ready for review.


contributors

@all-contributors please add @codebender828 for code bugs
@all-contributors please add @lynancy for code and design


Integration tests for the Pub/Sub Stream binder

Fixes #292

@Andy2003 FYI

Tests will only be enabled if the GCP_PUBSUB_EMULATOR envvar is set. Feel free to suggest an alternative.
For some reason, tests are failing running through Maven, but successful if I run them through JUnit.

PTAL

A general comment: when commit messages are going to be useful?
Artem's review is not a valuable information. And even I as a "guilty man" might not remember tomorrow what we have discussed here today.
Thanks for understanding

Sure, I can try to fix the commit messages in the future.
But how does that help? The commits will all be squashed when the PR is merged and you can see what the PR does from the GitHub files view (provided it's on the smallish side)

We don't have GitHub locally...
And anyway the commit has to have not only What? but also Why?.
How may someone understand why did you remove converter support from the Channel Adapter if I haven't asked about that?
People may depend on our library and if they got some breaking changes they really would like to know "why?'. In this case good commit message helps a lot. That's not very productive to make people to read all the comments in the PR since the result of such a discussion is in the commit.
I'm not sure how else to convince you, but I just share an experience we have here in Spring.
Sorry for noise otherwise

@artembilan thanks a lot for your advice, it's really appreciated!
I'll try to apply it more in the future.

I checked all combinations except Windows and it seems to work everywhere, provided the emulator has been separately started, which the user or Travis can do.
Can you take this for a spin on Windows and let me know if it works? I can give you a list of steps to take if you don't know what to do.

Works for me locally without any GCP 😄
I will come back to you, when I decide to test it against an Emulator and some GCP stuff.
Thanks


[Tesseract] Add Leptonica compat

Companion to https://github.com/JuliaPackaging/Yggdrasil/pull/7451

@giordano As requested.


Updates the header sizes to the right values.

This updates the values for the header sizes to be correct.
See #158 and #226

Coverage remained the same at 60.427% when pulling 1e346a74f85b36d0dbe5ae8afea2419d0a5c1034 on fixHeaderImageSizes into 3d5144e9d54ce248dc95748db7dadbda7ca0067e on master.

Coverage remained the same at 60.427% when pulling 5afe112cbb0ca8497ad94571eb77fd9d5ca82d1c on fixHeaderImageSizes into 1cc873c59731cc88cbef2f26acb64c26303a3cb2 on master.


Solution with multiple modules only usable if not ProjectReference is used

Due to the placement of the dockerfiles inside of the modules, one cannot use
<ItemGroup>
<ProjectReference Include="..\ExternModule\ExternalProject.csproj" />
</ItemGroup>
to include a ClassLibary or something similar.
The local debug works fine, but "Build and Push Image" will break with the error message:
Skipping project "/ExternModule/ExternalProject.csproj"
/usr/share/dotnet/sdk/2.1.403/Microsoft.Common.CurrentVersion.targets(1879,5): warning : The referenced project '../ExternModule/ExternalProject.csproj' does not exist
The command '/bin/sh -c dotnet publish -c Release -o out' returned a non-zero code: 1

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

ID: 8b7b666c-1e95-d0dd-7fd8-a2367369d190
Version Independent ID: 3eff6d45-cf8b-4546-166d-16198c736f13
Content: Develop and debug C# modules in Visual Studio - Azure IoT Edge
Content Source: articles/iot-edge/how-to-visual-studio-develop-csharp-module.md
Service: iot-edge
GitHub Login: @shizn
Microsoft Alias: xshi

@BigBadPhysicist - Was this issue opened in iotedge repo?  Did you find any solution to this issue?

Issued had been posed and has been solved with an update. Thx for the help.


On timeline page, filter closes on every click. It should stay open.

https://dev.applatix.net/app/timeline;view=job;days=1;date=1502953199;failed=true;delayed=true;succeeded=false;running=false;showMyOnly=false
On Timeline page, on the right-up corner, click filter icon, select/unselect filter only works once at a time

Done: https://github.com/argoproj/argo/pull/76


Enhancement/shortcut to open template

Changelog Description
Port of https://github.com/ynput/OpenPype/pull/6181

@iLLiCiTiT it looks like https://github.com/ynput/OpenPype/blob/develop/openpype/widgets/message_window.py has been removed?

@iLLiCiTiT it looks like https://github.com/ynput/OpenPype/blob/develop/openpype/widgets/message_window.py has been removed?

It's been moved to ayon_core.tools.utils.dialogs.


android:exported

First of all, thanks for this great package! I have a problem with android:exported. I get an error when I want to install my application even though I have added it to my manifest file.
"You have uploaded an APK or Android App Bundle with an event, event alias, service, or broadcast receiver with an intent filter, but not set to "android:exported". This file cannot be installed on Android 12 or later. Check it out at: developer.android.com/about/versions/12/behavior-changes-12#exported"
I use latest version.
How can I fix this? Thanks!

"You have uploaded an APK or Android App Bundle with an event, event alias, service, or broadcast receiver with an intent filter, but not set to "android:exported". This file cannot be installed on Android 12 or later. Check it out at: developer.android.com/about/versions/12/behavior-changes-12#exported"

This rule is valid for your AndroidManifest.xml application file, and every Flutter project, inside Android folder, there is a AndroidManifest.xml file that has an activity with intent-filter. This activity must contains android:exported property for Android 12+

Hi! Sorry for taking so long to respond to your issue on GitHub. I was focused on releasing the new 0.7.0 version of awesome_notifications and awesome_notifications_fcm and i didn't had time enough to do both. But now I can answer all your questions.
So now i'm asking you to recreate this topic using the new issue template. There's a lot of missing informations that i need to understand your problem, and all the instructions are already in the new issue template. Also, remember to check beforehand if your issue was posted by another user.
So I will automatically close all previous issues so far.
Sorry for the inconvenience and i will be waiting for your new issue request.
Thank you so much for your support!


docker on run pod or cloud?

Is there way to run the dokcer to get the GUI on runpod. Love the GUI but lack the hardware to run

Have you tried replicate.com?  It works pretty good and is very easy to setup an account and use.
https://github.com/h2oai/h2ogpt/blob/main/docs/README_InferenceServers.md#replicate-inference-server-client

Thanks but i'm only limited to the models on replicate right?

You can have private models on replicate too.


.macos: media keys don't work anymore even with the fix

https://github.com/mathiasbynens/dotfiles/blob/b22c32290e1518c0f228afba254ee6a3f6ab6d7a/.macos#L196 seems not to work anymore on High Sierra.

Okay I've figured out.
Where on Sierra, you had to disable this to make Spotify work with media keys, now on High Sierra, it must be loaded.
$ launchctl load -w /System/Library/LaunchAgents/com.apple.rcd.plist 2> /dev/null


Error when pretraining data

Hi I'm trying to apply the cher-bert using our hospital data, but I got an error during its pretraining.
I ran below  under CUDA 10.1 and tensorflow 2.2.0 with A100 x4 machines
PYTHONPATH=./: python3 trainers/train_bert_only.py -i ./Documents_230617/omop_test/cehr-bert -o ./Documents_230617/omop_test/cehr-bert -iv -m 512 -e 5 -b 4 -d 5 --use_time_embedding

but I got below. I found that the logs said errors may have originated from an input operation.
Could you give any advice?
2023-06-21 23:44:49,819 - _load_training_data - INFO - Started running trainers.model_trainer: _load_training_data at line 101
2023-06-21 23:45:18,416 - _load_training_data - INFO - Took 0:00:28.597028 to run trainers.model_trainer: _load_training_data.
2023-06-21 23:45:20,826 - tokenize_concepts - INFO - Started running utils.model_utils: tokenize_concepts at line 63
2023-06-21 23:45:20,827 - utils.model_utils - INFO - Loading the existing tokenizer from ./Documents_230617/omop_test/cehr-bert/tokenizer.pickle
2023-06-21 23:46:36,348 - tokenize_concepts - INFO - Took 0:01:15.522283 to run utils.model_utils: tokenize_concepts.
2023-06-21 23:46:36,351 - tokenize_concepts - INFO - Started running utils.model_utils: tokenize_concepts at line 63
2023-06-21 23:46:36,352 - utils.model_utils - INFO - Loading the existing tokenizer from ./Documents_230617/omop_test/cehr-bert/visit_tokenizer.pickle
2023-06-21 23:48:34,747 - tokenize_concepts - INFO - Took 0:01:58.395994 to run utils.model_utils: tokenize_concepts.
2023-06-21 23:48:34.768708: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcuda.so.1
2023-06-21 23:48:34.836277: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: A100-PCIE-40GB computeCapability: 8.0
coreClock: 1.41GHz coreCount: 108 deviceMemorySize: 39.59GiB deviceMemoryBandwidth: 1.41TiB/s
2023-06-21 23:48:34.837996: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 1 with properties:
pciBusID: 0000:25:00.0 name: A100-PCIE-40GB computeCapability: 8.0
coreClock: 1.41GHz coreCount: 108 deviceMemorySize: 39.59GiB deviceMemoryBandwidth: 1.41TiB/s
2023-06-21 23:48:34.839699: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 2 with properties:
pciBusID: 0000:c1:00.0 name: A100-PCIE-40GB computeCapability: 8.0
coreClock: 1.41GHz coreCount: 108 deviceMemorySize: 39.59GiB deviceMemoryBandwidth: 1.41TiB/s
2023-06-21 23:48:34.841387: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 3 with properties:
pciBusID: 0000:e1:00.0 name: A100-PCIE-40GB computeCapability: 8.0
coreClock: 1.41GHz coreCount: 108 deviceMemorySize: 39.59GiB deviceMemoryBandwidth: 1.41TiB/s
2023-06-21 23:48:34.842187: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1
2023-06-21 23:48:34.845731: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10
2023-06-21 23:48:34.848337: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10
2023-06-21 23:48:34.849189: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10
2023-06-21 23:48:34.852776: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10
2023-06-21 23:48:34.855862: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10
2023-06-21 23:48:34.864436: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2023-06-21 23:48:34.878344: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1703] Adding visible gpu devices: 0, 1, 2, 3
2023-06-21 23:48:34.886036: I tensorflow/core/platform/cpu_feature_guard.cc:143] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2023-06-21 23:48:34.920966: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU Frequency:<PHONE_NUMBER> Hz
2023-06-21 23:48:34.929515: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x7f3fd4000b20 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2023-06-21 23:48:34.929597: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
2023-06-21 23:48:35.323193: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x6fa4350 initialized for platform CUDA (this does not guarantee that XLA will be used).  Original config value was 0.
2023-06-21 23:48:35.410115: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1247] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 37713 MB memory) -> physical GPU (device: 0, name: A100-PCIE-40GB, pci bus id: 0000:01:00.0, compute capability: 8.0)
2023-06-21 23:48:35.420518: W tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:39] Overridingallow_growth setting because the TF_FORCE_GPU_ALLOW_GROWTH environment variable is set. Original config value was 0.
2023-06-21 23:48:35.420618: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1247] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:1 with 37713 MB memory) -> physical GPU (device: 1, name: A100-PCIE-40GB, pci bus id: 0000:25:00.0, compute capability: 8.0)
2023-06-21 23:48:35.424621: W tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:39] Overridingallow_growth setting because the TF_FORCE_GPU_ALLOW_GROWTH environment variable is set. Original config value was 0.
2023-06-21 23:48:35.424722: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1247] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:2 with 37713 MB memory) -> physical GPU (device: 2, name: A100-PCIE-40GB, pci bus id: 0000:c1:00.0, compute capability: 8.0)
2023-06-21 23:48:35.427247: W tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:39] Overridingallow_growth setting because the TF_FORCE_GPU_ALLOW_GROWTH environment variable is set. Original config value was 0.
2023-06-21 23:48:35.427315: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1247] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:3 with 37713 MB memory) -> physical GPU (device: 3, name: A100-PCIE-40GB, pci bus id: 0000:e1:00.0, compute capability: 8.0)
INFO:tensorflow:Using MirroredStrategy with devices ('/job:localhost/replica:0/task:0/device:GPU:0','/job:localhost/replica:0/task:0/device:GPU:1', '/job:localhost/replica:0/task:0/device:GPU:2', '/job:localhost/replica:0/task:0/device:GPU:3')
2023-06-21 23:48:35,442 - tensorflow - INFO - Using MirroredStrategy with devices ('/job:localhost/replica:0/task:0/device:GPU:0', '/job:localhost/replica:0/task:0/device:GPU:1', '/job:localhost/replica:0/task:0/device:GPU:2', '/job:localhost/replica:0/task:0/device:GPU:3')
2023-06-21 23:48:35,442 - VanillaBertTrainer - INFO - Number of devices: 4
2023-06-22 00:10:52,835 - VanillaBertTrainer - INFO - training_data_parquet_path: ./Documents_230617/omop_test/cehr-bert/patient_sequence
model_path: ./Documents_230617/omop_test/cehr-bert/bert_model_{epoch:02d}_{loss:.2f}.h5
batch_size: 4
epochs: 5
learning_rate: 0.0002
tf_board_log_path: ./logs
shuffle_training_data: True
cache_dataset: False
use_dask: False

2023-06-22 00:10:52,835 - VanillaBertTrainer - INFO - VanillaBertTrainer will be trained with the following parameters:
tokenizer_path: ./Documents_230617/omop_test/cehr-bert/tokenizer.pickle
visit_tokenizer_path: ./Documents_230617/omop_test/cehr-bert/visit_tokenizer.pickle
embedding_size: 128
context_window_size: 512
depth: 5
num_heads: 8
include_visit_prediction: True
include_prolonged_length_stay: False
use_time_embeddings: True
use_behrt: False
time_embeddings_size: 16
2023-06-22 00:10:52,835 - BertVisitPredictionDataGenerator - INFO - batch_size: 4
max_seq_len: 512
min_num_of_concepts: 5
is_random_cursor: True
is_training: True

2023-06-22 00:10:55,688 - VanillaBertTrainer - INFO - Calculating steps per epoch
2023-06-22 00:10:55,688 - VanillaBertTrainer - INFO - Calculated 535972 steps per epoch
2023-06-22 00:10:55.703279: I tensorflow/core/profiler/lib/profiler_session.cc:159] Profiler sessionstarted.
2023-06-22 00:10:55.703346: I tensorflow/core/profiler/internal/gpu/cupti_tracer.cc:1363] Profiler found 4 GPUs
2023-06-22 00:10:55.707876: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcupti.so.10.1
2023-06-22 00:10:56.144173: I tensorflow/core/profiler/internal/gpu/cupti_tracer.cc:1479] CUPTI activity buffer flushed

Epoch 00001: LearningRateScheduler reducing learning rate to 0.0002.
Epoch 1/5
INFO:tensorflow:batch_all_reduce: 118 all-reduces with algorithm = nccl, num_packs = 1
2023-06-22 00:11:03,227 - tensorflow - INFO - batch_all_reduce: 118 all-reduces with algorithm = nccl, num_packs = 1
WARNING:tensorflow:Efficient allreduce is not supported for 1 IndexedSlices
2023-06-22 00:11:04,079 - tensorflow - WARNING - Efficient allreduce is not supported for 1 IndexedSlices
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:GPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:GPU:0', '/job:localhost/replica:0/task:0/device:GPU:1', '/job:localhost/replica:0/task:0/device:GPU:2', '/job:localhost/replica:0/task:0/device:GPU:3').
2023-06-22 00:11:04,079 - tensorflow - INFO - Reduce to /job:localhost/replica:0/task:0/device:GPU:0then broadcast to ('/job:localhost/replica:0/task:0/device:GPU:0', '/job:localhost/replica:0/task:0/device:GPU:1', '/job:localhost/replica:0/task:0/device:GPU:2', '/job:localhost/replica:0/task:0/device:GPU:3').
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
2023-06-22 00:11:05,584 - tensorflow - INFO - Reduce to /job:localhost/replica:0/task:0/device:CPU:0then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
2023-06-22 00:11:05,589 - tensorflow - INFO - Reduce to /job:localhost/replica:0/task:0/device:CPU:0then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
2023-06-22 00:11:05,595 - tensorflow - INFO - Reduce to /job:localhost/replica:0/task:0/device:CPU:0then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
2023-06-22 00:11:05,599 - tensorflow - INFO - Reduce to /job:localhost/replica:0/task:0/device:CPU:0then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
2023-06-22 00:11:05,603 - tensorflow - INFO - Reduce to /job:localhost/replica:0/task:0/device:CPU:0then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
2023-06-22 00:11:05,605 - tensorflow - INFO - Reduce to /job:localhost/replica:0/task:0/device:CPU:0then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
2023-06-22 00:11:05,608 - tensorflow - INFO - Reduce to /job:localhost/replica:0/task:0/device:CPU:0then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
2023-06-22 00:11:05,610 - tensorflow - INFO - Reduce to /job:localhost/replica:0/task:0/device:CPU:0then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:batch_all_reduce: 118 all-reduces with algorithm = nccl, num_packs = 1
2023-06-22 00:11:14,761 - tensorflow - INFO - batch_all_reduce: 118 all-reduces with algorithm = nccl, num_packs = 1
WARNING:tensorflow:Efficient allreduce is not supported for 1 IndexedSlices
2023-06-22 00:11:15,602 - tensorflow - WARNING - Efficient allreduce is not supported for 1 IndexedSlices
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:GPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:GPU:0', '/job:localhost/replica:0/task:0/device:GPU:1', '/job:localhost/replica:0/task:0/device:GPU:2', '/job:localhost/replica:0/task:0/device:GPU:3').
2023-06-22 00:11:15,602 - tensorflow - INFO - Reduce to /job:localhost/replica:0/task:0/device:GPU:0then broadcast to ('/job:localhost/replica:0/task:0/device:GPU:0', '/job:localhost/replica:0/task:0/device:GPU:1', '/job:localhost/replica:0/task:0/device:GPU:2', '/job:localhost/replica:0/task:0/device:GPU:3').
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
2023-06-22 00:11:16,427 - tensorflow - INFO - Reduce to /job:localhost/replica:0/task:0/device:CPU:0then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
INFO:tensorflow:Reduce to /job:localhost/replica:0/task:0/device:CPU:0 then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
2023-06-22 00:11:16,431 - tensorflow - INFO - Reduce to /job:localhost/replica:0/task:0/device:CPU:0then broadcast to ('/job:localhost/replica:0/task:0/device:CPU:0',).
2023-06-22 00:11:31.148695: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10
2023-06-22 00:13:04.903005: E tensorflow/stream_executor/cuda/cuda_blas.cc:428] failed to run cuBLASroutine: CUBLAS_STATUS_NOT_SUPPORTED
2023-06-22 00:13:04.903108: E tensorflow/stream_executor/cuda/cuda_blas.cc:428] failed to run cuBLASroutine: CUBLAS_STATUS_NOT_SUPPORTED
2023-06-22 00:13:04.903128: E tensorflow/stream_executor/cuda/cuda_blas.cc:2301] Internal: failed BLAS call, see log for details
2023-06-22 00:13:04.903138: E tensorflow/stream_executor/cuda/cuda_blas.cc:428] failed to run cuBLASroutine: CUBLAS_STATUS_NOT_SUPPORTED
2023-06-22 00:13:04.903146: E tensorflow/stream_executor/cuda/cuda_blas.cc:428] failed to run cuBLASroutine: CUBLAS_STATUS_NOT_SUPPORTED
2023-06-22 00:13:04.903177: E tensorflow/stream_executor/cuda/cuda_blas.cc:2301] Internal: failed BLAS call, see log for details
2023-06-22 00:13:04.903387: E tensorflow/stream_executor/cuda/cuda_blas.cc:2301] Internal: failed BLAS call, see log for details
2023-06-22 00:13:04.903388: E tensorflow/stream_executor/cuda/cuda_blas.cc:428] failed to run cuBLASroutine: CUBLAS_STATUS_NOT_SUPPORTED
2023-06-22 00:13:04.903146: E tensorflow/stream_executor/cuda/cuda_blas.cc:428] failed to run cuBLASroutine: CUBLAS_STATUS_NOT_SUPPORTED
2023-06-22 00:13:04.903438: E tensorflow/stream_executor/cuda/cuda_blas.cc:2301] Internal: failed BLAS call, see log for details
2023-06-22 00:13:04.903415: E tensorflow/stream_executor/cuda/cuda_blas.cc:428] failed to run cuBLASroutine: CUBLAS_STATUS_NOT_SUPPORTED
2023-06-22 00:13:04.903456: E tensorflow/stream_executor/cuda/cuda_blas.cc:2301] Internal: failed BLAS call, see log for details
2023-06-22 00:13:04.903482: E tensorflow/stream_executor/cuda/cuda_blas.cc:2301] Internal: failed BLAS call, see log for details
2023-06-22 00:13:04.903207: E tensorflow/stream_executor/cuda/cuda_blas.cc:428] failed to run cuBLASroutine: CUBLAS_STATUS_NOT_SUPPORTED
2023-06-22 00:13:04.903404: E tensorflow/stream_executor/cuda/cuda_blas.cc:2301] Internal: failed BLAS call, see log for details
2023-06-22 00:13:04.903527: E tensorflow/stream_executor/cuda/cuda_blas.cc:2301] Internal: failed BLAS call, see log for details
Traceback (most recent call last):
  File "trainers/train_bert_only.py", line 216, in <module>
    main(create_parse_args_base_bert().parse_args())
  File "trainers/train_bert_only.py", line 212, in main
    tf_board_log_path=config.tf_board_log_path).train_model()
  File "/home/ted9219/synology/ted9219/dr6ho/ted9219/cehr-bert/trainers/model_trainer.py", line 139,in train_model
    callbacks=self._get_callbacks())
  File "/home/ted9219/synology/ted9219/dr6ho/ted9219/cehr-bert/venv3.7/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py", line 66, in _method_wrapper
    return method(self, *args, **kwargs)
  File "/home/ted9219/synology/ted9219/dr6ho/ted9219/cehr-bert/venv3.7/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py", line 848, in fit
    tmp_logs = train_function(iterator)
  File "/home/ted9219/synology/ted9219/dr6ho/ted9219/cehr-bert/venv3.7/lib/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 580, in __call__
    result = self._call(*args, **kwds)
  File "/home/ted9219/synology/ted9219/dr6ho/ted9219/cehr-bert/venv3.7/lib/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 644, in _call
    return self._stateless_fn(*args, **kwds)
  File "/home/ted9219/synology/ted9219/dr6ho/ted9219/cehr-bert/venv3.7/lib/python3.7/site-packages/tensorflow/python/eager/function.py", line 2420, in __call__
    return graph_function._filtered_call(args, kwargs)  # pylint: disable=protected-access
  File "/home/ted9219/synology/ted9219/dr6ho/ted9219/cehr-bert/venv3.7/lib/python3.7/site-packages/tensorflow/python/eager/function.py", line 1665, in _filtered_call
    self.captured_inputs)
  File "/home/ted9219/synology/ted9219/dr6ho/ted9219/cehr-bert/venv3.7/lib/python3.7/site-packages/tensorflow/python/eager/function.py", line 1746, in _call_flat
    ctx, args, cancellation_manager=cancellation_manager))
  File "/home/ted9219/synology/ted9219/dr6ho/ted9219/cehr-bert/venv3.7/lib/python3.7/site-packages/tensorflow/python/eager/function.py", line 598, in call
    ctx=ctx)
  File "/home/ted9219/synology/ted9219/dr6ho/ted9219/cehr-bert/venv3.7/lib/python3.7/site-packages/tensorflow/python/eager/execute.py", line 60, in quick_execute
    inputs, attrs, num_outputs)
tensorflow.python.framework.errors_impl.InternalError: 2 root error(s) found.
  (0) Internal:  Blas xGEMMBatched launch failed : a.shape=[8,512,16], b.shape=[8,512,16], m=512, n=512, k=16, batch_size=8
         [[node replica_3/model/decoder_layer/multi_head_attention_5/MatMul (defined at home/ted9219/synology/ted9219/dr6ho/ted9219/cehr-bert/models/custom_layers.py:57) ]]
         [[div_no_nan_2/ReadVariableOp_7/_1902]]
  (1) Internal:  Blas xGEMMBatched launch failed : a.shape=[8,512,16], b.shape=[8,512,16], m=512, n=512, k=16, batch_size=8
         [[node replica_3/model/decoder_layer/multi_head_attention_5/MatMul (defined at home/ted9219/synology/ted9219/dr6ho/ted9219/cehr-bert/models/custom_layers.py:57) ]]
0 successful operations.
3 derived errors ignored. [Op:__inference_train_function_66633]

Errors may have originated from an input operation.
Input Source operations connected to node replica_3/model/decoder_layer/multi_head_attention_5/MatMul:
 replica_3/model/decoder_layer/multi_head_attention_5/transpose (defined at home/ted9219/synology/ted9219/dr6ho/ted9219/cehr-bert/models/custom_layers.py:105)

Input Source operations connected to node replica_3/model/decoder_layer/multi_head_attention_5/MatMul:
 replica_3/model/decoder_layer/multi_head_attention_5/transpose (defined at home/ted9219/synology/ted9219/dr6ho/ted9219/cehr-bert/models/custom_layers.py:105)

Function call stack:
train_function -> train_function

2023-06-22 00:13:11.183064: I tensorflow/stream_executor/stream.cc:1990] [stream=0xc090680,impl=0xb0f47eb0] did not wait for [stream=0xbb11850,impl=0xb0e36cf0]
2023-06-22 00:13:11.183143: I tensorflow/stream_executor/stream.cc:4938] [stream=0xc090680,impl=0xb0f47eb0] did not memcpy host-to-device; source: 0x7f3a7c03e980
2023-06-22 00:13:11.183225: F tensorflow/core/common_runtime/gpu/gpu_util.cc:340] CPU->GPU Memcpy failed
Aborted (core dumped)

@ted9219  thanks for reporting the issue, could you successfully pre-train the model using the sample data provided in the repo? I just wanted to see whether this is a data issue or a code issue
PYTHONPATH=./: python3 trainers/train_bert_only.py -i sample_data/ -o ~/Documents/omop_test/cehr-bert -iv -m 512 -e 2 -b 32 -d 5 --use_time_embedding

Hi @ChaoPang
Thank you for your comment. I tried to update the Tensorflow to 2.3.0 but it caused another issue. (actually, that was the reason I installed the 2.2.0 version.)
CUDA runtime implicit initialization on GPU:0 failed. Status: device kernel image is invalid
It seems like a deep-seated problem with v2.3.0 and some GPU machines, so I tried to install the 2.4.3 version of TensorFlow. It works now.
Thank you for your comments again.

But - I also found that the 2.4.x version of Tensorflow is not compatible with Cudnn 7.6 / CUDA 10.1 .
So this was not a good way to solve this problem. they caused errors in the other steps.

@ted9219 So it definitely looks like a version issue. On our server, we used cuda-11.2, I am not sure how feasible it is for you to upgrade cuda.

I have update the version of cuda to 11.0 and now is running successfully .


validateAfterLeaveOrPressedEnter?

I'm a little confused by the current field validation options.
There is validateAfterLoad, and validateAfterChanged (as user types).
How can I validate a field only after a user leaves the control or presses enter (which I believe is the typical way that field validators work?)  I don't really want to bother the user that what they are typing is invalid until they are finished typing it and ready to move on.
Thanks for any help!

Also, if I am asynchronisly validating a text box as the user types, how do I cancel all but the last validation when the user stops typing?

Perhaps there is a way for vfg to integrate https://lodash.com/docs#debounce for text inputs ?

You should integrate debounce to your async validator.

@icebob thanks for that suggestion. The examples I had seen with debouncer were trying to control data, but using it to just control the validation should work.

@icebob having some success, but not quite with _debounce(). Now the error message does not get reported until after I start typing a second time.  Is the _debounce() promise not quite what you expected or am I doing something not right?
validator: _.debounce(async function(value, field, model){
                            try {
                                var response = await remote.get(`/validate/${value}`);
                                console.log(response);
                            } catch (error) {
                                console.log(error);
                                return [error.responseJSON.error_message];
                            } finally{
                                this.$root.validating = false;
                            }
                            return [];
                        }, 500)

After typing 123456, I hit a breakpoint in my debounce callback, and it returns [error_message]

However, I don't see the error message until I start typing again (e.g. "22")

Would be good a jsFiddle with this issue in order to we can investigate it.

@icebob here's a jsFiddle to reproduce the issue
https://jsfiddle.net/ericpyle/rnsgn2ng/

Great, thanks!

Thanks, @icebob
Also wanted to report that sometimes I still get multiple errors:

That's really needed. Now after typing every char starting validation and UI freeze for some time

Hi @ericpyle,
I tested and it seems vfg validation can't work properly with lodash debounce. :(

I started to add debouncing to vfg in validation process. I think it will solve your problem.
Fiddle

@icebob yes that seems to work just fine and I no longer see multiple errors being reported. how do you recommend I get a version of vfg with the fix?

This week I will make a new release.

@icebob thanks

Released in v2.1.1


Assignment_1_Samyak

Nice Work, the graphs were neat and clear. I would suggest to use markdown instead of handwriting next time for calculation questions as well. 👍


fix exception on get started happened on accounts and default account

when i tried get started example on the docs i have some issue happen on adding account and main domain
also in note that readme  have installation command  is
composer install  abivia/ledger

and it should be
composer require  abivia/ledger

Thanks for you contribution @shaband


Feature/rebuild decision maker

Status
DEVELOPMENT
Description
Please refer to #1434
I redesigned the state transition and divided it into three state machines Vehicle, Mission, Drive.
The details are as follows.

Related branch
feature/last_wp_control is needed to reach waypoint's end and transition to the MissionComplete state.
feature/negative_velocity is required for switchback.
Todos

[x] Tests

[x] amath_utils (#1757 To be merged)
[x] state_machine_lib (#1744 To be merged)
[x] decision_maker (#1958 To be merged)
[x] lane_planner (#2009 To be merged)
[ ] waypoint_follower (#2028 To be merged)

[x] Documentation https://github.com/CPFL/Autoware/blob/feature/rebuild_decision_maker/ros/src/computing/planning/decision/packages/decision_maker/README.md

Steps to Test or Reproduce
NOTE: For state visualization, please add OverlayText plugin on rviz and select topics decision_maker/operator_help_text, state/overlay_text.
Normal driving

Launch Autoware and localization on real vehicle or wf_simulator
Launch decision_maker and lane_planner, astar_planner, waypoint_follower
When VehicleReady and WaitOrder state, launch waypoint_loader
On DriveReady state, push Engage button on DecisionMakerPannel
When the vehicle reaches the end of waypoint and stops, state Mission state transits to WaitOrder via the MissionComplete
You can repeat from 3. with other waypoint

Lane change

Start Normal driving with waypoint files necessary for lane change
On CheckLeft/RightLane state, push Execute LaneChange button on DecisionMakerPannel
The vehicle start lane change

NOTE: Safety check and automatically lane change functions are not implemented yet.
Driving mission change

Prepare waypoint files to change, and start Normal driving
On Driving state, push Request mission change button on DecisionMakerPannel
When the state becomes DrivingMissionChange, please load another waypoint for change
If it is possible to change the waypoint will switch, otherwise it will not be changed

NOTE: This function is quick implementation. Whether change is possible or not  depends on two parameters dist_threshold, angle_threshold between current_pose and nearest waypoint after change.

@s-azumi @yk-fujii  https://github.com/CPFL/Autoware/pull/1703 fixes a bug in amathutils_lib. Would you check it before merging this?

Please resolve the conflict and then merge.

@s-azumi @kfunaoka @sgermanserrano @yn-mrse @yk-fujii
I randomly and briefly looked at this PR and I just can't help myself but to comment:

Why are there 83 files changed?
Why are there changes in more than 10 different packages?
Why do you do refactoring and functional changes in 1 PR? Why don't you separate this?
Why don't you document?
Which coding style do you use? e.g. some function names are in all capital letters.
Why are there no tests? There are some tests amathutils but changes to this library not even belong in the scope of this PR, right?
How will you make sure that this does not break everything in Autoware since it is such a fundamental change?
Did you check if you have any unused or uninitialized variables?
Are you checking return types everywhere?
You state: "I redesigned the state transition and divided it into three state machines Vehicle, Mission, Drive. The details are as follows." => these are no details, these are just some bubbles and some arrows. Can you please create a proper design document and document this new FSM design and how is it supposed to be used?
Can you list the test coverage for this code? @sgermanserrano knows how to

These above are some basic software engineering practices. Please do refactor and make the code better.

@s-azumi
Could you please the following support?

to remove clang-format commit for another packages
to check code by cppcheck
to create readme and overview documents
to do enrich #1434

I think to clear for 1,2,3,4,5,8,9,10 comments.
Also, we need to add unit test codes.
@dejanpan

How will you make sure that this does not break everything in Autoware since it is such a fundamental change?

This proposal(#1434) was submitted in August.
But nobody has proposed any problems, any comments.
So, we judged that there was no problem even if we replaced it.
In addition, the operation confirmation by the Integration test has been ongoing for a long time now.
Also, we can not continue to support current decision maker, because we have not used current decision_maker since six months ago and we will not use it from now on.

@s-azumi @yk-fujii can you confirm that the packages I've listed in the PR comment are the ones affected by this PR?

At 7001f22, 84 files and the following components are changed:

amathutils_lib
diagnostics_lib
state_machine_lib
decision_maker
lane_planner
astar_planner
dp_planner
waypoint_follower
waypoint_maker
vector_map
autoware_config_msgs
autoware_msgs
vehicle_sender
autoware_rviz_plugins
runtime_manager

$ git diff develop..feature/rebuild_decision_maker --name-only
ros/src/common/libs/amathutils_lib/CMakeLists.txt
ros/src/common/libs/amathutils_lib/include/amathutils_lib/amathutils.hpp
ros/src/common/libs/amathutils_lib/src/Amathutils.cpp
ros/src/common/libs/amathutils_lib/test/src/test_amathutils_lib.cpp
ros/src/common/libs/amathutils_lib/test/test_amathutils_lib.test
ros/src/common/libs/diagnostics_lib/diag_lib/include/diag_lib/diag_filter.h
ros/src/common/libs/diagnostics_lib/diag_lib/include/diag_lib/diag_info.h
ros/src/common/libs/diagnostics_lib/diag_lib/include/diag_lib/diag_macros.h
ros/src/common/libs/diagnostics_lib/diag_lib/include/diag_lib/diag_manager.h
ros/src/common/libs/diagnostics_lib/diag_lib/include/diag_lib/diag_manager_config.h
ros/src/common/libs/diagnostics_lib/diag_lib/include/diag_lib/diag_subscriber.h
ros/src/common/libs/diagnostics_lib/diag_lib/include/diag_lib/error_category.h
ros/src/common/libs/diagnostics_lib/diag_lib/include/diag_lib/rate_checker.h
ros/src/common/libs/diagnostics_lib/diag_lib/include/diag_lib/watchdog.h
ros/src/common/libs/diagnostics_lib/diag_lib/src/diag_filter.cpp
ros/src/common/libs/diagnostics_lib/diag_lib/src/diag_manager.cpp
ros/src/common/libs/diagnostics_lib/diag_lib/src/diag_subscriber.cpp
ros/src/common/libs/diagnostics_lib/diag_lib/src/rate_checker.cpp
ros/src/common/libs/diagnostics_lib/diag_lib/src/watchdog.cpp
ros/src/common/libs/diagnostics_lib/diag_lib/src/watchdog_node.cpp
ros/src/common/libs/diagnostics_lib/fake_autoware_nodes/include/fake_autoware_nodes/fake_publisher.h
ros/src/common/libs/diagnostics_lib/fake_autoware_nodes/include/fake_autoware_nodes/fake_subscriber.h
ros/src/common/libs/diagnostics_lib/fake_autoware_nodes/src/fake_publisher.cpp
ros/src/common/libs/diagnostics_lib/fake_autoware_nodes/src/fake_publisher_node.cpp
ros/src/common/libs/diagnostics_lib/fake_autoware_nodes/src/fake_subscriber.cpp
ros/src/common/libs/diagnostics_lib/fake_autoware_nodes/src/fake_subscriber_node.cpp
ros/src/common/libs/state_machine_lib/CMakeLists.txt
ros/src/common/libs/state_machine_lib/include/state_machine_lib/state.hpp
ros/src/common/libs/state_machine_lib/include/state_machine_lib/state_common.hpp
ros/src/common/libs/state_machine_lib/include/state_machine_lib/state_context.hpp
ros/src/common/libs/state_machine_lib/include/state_machine_lib/state_drive.hpp
ros/src/common/libs/state_machine_lib/include/state_machine_lib/state_emg.hpp
ros/src/common/libs/state_machine_lib/include/state_machine_lib/state_flags.hpp
ros/src/common/libs/state_machine_lib/include/state_machine_lib/state_main.hpp
ros/src/common/libs/state_machine_lib/src/state_context.cpp
ros/src/computing/planning/decision/packages/decision_maker/CMakeLists.txt
ros/src/computing/planning/decision/packages/decision_maker/README.md
ros/src/computing/planning/decision/packages/decision_maker/autoware_state_drive.yaml
ros/src/computing/planning/decision/packages/decision_maker/autoware_state_mission.yaml
ros/src/computing/planning/decision/packages/decision_maker/autoware_state_vehicle.yaml
ros/src/computing/planning/decision/packages/decision_maker/include/cross_road_area.hpp
ros/src/computing/planning/decision/packages/decision_maker/include/decision_maker_node.hpp
ros/src/computing/planning/decision/packages/decision_maker/include/decision_maker_param.hpp
ros/src/computing/planning/decision/packages/decision_maker/include/planner_selector.hpp
ros/src/computing/planning/decision/packages/decision_maker/interface.yaml
ros/src/computing/planning/decision/packages/decision_maker/launch/decision_maker.launch
ros/src/computing/planning/decision/packages/decision_maker/launch/planner_selector.launch
ros/src/computing/planning/decision/packages/decision_maker/nodes/decision_maker/cross_road_area.cpp
ros/src/computing/planning/decision/packages/decision_maker/nodes/decision_maker/decision_maker_node.cpp
ros/src/computing/planning/decision/packages/decision_maker/nodes/decision_maker/decision_maker_node_callback.cpp
ros/src/computing/planning/decision/packages/decision_maker/nodes/decision_maker/decision_maker_node_core.cpp
ros/src/computing/planning/decision/packages/decision_maker/nodes/decision_maker/decision_maker_node_decision.cpp
ros/src/computing/planning/decision/packages/decision_maker/nodes/decision_maker/decision_maker_node_init.cpp
ros/src/computing/planning/decision/packages/decision_maker/nodes/decision_maker/decision_maker_node_publish.cpp
ros/src/computing/planning/decision/packages/decision_maker/nodes/decision_maker/decision_maker_node_state_drive.cpp
ros/src/computing/planning/decision/packages/decision_maker/nodes/decision_maker/decision_maker_node_state_mission.cpp
ros/src/computing/planning/decision/packages/decision_maker/nodes/decision_maker/decision_maker_node_state_vehicle.cpp
ros/src/computing/planning/decision/packages/decision_maker/nodes/decision_maker/decision_maker_node_stateupdate.cpp
ros/src/computing/planning/decision/packages/decision_maker/nodes/planner_selector/planner_selector_node.cpp
ros/src/computing/planning/decision/packages/decision_maker/package.xml
ros/src/computing/planning/mission/packages/lane_planner/launch/lane_select.launch
ros/src/computing/planning/mission/packages/lane_planner/nodes/lane_rule/lane_rule.cpp
ros/src/computing/planning/mission/packages/lane_planner/nodes/lane_select/lane_select_core.cpp
ros/src/computing/planning/mission/packages/lane_planner/nodes/lane_select/lane_select_core.h
ros/src/computing/planning/motion/packages/astar_planner/launch/velocity_set.launch
ros/src/computing/planning/motion/packages/astar_planner/nodes/velocity_set/velocity_set.cpp
ros/src/computing/planning/motion/packages/dp_planner/include/dp_planner_core.h
ros/src/computing/planning/motion/packages/dp_planner/launch/dp_planner.launch
ros/src/computing/planning/motion/packages/dp_planner/nodes/dp_planner_core.cpp
ros/src/computing/planning/motion/packages/waypoint_follower/nodes/twist_gate/twist_gate.cpp
ros/src/computing/planning/motion/packages/waypoint_follower/nodes/wf_simulator/wf_simulator.cpp
ros/src/computing/planning/motion/packages/waypoint_maker/nodes/waypoint_loader/waypoint_loader_core.cpp
ros/src/data/packages/vector_map/include/vector_map/vector_map.h
ros/src/msgs/autoware_config_msgs/msg/ConfigDecisionMaker.msg
ros/src/msgs/autoware_msgs/CMakeLists.txt
ros/src/msgs/autoware_msgs/msg/LaneArray.msg
ros/src/msgs/autoware_msgs/msg/VehicleLocation.msg
ros/src/msgs/autoware_msgs/msg/WaypointState.msg
ros/src/socket/packages/vehicle_socket/nodes/vehicle_sender/vehicle_sender.cpp
ros/src/util/packages/autoware_rviz_plugins/CMakeLists.txt
ros/src/util/packages/autoware_rviz_plugins/plugin_description.xml
ros/src/util/packages/autoware_rviz_plugins/src/decision_maker_panel/decision_maker_panel.cpp
ros/src/util/packages/autoware_rviz_plugins/src/decision_maker_panel/decision_maker_panel.h
ros/src/util/packages/runtime_manager/scripts/computing.yaml

@kfunaoka @s-azumi I'd suggest checking for code coverage on feature/rebuild_decision_maker once the tests for the individual components have been added and before merging to develop in case something is missing

@sgermanserrano Thank you for the advice. I checked the coverage and it's not good enough.
I've discussed with @shinpei0208 and @gbiggs how we should go. Since all the activities in TierIV depend on this branch, we'd like to minimize the gap between what TierIV is doing and what the community can do.
Would you mind our merging this branch as experimental with notifying on Runtime Manager GUI?
We decided requesting to create tests to software engineering company. Once the test can be created enough, we can remove the experimental label of decision_maker.

@kfunaoka @gbiggs I agree with the approach after merging #2028
Nevertheless, I think knowledge of the underlying algorithm is needed for the development of tests so I'm not sure the depth of testing that a software engineering company can bring. IMO improved documentation of the algorithms/nodes would improve testing contributions from the wider community

@sgermanserrano Thanks! Since We're very close to them, we'll improve tests and documentation with them. Since lack of the documentation and tests is making the utilization and contribution difficult, they are two of the most important things to do.


Warning about ill-conditioned matrix

I almost always get this warning:
/data4/smurray/Projects/radio/EOR/Edges/cal_coefficients/src/edges_cal/modelling.py:248: LinAlgWarning: Ill-conditioned matrix (rcond=1.26264e-17): result may │
not be accurate.                                                                                │
  param = sp.linalg.solve(R1, np.dot(Q1.T, Wydata))

Not sure exactly why, but should be looked into.
Reproduce simply by doing edges-cal run on the November 2019 calibration data.

This is fixed.


CT: The requested module './util/ColorMatrixFilter.js' does not provide an export named 'default'

Similar to https://github.com/phetsims/kite/issues/95
calculus-grapher : fuzz : unbuilt
https://bayes.colorado.edu/continuous-testing/ct-snapshots/1646306694541/calculus-grapher/calculus-grapher_en.html?continuousTest=%7B%22test%22%3A%5B%22calculus-grapher%22%2C%22fuzz%22%2C%22unbuilt%22%5D%2C%22snapshotName%22%3A%22snapshot-1646306694541%22%2C%22timestamp%22%3A1646310226369%7D&brand=phet&ea&fuzz&memoryLimit=1000
Query: brand=phet&ea&fuzz&memoryLimit=1000
Uncaught SyntaxError: The requested module './util/ColorMatrixFilter.js' does not provide an export named 'default'
SyntaxError: The requested module './util/ColorMatrixFilter.js' does not provide an export named 'default'
id: Bayes Chrome
Snapshot from 3/3/2022, 4:24:54 AM

Seems related to https://github.com/phetsims/kite/issues/95


:art: Release 2.0 cleanup

Problem Statement
This codebase hasn't seen a refactor and cleanup in a while. In the interest of maintainability one should be performed.
Solution

Breaking: clear credentials from AWS credentials file on logout

Breaking: make awscli use default (not generated) profile name

Breaking: remove config.properties from source

Breaking: remove log4j and its configuration

Clean up MFA handling code (rat nest -> mouse nest)

Allow fast reuse of existing, unexpired named sessions

Allow okta-aws {profilename} logout on macOS/Linux/*nix-likes

Address most SonarLint findings

Update third party notices (IANAL)

Update copyright to 2019

Apply Apache 2.0 header to most files

Update dependencies to latest stable versions

@bogeylnj @aparkerlue @froshyfrosh @Joeskyyy mh-psaad mind giving this a once-over? Focus on pieces of it you are familiar with or have strong opinions about.
This is a non-trivial change, but I've been pretty thorough in my manual testing outside of certain MFA factors like Okta Push, Yubikeys, and hardware tokens which I don't have to test with.
@robkinyon-roivant @jeugene @duhaas2015 @au457415 @mrbelowski @tbenshalom you folks appear to be using this pretty heavily for production environments. Do you anticipate problems from the breaking changes I listed?

@AlainODea We started using this tool in the last 4 weeks, so were not suffered from breaking-changes.
Also we had some problems with the PowerShell downloads in win 7, so at the end we put the jar in an internal repository, and and did the needed changes in the PS script. So currently, we have more control on the "version" our users are using.
Thanks for the tool and for the help.

@AlainODea we don't use any logout functionality, so the clearing won't matter - we just let credentials expire and, for the most part, re-run this tool every time a new action is happening. The log4j change won't matter to us because we don't look at the log messages in an automated way.
I'd like to know more about "make awscli use default (not generated) profile name" and "remove config.properties from source" - what exactly would those do?

@robkinyon-roivant thank you for your feedback.

I'd like to know more about "make awscli use default (not generated) profile name" and "remove config.properties from source" - what exactly would those do?

awscli used to generate a profile name and save it to the credentials file if OKTA_PROFILE was not supplied. Now it will update the default profile in AWS CLI instead. This will overwrite the default profile credentials if someone was depending on those.
Removing config.properties from source should have no impact on people unless they are installing it by copy-pasting config.properties from the repo and updating it instead of using the installer.

@tbenshalom thank you.

@AlainODea We started using this tool in the last 4 weeks, so were not suffered from breaking-changes.
Also we had some problems with the PowerShell downloads in win 7, so at the end we put the jar in an internal repository, and and did the needed changes in the PS script. So currently, we have more control on the "version" our users are using.
Thanks for the tool and for the help.

None of these changes have been released yet. This is a proposal to go to 2.0 with breaking changes. I wanted to gather feedback on the breaking changes first to avoid seriously frustrating people :)

awscli used to generate a profile name and save it to the credentials file if OKTA_PROFILE was not supplied. Now it will update the default profile in AWS CLI instead. This will overwrite the default profile credentials if someone was depending on those.

So, does this mean if we supply a OKTA_PROFILE, that awscli will set that to the default profile? Will the other profiles (e.g., I have 7 in one of our AWS accounts) still be accessible?

Breaking: make awscli use default (not generated) profile name

Yikes, is this configurable? I like to avoid having a default AWS profile in my configs to avoid accidentally running awscli commands against unintended accounts.

@Joeskyyy thank you for your feedback.

Breaking: make awscli use default (not generated) profile name

Yikes, is this configurable? I like to avoid having a default AWS profile in my configs to avoid accidentally running awscli commands against unintended accounts.

It is not configurable in the proposed changes. This can still be changed and leaving that option open is a big motivator for having this consultation with you folks before making these radical changes.
My recommendation is to use OKTA_PROFILE instead. My rationale for getting rid of awscli.java and the command is because it leads to ~/.aws/credentials clutter that it never cleans up.
Is using okta-aws {profilename} a workable alternative to awscli for you?
Would you prefer that I keep the existing autogeneration behavior in awscli?

@AlainODea I suppose I understand the rationale. I think it's probably going to cause a lot of pain down the line, especially since most of the power users of this are going to have multiple profiles they'll be working with. I think, personally, using specific profile names is going to be much better in terms of support. Or at least being able to override not having the default profile be the be-all-end-all.
That being said, as long as one could do okta-aws my-awesome-profile I think the bandaid could be ripped off...

@robkinyon-roivant good question!

awscli used to generate a profile name and save it to the credentials file if OKTA_PROFILE was not supplied. Now it will update the default profile in AWS CLI instead. This will overwrite the default profile credentials if someone was depending on those.

So, does this mean if we supply a OKTA_PROFILE, that awscli will set that to the default profile? Will the other profiles (e.g., I have 7 in one of our AWS accounts) still be accessible?

The proposed awscli command will override the OKTA_PROFILE environment variable.
You will still be able to use okta-aws {profilename} ... to choose a specific profile by name.
This bit is unchanged. The documentation is a bit misleading as it documents what WithOkta.java does with the configuration and environment, not what the bundled commands do. All of the existing bundled commands override OKTA_PROFILE, usually replacing it with a positional parameter.

@bogeylnj @aparkerlue @froshyfrosh @jeugene @duhaas2015 @au457415 @mrbelowski I will be keeping this open until at least March 18th.
After March 18th, I will check if there are any deal-breakers. If there are, I will work to address them. If not, I'll merge and publish v2.0.0 with these changes.

@AlainODea Sorry I don't have the time for a deeper review, maybe next week I can have a closer look. So let me put it like this: I am using the the library only programmatically like this:
OktaAwsCliEnvironment environment = new OktaAwsCliEnvironment(browserAuth, oktaOrg, oktaUsername, oktaPassword ('Supplier<String>'), oktaCookiesPath, oktaProfile, oktaAwsAppUrl, awsRoleToAssume, stsDuration, awsRegion, oktaEnvMode)
AWSSessionCredentials awsCredentials = AWSCredentialsUtil.getAWSCredential(environment);

The AWSSessionCredentials are then used for several functionalities of the AWS Java SDK (accessing s3, creating EMR clusters, creating and calling Lambdas, ...).
As long as this still works, I'm happy :-)
On Monday I will ask some of my colleagues to also have a look at your proposal (maybe it's possible to wait a few more days - sorry I'm a bit late to the party).

@froshyfrosh I can wait a few extra days if your team needs it. I can’t imagine your use case will be impacted by the breaking changes.

@AlainODea I asked my colleagues and there are no complains from our side. Thank you very much and good luck for the big update.

@froshyfrosh thank you for letting me know.


Support for all different accent colors, Minecraft versions from 1.6.1 to 1.19.3 and lot more.

Fixes:

Fixed wrong pathname assets/minecraft/items -> assets/minecraft/item, this has been like this since the 1.14 version.

This fixes colors of empty armor slots for 1.14+.

Fixed a lot of small issues

Brewing stand progress bar one pixel offset.
Few pixels in beacon inventory.
Anvil inventory bottom corners not being round.
One pixel offset in looms UI and another one pixel offset in banner pattern slot.
One pixel offset in anvil UI.
One pixel offset in stonecutter UI.
One pixel offset in grindstone output slot.
Few pixels in advancements UI.
One pixel offset in game mode changer UI.

Fixed creative inventory tab names in the language file for 1.19.3+

Changes:

Changed current hand slot texture to use an accent color.
Made changes to all advancement menu textures.
Changes to anvil UI

Item renaming box now only shows up when there is something to rename in anvil.
Made different parts of anvil UI connected together for better text visibility when interacting with items in anvil.

Changed horse/donkey/Llama inventory buttons and inventory look round like every other button/inventory.
Changed the color of recipe book outline in inventory. Before it was same color as the background so it didn't show up.
Changes to following textures:

Loom
Stonecutter
Grindstone
Enchant table
Gamemode switcher
Inventory

Changed all inventory textures to have different sections separated.
Changed main menu titles to be the same in every flavor for now.

Additions:

Python script that automatically creates a resource pack for each flavor and accent color.

Support for all accent colors.
Creates 56 different versions of the resource pack from one template resource pack.
Easier to modify. Only 1 file needs to be changed and it can be updated for each flavor and accent color with this script.
Support for all languages Minecraft supports.

Folder "lang" to store everything related to language files.
Script to import all language files from Minecraft object folders.
Language files are per game version, new ones are needed when adding support for new versions.

Support for language files of mods.

Added template resource packs for every pack format. All versions since 1.6.1 are now supported :)

Folder "template" to store all the template resource packs.

Each version has its own template resource pack.

Template pack uses colors of flavor mocha for everything other than accent color. Accent color in the template is '#FF0000' (Red).

Added template language file to assets/minecraft/lang. (this is used by the script)

Added a lot of new entries to language files.

Each template has a "template_settings.json" file that stores the template version and names of files that the script should ignore.

Added missing textures:

Thin-layout version of the effect list texture to the inventory.
Freezing hearts to icons.png.
Chat tags textures.
Streaming indicators.
Two missing buttons for fabric mod Mod Menu.
Second hand texture when the main hand is left hand.

Added support for mod Organizable Play Screens

Added language file for mod Show Me Your Skin!

If anyone wants to try the pack with these new changes and give feedback. These are for Minecraft 1.19.3

Looks good, only issue we're having with it is the lack of theming on some modded UI (namely EMI impacts us the most) but once this gets merged further modded edits will be super simple!


Drop dependency on inline-c in the Z3 backend

inline-c requires many dependencies and also requires using TH. The FFI alone suffices for the small code that we have in the Z3 backend.

Note that Z3_eval_smtlib2_string has been integrated into haskell-z3 so another option would be to use that library. But I agree we don't need it for the small code we have.


Can the images slide vertically?

from top to bottom instead of side to side. just wondering if there was a configuration for that

Has someone implemented the vertical scroll with the FX?


Add importations of infection

The model currently treats the households as a closed population. We need to consider importations of infection from other populations.
It would be good for this to be time-dependent, i.e. the rate of importation into a county depends on the projected infectious prevalence in neighbouring counties or in the country as a whole. We essentially want to change the force of infection term FOI_det (similarly FOI_undet) calculated on lines 277-8 of model.common from:
FOI_det = self.states_sus_only.dot(
            diag(self.det_trans_matrix.dot(det_by_class.T)))

to
FOI_det = self.states_sus_only.dot(
            diag(self.det_trans_matrix.dot(det_by_class.T + epsilon*ext_det_by_class.T)))

where epsilon<1 is a per-case rate of importation and ext_det_by_class is the external age-structured prevalence of infection estimated from other projections. For instance, we could simulate the national-level dynamics and then simulate a single county by taking ext_det_by_class to be the detected cases over time in this national simulation (this would assume each county's contribution is negligible and that all counties are homogeneously connected).
If a time-varying import rate is too computationally intensive, we can just add a small constant rate.

I think this is now fixed, isn't it?


Faster set_data()

Modified Tensor.set_data() to directly accept a numpy array. Previously arrays were implicitly converted to lists which is slow
Simplified .numpy() which also results in a small performance boost

This is great @alexander-g !

This is great @alexander-g !


feat: Add release_actions fastlane plugin

Issue #, if available: n/a
Description of changes: Adds a fastlane plugin to be hosted for usage on the iOS and Android projects. Fastlane is a continuous delivery toolkit with pre-defined actions to make it easier to build and deploy applications and libraries. These actions and helper libraries handle various utility functions such as parsing Conventional Commits, writing changelogs, and bumping a version string as per the Semantic Versioning specification.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

For those reviewing, here’s how the actions in this plugin would be used in a Fastfile:
#Fastfile
desc "Create a release version by building and committing a changelog, pushing a tag to GitHub, and pushing pods to CocoaPods"
  lane :release do
    current_version = Git.last_version
    next_version, commits = calculate_next_release_version

    UI.message("Release version: #{next_version}")

    # Increment all specs and plists
    increment_versions(version: next_version)

    changelog = build_changelog(version: next_version.to_s, commits: commits)

    UI.message(changelog)

    write_changelog(changelog: changelog, path: "CHANGELOG.md")

    # Commit and push
    release_commit(version: next_version)

    # Create tag and push to origin
    add_tag(version: next_version)

    # Push pods
    release_pods()
  end

Some comments, but overall, it looks great! Lot of work, and really nice organization. Thanks for putting this together, @jpignata and @iartemiev !


[CSL-2184] Fixes in NTP logic after switching to asyncs

See commits' descriptions.
Tested with api/time/difference and /api/v1/node-info endpoints, now they don't hang.

I agree, thorough approach requires that. I think it's worth creating a ticket and do soon, but we already gain reasonable speed with this PR and #2449.

Ok, so lets make some progress here.
In the first patch we can just delete the impl of ntpSingleShot entirely.
For the second, I suggest we grab commit c4507b42f21ad207502fea43f88b271fe46f201a and squash into the second patch here. Then we can do a little obvious tidying up and call it a hotfix.
We can do a proper assessment of whether this is single shot or repeated as a follow-up.

@Martoon-00 Let me do that to optimise timings here -- let's check in when you emerge from sleep 😉

@dcoutts Commit cherry-picked. I had to pull in also the one which swapped the NTP servers in favour of pool.ntp.org as that seemed to make a huge performance difference.

Fix also didn't help for me without 073ec29cf where ntpSingleShot was partially replaced with gtNtpStatusOnce.

Fix also didn't help for me without 073ec29cf

Interestingly enough with just the two commits I've mentioned, I'm getting consistent (good) results:
[node.plugin.ntp-check:INFO:ThreadId 1843] [2018-02-06 11:13:15.45 UTC] Created socket (family/addr): AF_INET/<IP_ADDRESS>:0
[node.plugin.ntp-check:INFO:ThreadId 1843] [2018-02-06 11:13:15.45 UTC] Created socket (family/addr): AF_INET6/[::]:0
[node.plugin.ntp-check:INFO:ThreadId 1843] [2018-02-06 11:13:15.45 UTC] Host "0.pool.ntp.org" is resolved: <IP_ADDRESS>:123
[node.plugin.ntp-check:INFO:ThreadId 1843] [2018-02-06 11:13:15.45 UTC] Host "2.pool.ntp.org" is resolved: <IP_ADDRESS>:123
[node.plugin.ntp-check:INFO:ThreadId 1843] [2018-02-06 11:13:15.45 UTC] Host "3.pool.ntp.org" is resolved: <IP_ADDRESS>:123
[node.plugin.ntp-check:INFO:ThreadId 1845] [2018-02-06 11:13:15.45 UTC] Launched NTP client
[node.plugin.ntp-check:DEBUG:ThreadId 1851] [2018-02-06 11:13:15.45 UTC] Sending requests
[node.plugin.ntp-check:DEBUG:ThreadId 1848] [2018-02-06 11:13:15.49 UTC] Got packet NtpPacket {ntpParams = 28, ntpPoll = 3, ntpOriginTime =<PHONE_NUMBER>455291mcs, ntpReceivedTime =<PHONE_NUMBER>481648mcs, ntpTransmitTime =<PHONE_NUMBER>481740mcs}
[node.plugin.ntp-check:DEBUG:ThreadId 1848] [2018-02-06 11:13:15.49 UTC] Received time delta 5451 mcs
[node.plugin.ntp-check:DEBUG:ThreadId 1848] [2018-02-06 11:13:15.50 UTC] Got packet NtpPacket {ntpParams = 36, ntpPoll = 4, ntpOriginTime =<PHONE_NUMBER>455233mcs, ntpReceivedTime =<PHONE_NUMBER>481733mcs, ntpTransmitTime =<PHONE_NUMBER>481739mcs}
[node.plugin.ntp-check:DEBUG:ThreadId 1848] [2018-02-06 11:13:15.50 UTC] Received time delta 3853 mcs
[node.plugin.ntp-check:DEBUG:ThreadId 1848] [2018-02-06 11:13:15.52 UTC] Got packet NtpPacket {ntpParams = 36, ntpPoll = 4, ntpOriginTime =<PHONE_NUMBER>455296mcs, ntpReceivedTime =<PHONE_NUMBER>493979mcs, ntpTransmitTime =<PHONE_NUMBER>493985mcs}
[node.plugin.ntp-check:DEBUG:ThreadId 1848] [2018-02-06 11:13:15.52 UTC] Received time delta 6044 mcs
[node.plugin.ntp-check:DEBUG:ThreadId 1851] [2018-02-06 11:13:15.52 UTC] Collecting responses
[node.plugin.ntp-check:INFO:ThreadId 1851] [2018-02-06 11:13:15.52 UTC] Evaluated clock offset 5451 mcs for request at<PHONE_NUMBER>455291 mcs
[node.plugin.ntp-check:INFO:ThreadId 1843] [2018-02-06 11:13:15.52 UTC] NTP client is stopped
[node.plugin.ntp-check:DEBUG:ThreadId 1848] [2018-02-06 11:13:15.52 UTC] doReceive failed on socket<socket: 44>, reason: threadWait: invalid argument (Bad file descriptor), recreate socket in 5 sec
GET /api/v1/node-info
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
  Status: 200 OK 0.070215s
[node.plugin.ntp-check:DEBUG:ThreadId 1849] [2018-02-06 11:13:15.52 UTC] doReceive failed on socket<socket: 45>, reason: threadWait: invalid argument (Bad file descriptor), recreate socket in 5 sec
[node:WARNING:ThreadId 1837] [2018-02-06 11:13:15.73 UTC] Failed to choose appropriate conversation: [Mismatched protocolMagic, our: 170987650, their: 633343913]
[node:NOTICE:ThreadId 1674] [2018-02-06 11:13:15.73 UTC] subscriptionWorker: lost connection to NodeId <IP_ADDRESS>:3000:0 Exceptional (MismatchedProtocolMagic 170987650 633343913)
[node:NOTICE:ThreadId 1674] [2018-02-06 11:13:15.73 UTC] subscriptionWorker: subscribing to NodeId <IP_ADDRESS>:3000:0
[node.plugin.ntp-check:INFO:ThreadId 1866] [2018-02-06 11:13:16.40 UTC] Created socket (family/addr): AF_INET/<IP_ADDRESS>:0
[node.plugin.ntp-check:INFO:ThreadId 1866] [2018-02-06 11:13:16.40 UTC] Created socket (family/addr): AF_INET6/[::]:0
[node.plugin.ntp-check:INFO:ThreadId 1866] [2018-02-06 11:13:16.40 UTC] Host "0.pool.ntp.org" is resolved: <IP_ADDRESS>:123
[node.plugin.ntp-check:INFO:ThreadId 1866] [2018-02-06 11:13:16.41 UTC] Host "2.pool.ntp.org" is resolved: <IP_ADDRESS>:123
[node.plugin.ntp-check:INFO:ThreadId 1866] [2018-02-06 11:13:16.41 UTC] Host "3.pool.ntp.org" is resolved: <IP_ADDRESS>:123
[node.plugin.ntp-check:INFO:ThreadId 1868] [2018-02-06 11:13:16.41 UTC] Launched NTP client
[node.plugin.ntp-check:DEBUG:ThreadId 1874] [2018-02-06 11:13:16.41 UTC] Sending requests
[node.plugin.ntp-check:DEBUG:ThreadId 1871] [2018-02-06 11:13:16.44 UTC] Got packet NtpPacket {ntpParams = 28, ntpPoll = 3, ntpOriginTime =<PHONE_NUMBER>411437mcs, ntpReceivedTime =<PHONE_NUMBER>434121mcs, ntpTransmitTime =<PHONE_NUMBER>434200mcs}
[node.plugin.ntp-check:DEBUG:ThreadId 1871] [2018-02-06 11:13:16.44 UTC] Received time delta 3701 mcs
[node.plugin.ntp-check:DEBUG:ThreadId 1871] [2018-02-06 11:13:16.46 UTC] Got packet NtpPacket {ntpParams = 36, ntpPoll = 4, ntpOriginTime =<PHONE_NUMBER>411399mcs, ntpReceivedTime =<PHONE_NUMBER>443900mcs, ntpTransmitTime =<PHONE_NUMBER>443906mcs}
[node.plugin.ntp-check:DEBUG:ThreadId 1871] [2018-02-06 11:13:16.46 UTC] Received time delta 6421 mcs
[node.plugin.ntp-check:DEBUG:ThreadId 1871] [2018-02-06 11:13:16.48 UTC] Got packet NtpPacket {ntpParams = 36, ntpPoll = 4, ntpOriginTime =<PHONE_NUMBER>411501mcs, ntpReceivedTime =<PHONE_NUMBER>455272mcs, ntpTransmitTime =<PHONE_NUMBER>455278mcs}
[node.plugin.ntp-check:DEBUG:ThreadId 1871] [2018-02-06 11:13:16.48 UTC] Received time delta 8583 mcs
[node.plugin.ntp-check:DEBUG:ThreadId 1874] [2018-02-06 11:13:16.48 UTC] Collecting responses
[node.plugin.ntp-check:INFO:ThreadId 1874] [2018-02-06 11:13:16.48 UTC] Evaluated clock offset 6421 mcs for request at<PHONE_NUMBER>411399 mcs
[node.plugin.ntp-check:INFO:ThreadId 1866] [2018-02-06 11:13:16.48 UTC] NTP client is stopped
[node.plugin.ntp-check:DEBUG:ThreadId 1871] [2018-02-06 11:13:16.48 UTC] doReceive failed on socket<socket: 44>, reason: threadWait: invalid argument (Bad file descriptor), recreate socket in 5 sec
[node.plugin.ntp-check:DEBUG:ThreadId 1872] [2018-02-06 11:13:16.48 UTC] doReceive failed on socket<socket: 45>, reason: threadWait: invalid argument (Bad file descriptor), recreate socket in 5 sec
GET /api/v1/node-info
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
  Status: 200 OK 0.074989s
[node:WARNING:ThreadId 1864] [2018-02-06 11:13:16.96 UTC] Failed to choose appropriate conversation: [Mismatched protocolMagic, our: 170987650, their: 633343913]
[node:NOTICE:ThreadId 1674] [2018-02-06 11:13:16.96 UTC] subscriptionWorker: lost connection to NodeId <IP_ADDRESS>:3000:0 Exceptional (MismatchedProtocolMagic 170987650 633343913)
[node.plugin.ntp-check:INFO:ThreadId 1885] [2018-02-06 11:13:17.08 UTC] Created socket (family/addr): AF_INET/<IP_ADDRESS>:0
[node.plugin.ntp-check:INFO:ThreadId 1885] [2018-02-06 11:13:17.08 UTC] Created socket (family/addr): AF_INET6/[::]:0
[node.plugin.ntp-check:INFO:ThreadId 1885] [2018-02-06 11:13:17.08 UTC] Host "0.pool.ntp.org" is resolved: <IP_ADDRESS>:123
[node.plugin.ntp-check:INFO:ThreadId 1885] [2018-02-06 11:13:17.09 UTC] Host "2.pool.ntp.org" is resolved: <IP_ADDRESS>:123
[node.plugin.ntp-check:INFO:ThreadId 1885] [2018-02-06 11:13:17.09 UTC] Host "3.pool.ntp.org" is resolved: <IP_ADDRESS>:123
[node.plugin.ntp-check:INFO:ThreadId 1887] [2018-02-06 11:13:17.09 UTC] Launched NTP client
[node.plugin.ntp-check:DEBUG:ThreadId 1893] [2018-02-06 11:13:17.09 UTC] Sending requests
[node.plugin.ntp-check:DEBUG:ThreadId 1890] [2018-02-06 11:13:17.13 UTC] Got packet NtpPacket {ntpParams = 28, ntpPoll = 3, ntpOriginTime =<PHONE_NUMBER>092335mcs, ntpReceivedTime =<PHONE_NUMBER>115870mcs, ntpTransmitTime =<PHONE_NUMBER>115953mcs}
[node.plugin.ntp-check:DEBUG:ThreadId 1890] [2018-02-06 11:13:17.13 UTC] Received time delta 4385 mcs
[node.plugin.ntp-check:DEBUG:ThreadId 1890] [2018-02-06 11:13:17.13 UTC] Got packet NtpPacket {ntpParams = 36, ntpPoll = 4, ntpOriginTime =<PHONE_NUMBER>092205mcs, ntpReceivedTime =<PHONE_NUMBER>118261mcs, ntpTransmitTime =<PHONE_NUMBER>118267mcs}
[node.plugin.ntp-check:DEBUG:ThreadId 1890] [2018-02-06 11:13:17.13 UTC] Received time delta 2954 mcs
[node.plugin.ntp-check:DEBUG:ThreadId 1890] [2018-02-06 11:13:17.15 UTC] Got packet NtpPacket {ntpParams = 36, ntpPoll = 4, ntpOriginTime =<PHONE_NUMBER>092340mcs, ntpReceivedTime =<PHONE_NUMBER>128311mcs, ntpTransmitTime =<PHONE_NUMBER>128316mcs}
[node.plugin.ntp-check:DEBUG:ThreadId 1890] [2018-02-06 11:13:17.15 UTC] Received time delta 4510 mcs
[node.plugin.ntp-check:DEBUG:ThreadId 1893] [2018-02-06 11:13:17.15 UTC] Collecting responses
[node.plugin.ntp-check:INFO:ThreadId 1893] [2018-02-06 11:13:17.15 UTC] Evaluated clock offset 4385 mcs for request at<PHONE_NUMBER>092335 mcs
[node.plugin.ntp-check:INFO:ThreadId 1885] [2018-02-06 11:13:17.15 UTC] NTP client is stopped
[node.plugin.ntp-check:DEBUG:ThreadId 1890] [2018-02-06 11:13:17.15 UTC] doReceive failed on socket<socket: 44>, reason: threadWait: invalid argument (Bad file descriptor), recreate socket in 5 sec
GET /api/v1/node-info
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
  Status: 200 OK 0.069197s
[node.plugin.ntp-check:INFO:ThreadId 1903] [2018-02-06 11:13:17.67 UTC] Created socket (family/addr): AF_INET/<IP_ADDRESS>:0
[node.plugin.ntp-check:INFO:ThreadId 1903] [2018-02-06 11:13:17.67 UTC] Created socket (family/addr): AF_INET6/[::]:0
[node.plugin.ntp-check:INFO:ThreadId 1903] [2018-02-06 11:13:17.68 UTC] Host "0.pool.ntp.org" is resolved: <IP_ADDRESS>:123
[node.plugin.ntp-check:INFO:ThreadId 1903] [2018-02-06 11:13:17.68 UTC] Host "2.pool.ntp.org" is resolved: <IP_ADDRESS>:123
[node.plugin.ntp-check:INFO:ThreadId 1903] [2018-02-06 11:13:17.68 UTC] Host "3.pool.ntp.org" is resolved: <IP_ADDRESS>:123
[node.plugin.ntp-check:DEBUG:ThreadId 1911] [2018-02-06 11:13:17.68 UTC] Sending requests
[node.plugin.ntp-check:INFO:ThreadId 1905] [2018-02-06 11:13:17.68 UTC] Launched NTP client
[node.plugin.ntp-check:DEBUG:ThreadId 1908] [2018-02-06 11:13:17.72 UTC] Got packet NtpPacket {ntpParams = 28, ntpPoll = 3, ntpOriginTime =<PHONE_NUMBER>683535mcs, ntpReceivedTime =<PHONE_NUMBER>706424mcs, ntpTransmitTime =<PHONE_NUMBER>706509mcs}
[node.plugin.ntp-check:DEBUG:ThreadId 1908] [2018-02-06 11:13:17.72 UTC] Received time delta 3538 mcs
[node.plugin.ntp-check:DEBUG:ThreadId 1908] [2018-02-06 11:13:17.73 UTC] Got packet NtpPacket {ntpParams = 36, ntpPoll = 4, ntpOriginTime =<PHONE_NUMBER>683474mcs, ntpReceivedTime =<PHONE_NUMBER>709789mcs, ntpTransmitTime =<PHONE_NUMBER>709795mcs}
[node.plugin.ntp-check:DEBUG:ThreadId 1908] [2018-02-06 11:13:17.73 UTC] Received time delta 1958 mcs
[node.plugin.ntp-check:DEBUG:ThreadId 1908] [2018-02-06 11:13:17.75 UTC] Got packet NtpPacket {ntpParams = 36, ntpPoll = 4, ntpOriginTime =<PHONE_NUMBER>683613mcs, ntpReceivedTime =<PHONE_NUMBER>725621mcs, ntpTransmitTime =<PHONE_NUMBER>725627mcs}
[node.plugin.ntp-check:DEBUG:ThreadId 1908] [2018-02-06 11:13:17.75 UTC] Received time delta 7814 mcs
[node.plugin.ntp-check:DEBUG:ThreadId 1911] [2018-02-06 11:13:17.75 UTC] Collecting responses
[node.plugin.ntp-check:INFO:ThreadId 1911] [2018-02-06 11:13:17.75 UTC] Evaluated clock offset 3538 mcs for request at<PHONE_NUMBER>683535 mcs
[node.plugin.ntp-check:INFO:ThreadId 1903] [2018-02-06 11:13:17.75 UTC] NTP client is stopped
[node.plugin.ntp-check:DEBUG:ThreadId 1908] [2018-02-06 11:13:17.75 UTC] doReceive failed on socket<socket: 44>, reason: threadWait: invalid argument (Bad file descriptor), recreate socket in 5 sec
GET /api/v1/node-info
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
  Status: 200 OK 0.073835s
[node.plugin.ntp-check:DEBUG:ThreadId 1909] [2018-02-06 11:13:17.75 UTC] doReceive failed on socket<socket: 45>, reason: threadWait: invalid argument (Bad file descriptor), recreate socket in 5 sec
^C[node.ntp-check:INFO:ThreadId 1673] [2018-02-06 11:13:20.10 UTC] NTP client is stopped
[node.ntp-check:DEBUG:ThreadId 1719] [2018-02-06 11:13:20.10 UTC] doReceive failed on socket<socket: 35>, reason: threadWait: invalid argument (Bad file descriptor), recreate socket in 5 sec
[node.ntp-check:DEBUG:ThreadId 1720] [2018-02-06 11:13:20.10 UTC] doReceive failed on socket<socket: 36>, reason: threadWait: invalid argument (Bad file descriptor), recreate socket in 5 sec
[node.worker.slotting.ntp:INFO:ThreadId 1699] [2018-02-06 11:13:20.10 UTC] NTP client is stopped
[node.worker.slotting.ntp:DEBUG:ThreadId 1736] [2018-02-06 11:13:20.10 UTC] doReceive failed on socket<socket: 39>, reason: threadWait: invalid argument (Bad file descriptor), recreate socket in 5 sec
[node.worker.slotting.ntp:DEBUG:ThreadId 1737] [2018-02-06 11:13:20.10 UTC] doReceive failed on socket<socket: 40>, reason: threadWait: invalid argument (Bad file descriptor), recreate socket in 5 sec
[node:DEBUG:ThreadId 1669] [2018-02-06 11:13:20.10 UTC] waiting for [] outbound bidirectional handlers
[node:DEBUG:ThreadId 1669] [2018-02-06 11:13:20.10 UTC] waiting for [] outbound inbound

Can we squash the middle two patches together. They're one logical unit.

Leave it with me, thanks Duncan!


Restructure the examples

We should have example crates per chip like we do in esp-wifi, esp-medtls etc. to eliminate the need to edit Cargo.toml for some chips

This crate moves to the esp-hal repo. Will be done there


feat: add math/base/special/dirac-deltaf

Resolves #649
Description

What is the purpose of this pull request?

This pull request:

adds math/base/special/dirac-deltaf

Related Issues

Does this pull request have any related issues?

This pull request:

resolves #649

Questions

Any questions for reviewers of this pull request?

No.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

/stdlib update-copyright-years


TabError: inconsistent use of tabs and spaces in indentation

I run $ python3 image.py
Im using Python 3.5.3 and has the ILI9225 connected to my raspberrypi 3 model B
and I get this error:
Traceback (most recent call last):
File "image.py", line 23, in
import BHack_ILI9225 as TFT
File "", line 969, in _find_and_load
File "", line 958, in _find_and_load_unlocked
File "", line 664, in _load_unlocked
File "", line 634, in _load_backward_compatible
File "/usr/local/lib/python3.5/dist-packages/BHack_ILI9225-1.0.0-py3.5.egg/BHack_ILI9225/init.py", line 21, in
File "", line 969, in _find_and_load
File "", line 954, in _find_and_load_unlocked
File "", line 896, in _find_spec
File "", line 1147, in find_spec
File "", line 1123, in _get_spec
File "", line 1104, in _legacy_get_spec
File "", line 444, in spec_from_loader
File "", line 541, in spec_from_file_location
File "/usr/local/lib/python3.5/dist-packages/BHack_ILI9225-1.0.0-py3.5.egg/BHack_ILI9225/ILI9225.py", line 275
self.command(ILI9225_HORIZONTAL_WINDOW_ADDR1).data(x1);
^
TabError: inconsistent use of tabs and spaces in indentation
Let me know if I can give you any more information to reproduce or debug.
Thanks!

i am having the same issue. Found any fixes?

Guys, just run:
sed -i 's/\t/        /g' BHack_ILI9225/ILI9225.py
and then run setup.py