Add fstab and helpers

Add a fstab for centos-7 & fedora-latest
Remove matchers

Description
[Describe what this change achieves]
Issues Resolved
[List any existing issues this PR resolves]
Contribution Check List

[ ] All tests pass.
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable

Because I'm a numpty?

There's some Chef 14 deprecation warnings in there as well

This is working as described now but I'm still getting an error from centos-7 not finding fstab even though the file "should" be there. Something looks like it's deleting it.
 No such file or directory @ rb_sysopen - /etc/fstab

Right this is good except the upstream "bug" in either Centos/Amazon or the syctl cookbook failing on a badly set key.

Why are the matchers removed? What should I use instead of create_swap_file?

Matchers are autogenerated by ChefDK now. If this causes failures you need to update ChefDK to a more recent release.

Ok. With this change, will the new matcher be create_swap_file or create_swapfile?

@tas50 do you know what the matcher that is automatically created for chefdk is?


support image:pull_policy to allow forcing 'always' behavior

Is your feature request related to a problem? Please describe.
I had an old version of a docker image on my computer that had been pulled previously.  Running the job via gitlab-ci-local failed  because the current pipeline was no longer compatible with the contents of the old image.  Docker's default behavior is to only pull the image if it is 'missing'.
By manually forcing the pull of the latest image locally with docker pull I was able to resolve the issue, but I had to go digging around in the pipeline code to find which image our pipeline was using.  This is bound to happen again in the future.  This is not a great experience for my developers and requires having to know the internals of the pipeline (rather than just using it).
Describe the solution you'd like
It would be nice if gitlab-ci-local supported image pull_policy.  This way we could set it to 'always' and avoid developers having stale images.
Our current dev deploy pipeline specifies an image:
.deploy/feature:
  # Job configuration for deploying apps on feature branches to dev account.
  image: "registry.gitlab.com/path/to/cicd-docker:latest"
  stage: "deploy"
  ...

Possible future:
.deploy/feature:
  # Job configuration for deploying apps on feature branches to dev account.
  image:
    name: "registry.gitlab.com/path/to/cicd-docker:latest"
    pull_policy: "always"
  stage: "deploy"

Describe alternatives you've considered
gitlab-ci-local could itself always run pull before run via its standard command-line option:
  --pull string                    Pull image before running ("always"|"missing"|"never") (default "missing")

or maybe allow an environment variable to be set to control that behavior.
Speaking of environment variables, I could not find a DOCKER_ environment variable to control this behavior from outside gitlab-ci-local.
Additional context
Here are some links to GitLab docs and discussion on their addition of the pull_policy feature:
https://docs.gitlab.com/ee/ci/yaml/?query=pull_policy#imagepull_policy
https://gitlab.com/gitlab-org/gitlab/-/issues/21619

To pitch in on this, we were actually considering this package, but the main limiter for us has been the fact that our customer base (developers) would be running stale images for a while.  We would prefer to be able to mention something in the configuration to pull always and use the CLI to deactivate that feature when needed (e.g. --no-pull).
I do not care about the gitlab job definition support, it's really about the tooling of gitlab-ci-local that we would want it to be configurable.

I will start working on a --image-pull-policy command line option.

I would make it a --pull and/or --no-pull option that would also be configurable (default to "pull"? )
Just a recommendation based on my experience, take it with a grain of salt ;)

https://github.com/firecow/gitlab-ci-local/blob/master/src/index.ts#L202
I have used the same terms that gitlab does --pull-policy=always or --pull-policy=if-not-present (default, until 5.x.x)


Add symlink relevant functions

fix bugs

Codecov Report

Merging #124 (db54a6f) into main (268edf4) will decrease coverage by 0.41%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##             main     #124      +/-   ##
==========================================
- Coverage   90.45%   90.04%   -0.42%
==========================================
  Files          33       33
  Lines        3741     3756      +15
==========================================
- Hits         3384     3382       -2
- Misses        357      374      +17

Impacted Files
Coverage Δ

megfile/smart.py
88.47% <75.00%> (-0.95%)
:arrow_down:

megfile/lib/s3_buffered_writer.py
90.55% <0.00%> (-7.87%)
:arrow_down:

megfile/lib/fnmatch.py
98.73% <0.00%> (-1.27%)
:arrow_down:

megfile/utils/__init__.py
79.51% <0.00%> (-0.61%)
:arrow_down:

megfile/s3.py
90.72% <0.00%> (-0.26%)
:arrow_down:

megfile/lib/glob.py
94.15% <0.00%> (+0.06%)
:arrow_up:

megfile/pathlike.py
88.74% <0.00%> (+0.07%)
:arrow_up:

Continue to review full report at Codecov.

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


[WIP] @revam/git-core v0.2.0

Opened a PR to keep track of progress on the next development release of package @revam/git-core.
Goals for this PR and next release:

[x] Structural changes. Redefine boundaries between classes and interfaces, private and public exports.
[x] Better configuration for rollup (remove eval-hack)
[x] Use the v7 release of @microsoft/api-extractor for better review file and API surface.
[x] Enable coverage report.
[ ] Adds tests for the whole code-base.
[ ] 100% coverage on existing code.

For anyone(?) wondering why the commits suddenly stopped, I've been reading up on how to mask modules/dependencies while testing (with Jest). The Controller class uses the file-system and network, and will need masking the "fs" module and "node-fetch" package when testing.
P.s.: all of these "status" updates are mostly for myself (since this is not a popular repository).

Changed merge target from master to develop/master. Should also update the source branch, but GitHub does not support renaming the source branch of a pull request without creating a new, separate, PR.

welp. haven't pushed in the latest changes (got 24 more commits on my machine) for over a year now, still, it's not abandoned, only...real life happened and I shelved it.


fix typo in Ui::button documentation

These are simple fixes to a typos in the documentation.

Ty!


Waybar segfault under Arch, both package and git

I updated waybar recently via Arch package manager, which gave me:
waybar 0.9.9-1
However, this version segfaults on start-up. I tried with the basic config to make sure it was not a configuration mistake.
I tried the AUR-based git package with the same result.
Finally, I reinstalled libs, and tried a few git-versions of libs via AUR to make sure, I did not miss a version bump.
Nothing really helped.
I downgraded to 0.9.8-3, and it runs.
Thus, I went on pulled the git-repro here and build waybar manually.
Also, this versions segfaults. Thus, it might be a problem of waybar and not Arch package maintainers, or a combo of that.
Please find below the lower part of valgrind output for a segfault:
It looks similar among all other versions of waybar which I tested, and there seems to be an issue with libffi.
==22074==    at 0x484804D: bcmp (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==22074==    by 0x198BA7: waybar::modules::sway::Language::init_layouts_map(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (in /tmp/Waybar/build/waybar)
==22074==    by 0x19A474: waybar::modules::sway::Language::onCmd(waybar::modules::sway::Ipc::ipc_response const&) (in /tmp/Waybar/build/waybar)
==22074==    by 0x190414: waybar::modules::sway::Ipc::sendCmd(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /tmp/Waybar/build/waybar)
==22074==    by 0x19A061: waybar::modules::sway::Language::Language(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Json::Value const&) (in /tmp/Waybar/build/waybar)
==22074==    by 0x142270: waybar::Factory::makeModule(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const (in /tmp/Waybar/build/waybar)
==22074==    by 0x16177F: waybar::Bar::getModules(waybar::Factory const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Gtk::Box*) (in /tmp/Waybar/build/waybar)
==22074==    by 0x162754: waybar::Bar::setupWidgets() (in /tmp/Waybar/build/waybar)
==22074==    by 0x163988: waybar::Bar::Bar(waybar::waybar_output*, Json::Value const&) (in /tmp/Waybar/build/waybar)
==22074==    by 0x16B7FF: waybar::Client::handleOutputDone(void*, zxdg_output_v1*) (in /tmp/Waybar/build/waybar)
==22074==    by 0x6364055: ??? (in /usr/lib/libffi.so.8.1.0)
==22074==    by 0x63621E3: ??? (in /usr/lib/libffi.so.8.1.0)
==22074==  If you believe this happened as a result of a stack
==22074==  overflow in your program's main thread (unlikely but
==22074==  possible), you can try to increase the size of the
==22074==  main thread stack using the --main-stacksize= flag.
==22074==  The main thread stack size used in this run was 8388608.
==22074==
==22074== HEAP SUMMARY:
==22074==     in use at exit: 2,793,420 bytes in 36,152 blocks
==22074==   total heap usage: 248,125 allocs, 211,973 frees, 20,388,007 bytes allocated
==22074==
==22074== Searching for pointers to 34,585 not-freed blocks
==22074== Checked 188,997,816 bytes
==22074==
==22074== LEAK SUMMARY:
==22074==    definitely lost: 16,472 bytes in 2 blocks
==22074==    indirectly lost: 0 bytes in 0 blocks
==22074==      possibly lost: 241,251 bytes in 6,296 blocks
==22074==    still reachable: 2,368,313 bytes in 28,287 blocks
==22074==                       of which reachable via heuristic:
==22074==                         multipleinheritance: 384 bytes in 8 blocks
==22074==         suppressed: 0 bytes in 0 blocks
==22074== Rerun with --leak-check=full to see details of leaked memory
==22074==
==22074== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
==22074==
==22074== 1 errors in context 1 of 1:
==22074== Invalid read of size 1
==22074==    at 0x484804D: bcmp (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==22074==    by 0x198BA7: waybar::modules::sway::Language::init_layouts_map(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (in /tmp/Waybar/build/waybar)
==22074==    by 0x19A474: waybar::modules::sway::Language::onCmd(waybar::modules::sway::Ipc::ipc_response const&) (in /tmp/Waybar/build/waybar)
==22074==    by 0x190414: waybar::modules::sway::Ipc::sendCmd(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /tmp/Waybar/build/waybar)
==22074==    by 0x19A061: waybar::modules::sway::Language::Language(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Json::Value const&) (in /tmp/Waybar/build/waybar)
==22074==    by 0x142270: waybar::Factory::makeModule(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const (in /tmp/Waybar/build/waybar)
==22074==    by 0x16177F: waybar::Bar::getModules(waybar::Factory const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Gtk::Box*) (in /tmp/Waybar/build/waybar)
==22074==    by 0x162754: waybar::Bar::setupWidgets() (in /tmp/Waybar/build/waybar)
==22074==    by 0x163988: waybar::Bar::Bar(waybar::waybar_output*, Json::Value const&) (in /tmp/Waybar/build/waybar)
==22074==    by 0x16B7FF: waybar::Client::handleOutputDone(void*, zxdg_output_v1*) (in /tmp/Waybar/build/waybar)
==22074==    by 0x6364055: ??? (in /usr/lib/libffi.so.8.1.0)
==22074==    by 0x63621E3: ??? (in /usr/lib/libffi.so.8.1.0)
==22074==  Address 0x1 is not stack'd, malloc'd or (recently) free'd
==22074==
==22074== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
[1]    22074 segmentation fault (core dumped)  valgrind -v ./waybar

You can remove language module meanwhile :)

Looks similar to https://github.com/Alexays/Waybar/issues/1307.

Just updated to 0.9.9 on Arch and having the same issue. Works fine without the lang module, but I still need it.

I am having the same issue


allow direct url to be passed into InputFile

@luiztauffer This allows url to be passed directly into InputFile, as an alternative to job.

looks good to me!


Not able to bypass cors on /status endpoint

Problem:
I'm working on an Ionic 4 app that allows me to control my Fusion. I've been able to successfully control it by posting to any of the endpoints but when trying to get the /status, it gives me a bunch of cors issues.
I posted a very in depth question on Stack Overflow: https://stackoverflow.com/questions/55995430/not-able-to-bypass-cors-in-ionic-4-application
Details:

GoPro Camera(s): Fusion
Firmware Version:
Steps to reproduce: Run a GET request to /status
Happens every time? [Y/N]: Y

That's weird, I haven't touched any Ionic code recently, only know React Native, any tips on how to reproduce this issue?


Create universal package

The native add-on is currently packaged in each individual extension. Two approaches:

include each architecture's add-on in the package
download the add-on at run-time

Used the first approach:

include each architecture's add-on in the package

Fixed via #27.


cshape tool requires markdown

The README says that python-markdown2 is optional, however if I use cshape it throws an error.
$ cshape doc-src /tmp/cshape-test
Traceback (most recent call last):
  File "/usr/local/bin/cshape", line 80, in <module>
    main()
  File "/usr/local/bin/cshape", line 76, in main
    c.main()
  File "/usr/local/bin/cshape", line 52, in main
    d = doc.Doc(args[0], options.options)
  File "/Library/Python/2.7/site-packages/countershape/doc.py", line 328, in __init__
    model.BaseApplication.__init__(self, d)
  File "/Library/Python/2.7/site-packages/countershape/model.py", line 376, in __init__
    self.addPage(i)
  File "/Library/Python/2.7/site-packages/countershape/model.py", line 489, in addPage
    page._prime(self)
  File "/Library/Python/2.7/site-packages/countershape/doc.py", line 246, in _prime
    self.load()
  File "/Library/Python/2.7/site-packages/countershape/doc.py", line 256, in load
    execfile(_ConfFile, glob, loc)
  File "index.py", line 17, in <module>
AttributeError: 'module' object has no attribute 'Markdown'

Never received a response. Closing for now.


saved plots typeface wrong #2187

external fonts are embedded into svg as base64 string.
one thing i want to pay your attention to is that i get fonts synchronously (to not make a mess in the code with numerous async callbacks) but if you are against i will switch it to async calls

:+1:


Add ICE chart

Add ICE chart

Areas changed

npm packages changed:

[ ] responsibleai/causality
[x] responsibleai/core-ui
[ ] responsibleai/counterfactuals
[ ] responsibleai/dataset-explorer
[ ] responsibleai/fairness
[ ] responsibleai/interpret
[ ] responsibleai/localization
[ ] responsibleai/mlchartlib
[ ] responsibleai/model-assessment

Python packages changed:

[ ] raiwidgets
[ ] responsibleai
[ ] erroranalysis
[ ] rai_core_flask

Tests

[ ] No new tests required.
[ ] New tests for the added feature are part of this PR.
[ ] I validated the changes manually.

Screenshots (if appropriate):

Documentation:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Codecov Report

Merging #1283 (f981d0f) into main (c762cbd) will increase coverage by 10.00%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main    #1283       +/-   ##
===========================================
+ Coverage   65.57%   75.58%   +10.00%
===========================================
  Files          91       10       -81
  Lines        4505      258     -4247
===========================================
- Hits         2954      195     -2759
+ Misses       1551       63     -1488

Flag
Coverage Δ

unittests
75.58% <ø> (+10.00%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

.../responsibleai/modelanalysis/constants/__init__.py

raiwidgets/raiwidgets/model_analysis_dashboard.py

...ai/responsibleai/_tools/counterfactual/__init__.py

...ranalysis/erroranalysis/analyzer/error_analyzer.py

erroranalysis/erroranalysis/report/error_report.py

...tools/error_analysis/dashboard_schemas/__init__.py

...ibleai/_tools/shared/state_directory_management.py

erroranalysis/erroranalysis/__init__.py

responsibleai/responsibleai/_config/base_config.py

...tools/counterfactual/dashboard_schemas/__init__.py

... and 71 more

Continue to review full report at Codecov.

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


Deploy your project

Link your project deployment link in the project description

Hi @RajeevDash007
Thanks for the issue created. We didn't deploy the project yet. Once we deploy the project we will link it.
Would you like to help with deployment?


Save, retrieve and update file.

Few use cases to consider. will be added.

Using Binary file for quick access. Storing patient id in binary file for persistance.


[bug]: Model manager can't install Flux LoRa created in OneTrainer

Is there an existing issue for this problem?

[X] I have searched the existing issues

Operating system
Windows
GPU vendor
Nvidia (CUDA)
GPU model
4090
GPU VRAM
No response
Version number
5.0.0.rc1
Browser
Brave
Python dependencies
No response
What happened
When trying to add Flux LoRa that was created using OneTrainer, model manager gives error on import. SDXL LoRa created in OneTrainer works OK.
What you expected to happen
Expected to import the LoRa
How to reproduce the problem
The log says:
[2024-09-22 10:55:12,952]::[ModelInstallService]::ERROR --> Model install error: I:/training/ready_models/ball_flux.safetensors
InvalidModelConfigException: Unable to determine model type for I:\training\ready_models\ball_flux.safetensors

Additional context
OneTrainer is rather popular, so there will be many published LoRa's created by it.
ComfyUI can use them now, but had this problem too, this is how they fixed it.
Forge can't use them too (no errors whatsoever, but no effect on image). However, Forge can't use many Flux LoRa right now it seems.
Here is an example of such LoRa.
ball_flux.zip
It is trained on a bunch of blue spheres tagged as "red cube"
Discord username
barafu_albino

Still affects 5.0.1


Question: MVCC Concurrency

Question more than an issue - I couldn't find any documentation around expected concurrent usage of duckDB?
SQLite is well known to be avoided in environments where many concurrent writes are expected because of the DB lock
But duckDB uses MVCC - so it should be fine to use any number of writers and readers without exceptions or errors?
What are the limitations around concurrent usage of duckDB?

DuckDB can only perform 1 write at a time (single writer), but can accommodate many readers at the same time without throwing exceptions. It is designed to address that SQLite pain point you mentioned! Those writes can be quite fast too.
However, that is only within the same host process. Across multiple host processes, only multiple read-only connections are supported.

so within the same process I can have multiple concurrent writes going to DuckDB and they just get serialised automatically by duckdb?

Yes, that is my understanding! Essentially, threads should work fine, but not separate processes. (My experience is in the Python client, but I believe that is true in all clients)

What Alex is saying is correct, but is more about the logistics of how to use concurrency in DuckDB. We don't support multiple different writers from different processes connecting to the same database file. Instead, you need to create multiple different writers from the same process (i.e. writer threads). This is supported.
To expand on the concurrency model and concurrency limitations a bit:
DuckDB uses optimistic concurrency control alongside MVCC. What that means is that, as long as there are no write conflicts, multiple concurrent writes work just fine. For example, if you have two threads that update different tables, or different subsets of the same table, there are no problems. There are no global locks or anything of the sort - if two clients write to two separate tables, they will have zero conflicts. There are several local mutexes (there is one mutex for around every 20~80k rows, depending on width of the rows), but these are generally only held for a short time (while performing the physical update). There should never be any deadlocks.
Optimistic concurrency control bites you when there are conflicts between writers, that is to say, when two threads try to update the same row at the same time. When this happens, a concurrency conflict exception will be triggered.
To explain this a bit better, suppose you have two transactions. The first transaction executes this:
-- Transaction #1
BEGIN TRANSACTION;
UPDATE tbl SET val='new_value' WHERE id=3;

Now the transaction has edited the row with an id of 3. After the update statement is completed, no locks are held. However, the row with id 3 is marked as edited by Transaction #1. That means that if any other transaction tries to edit that row, a concurrency conflict will be triggered and the that transaction will be aborted. For example:
-- Transaction #2
BEGIN TRANSACTION;
-- No conflict, this works fine!
UPDATE tbl SET val='new_value' WHERE id=2;
-- TransactionContext Error: Conflict on update!
UPDATE table SET val='new_value' WHERE id=3;

This is sort of an "implicit lock", that gets released when Transaction #1 either uses rollback or commit to terminate the active transaction. After Transaction #1 finishes in that way, a new transaction can once again modify the row.
I would add that, despite the fact that we support concurrent writers, DuckDB is not aimed at transactional workloads. That is to say, it is aimed primarily at connections doing bulk operations (e.g. inserting a lot of data, updating a lot of data, deleting a lot of data). It is not optimized for scenarios where you have 20 threads updating individual rows. For that scenario it would be better to use Postgres (or another transactional system).

That is super helpful detail! So, if I have multiple threads that could be writing to the same location in DuckDB, I should implement my own locking in my application code?

Or, if I were doing append only operations to the same table, would multiple threads be fine without more locks in that case? It would just be updates and deletes that could get me into trouble?

DuckDB is not aimed at transactional workloads. That is to say, it is aimed primarily at connections doing bulk operations (e.g. inserting a lot of data, updating a lot of data, deleting a lot of data). It is not optimized for scenarios where you have 20 threads updating individual rows.

So in the context of a webserver where each request triggers a single new row insert - that is fine?

That is super helpful detail! So, if I have multiple threads that could be writing to the same location in DuckDB, I should implement my own locking in my application code?

If they are updating the same rows concurrently, then you could expect a percentage of those transactions to be aborted. You would either need to retry the transaction on abort, or implement locking (retrying is probably easier).

Or, if I were doing append only operations to the same table, would multiple threads be fine without more locks in that case? It would just be updates and deletes that could get me into trouble?

Appends will never conflict. Only deletes or updates can conflict. Appends create new rows, and conflicts can only happen when two transactions touch the same row.

So in the context of a webserver where each request triggers a single new row insert - that is fine?

That should work fine and won't cause any conflicts, as long as you are only doing inserts. However, individual row inserts are not what DuckDB is optimized for. DuckDB is optimized for performing large-scale analytical queries (e.g. aggregations/joins over entire tables). As a webserver backend you are probably looking for an OLTP system, as you are doing individual inserts, updates and deletes. In that case, you will likely get better performance using e.g. Postgres.

DuckDB can only perform 1 write at a time (single writer), but can accommodate many readers at the same time without throwing exceptions. It is designed to address that SQLite pain point you mentioned! Those writes can be quite fast too.
However, that is only within the same host process. Across multiple host processes, only multiple read-only connections are supported.

@Mytherin I found out that if there are multiple processes accessing DuckDB db in readonly mode, no process can open the db in readwrite mode. And vice versa, if a process has the db open in readwrite, then no process can open the db file with readonly. Is this intended and correct?
I read this thread and understood that it should be possible to read simultaneously from multiple processes while a single writer process is writing. But simply doing duckdb -readonly test.duckdb and duckdb test.duckdb do not work at the same time, so I'm assuming it is not currently possible?

That is correct. You can either have multiple readers, or a single writer, for the same database file, not both.
Being primarily an in-memory system DuckDB caches a lot of data in RAM rather than continuously going back and forth to disk. This is what makes DuckDB fast. Having separate processes writing to the same thread will cause large complications here - if we have a reader and a writer, how would the reader know when to invalidate its in-memory caches from writes?
SQLite solves this by continuously going back to disk. It effectively caches nothing (not even the catalog), and re-reads what it needs on every single query. When a SQLite query is fired, it obtains a lock on the database, reads the catalog, executes the query, and then unlocks the database file again. In essence, it doesn't allow for concurrent writers at all, it just hides the fact from you that every query opens the database, executes a query, then closes the database again.
You can do the same thing in DuckDB manually - you can open a database, fire a query, then close the database again. This will allow you to operate on the same file from multiple processes even with writers. However, it will be extremely slow. Unlike SQLite, DuckDB is not optimized for this scenario and performs a bunch of operations on load (e.g. setting up the catalog, setting up table pointers) since it assumes it will be able to re-use those for subsequent queries. Perhaps we would be able to optimize this somewhat (e.g. lazily reading the catalog, using mmap to allow the OS to share buffers between processes), but it is likely to still come with a performance penalty over having a single process accessing the database.
Of course, multiple readers and writers from within the same process are perfectly well supported, so another solution would be to have a single process access the database. Then you end up going back to the client/server architecture, however. We don't have much support for that right now (aside from the REST server), but it would not be too difficult to build a client/server architecture on top of the DuckDB engine.

That is correct. You can either have multiple readers, or a single writer, for the same database file, not both.
Being primarily an in-memory system DuckDB caches a lot of data in RAM rather than continuously going back and forth to disk. This is what makes DuckDB fast. Having separate processes writing to the same thread will cause large complications here - if we have a reader and a writer, how would the reader know when to invalidate its in-memory caches from writes?
SQLite solves this by continuously going back to disk. It effectively caches nothing (not even the catalog), and re-reads what it needs on every single query. When a SQLite query is fired, it obtains a lock on the database, reads the catalog, executes the query, and then unlocks the database file again. In essence, it doesn't allow for concurrent writers at all, it just hides the fact from you that every query opens the database, executes a query, then closes the database again.
You can do the same thing in DuckDB manually - you can open a database, fire a query, then close the database again. This will allow you to operate on the same file from multiple processes even with writers. However, it will be extremely slow. Unlike SQLite, DuckDB is not optimized for this scenario and performs a bunch of operations on load (e.g. setting up the catalog, setting up table pointers) since it assumes it will be able to re-use those for subsequent queries. Perhaps we would be able to optimize this somewhat (e.g. lazily reading the catalog, using mmap to allow the OS to share buffers between processes), but it is likely to still come with a performance penalty over having a single process accessing the database.
Of course, multiple readers and writers from within the same process are perfectly well supported, so another solution would be to have a single process access the database. Then you end up going back to the client/server architecture, however. We don't have much support for that right now (aside from the REST server), but it would not be too difficult to build a client/server architecture on top of the DuckDB engine.

Thank you for the verification, appreciated. I guess the discussion would be going towards theorems, but for us, eventual consistency is good enough (we don't need read after write consistency). And to be more precise, just new data only. So, single writer/appender (i.e. new data) is ok with concurrent reader processes accessing the same db file, where a new reader would get the (almost) latest new data.
This would fit nicely analytics workloads, where new data comes along all the time (possibly ending at some point to make the data set complete). There you could run aggregation queries to follow up the process.

If you are considering a client/server model for DuckDB (which isn't a use case I have at the moment!),  would you consider using Apache Arrow Flight? It is much faster than ODBC and supports C++, Python, and Java. Snowflake just adopted it not too long ago.

I also noticed that it is not possible to retry getting lock from Node as the whole process gets terminated, at least with node-duckdb. This was from docker against mounted OSX filesystem.
  terminate called after throwing an instance of 'duckdb::IOException'
   what():  IO Error: Could not set lock on file "test.db": Resource temporarily unavailable

If you are considering a client/server model for DuckDB (which isn't a use case I have at the moment!), would you consider using Apache Arrow Flight? It is much faster than ODBC and supports C++, Python, and Java. Snowflake just adopted it not too long ago.

If we end up adding a client/server mode rest assured that we will use an efficient binary format, we have written a paper on this after all :) For now this is not in our immediate future plans, though.

I also noticed that it is not possible to retry getting lock from Node as the whole process gets terminated, at least with node-duckdb. This was from docker against mounted OSX filesystem.
  terminate called after throwing an instance of 'duckdb::IOException'
   what():  IO Error: Could not set lock on file "test.db": Resource temporarily unavailable

That seems like an oversight in the JS API, it should be possible to catch this error and retry. Could you open a separate issue for this?

  terminate called after throwing an instance of 'duckdb::IOException'
   what():  IO Error: Could not set lock on file "test.db": Resource temporarily unavailable

That seems like an oversight in the JS API, it should be possible to catch this error and retry. Could you open a separate issue for this?

Will open if it is something related to DuckDB, but for now, I guess we check the code catching exceptions for our module :).

https://github.com/cwida/duckdb/pull/1448

That is super helpful detail! So, if I have multiple threads that could be writing to the same location in DuckDB, I should implement my own locking in my application code?

If they are updating the same rows concurrently, then you could expect a percentage of those transactions to be aborted. You would either need to retry the transaction on abort, or implement locking (retrying is probably easier).

Or, if I were doing append only operations to the same table, would multiple threads be fine without more locks in that case? It would just be updates and deletes that could get me into trouble?

Appends will never conflict. Only deletes or updates can conflict. Appends create new rows, and conflicts can only happen when two transactions touch the same row.

So in the context of a webserver where each request triggers a single new row insert - that is fine?

That should work fine and won't cause any conflicts, as long as you are only doing inserts. However, individual row inserts are not what DuckDB is optimized for. DuckDB is optimized for performing large-scale analytical queries (e.g. aggregations/joins over entire tables). As a webserver backend you are probably looking for an OLTP system, as you are doing individual row inserts, updates and deletes. In that case, you will likely get better performance using e.g. Postgres.

It is possible to use the Appender to insert by chunks instead of individual row inserts?

That is super helpful detail! So, if I have multiple threads that could be writing to the same location in DuckDB, I should implement my own locking in my application code?

If they are updating the same rows concurrently, then you could expect a percentage of those transactions to be aborted. You would either need to retry the transaction on abort, or implement locking (retrying is probably easier).

Or, if I were doing append only operations to the same table, would multiple threads be fine without more locks in that case? It would just be updates and deletes that could get me into trouble?

Appends will never conflict. Only deletes or updates can conflict. Appends create new rows, and conflicts can only happen when two transactions touch the same row.

So in the context of a webserver where each request triggers a single new row insert - that is fine?

That should work fine and won't cause any conflicts, as long as you are only doing inserts. However, individual row inserts are not what DuckDB is optimized for. DuckDB is optimized for performing large-scale analytical queries (e.g. aggregations/joins over entire tables). As a webserver backend you are probably looking for an OLTP system, as you are doing individual row inserts, updates and deletes. In that case, you will likely get better performance using e.g. Postgres.

It is possible to use the Appender to insert by chunks instead of individual row inserts?

Yes, any method of bulk insertion (e.g. Appender, or reading from a CSV/Parquet file) should work very well.


statusbar font

hey luke, i'v changed the size of the font in the config file, and for some reason its not being respected,
how do i change the size of the font in the statusbar your build?

Works fine on my side. What it might be is that you have an Xresources size/font that overrides the dwm size/font. In that case, just change your Xresources font from *.font: to st.font: or for whatever specific programs you want it for exclusively or have a dwm.font: line that gives your true preferences for it.

no that's not the case here luke, xresources is disabled on my side, but even when I tried setting the font via xresources it set the font across entire dwm except the statusbar, the status bar stays frozen at the original font size

ok, so to verify that it's broken I have reset my home directory to git origin/master (default LARBS dotfiles) and I have reset everything in .loocal/src/ to origin/master as well to verify that everything is at its default settings including dwm, and dmwblocks, then I have gone to ~/.config/x11/Xresources and edited it to
*.font: monospace:size=6
dwm.font: monospace:size=6

and removed the # in ~/.config/x11/xprofile on the xrdb ${XDG_CONFIG_HOME:-$HOME/.config}/x11/xresources & line on ~/.config/x11/.xprofile
and the following screenshot is the result:
screenshot so ... I'd say mate that it definetly doesn't work, can someone else verify this please by replicating the steps?

Okay, I know what the issue is with the Xresources. It's just something I haven't managed to update. In bc040702d9cd576a055f87dab7db92528fadfef2 I moved to a new xresources patch to also read non-color variables. I haven't made the font variable compatible yet.
As to the original issue, changing font size by manually recompiling works fine for me though. Are you sure you were renewing dwm (super+backspace)?

yes 100% sure ... I sudo make install ... then mod+backspace renew dwm, font stays in the original size ... I think it's definitely tied to the font not being variable compatible

hm... something's off, after i reinstalled my system last night, dwm font size changes if changed in config.h, but doesn't change if loaded with .xresources hm.... Unless you did a new commit that fixed the issue, I guess i switched the other way around in my head when I was opening this issue :D


FIX: Alt text lost after performing image manipulations (fixes #6)

When a manipulation is made, the image is no longer an image and is instead a DBFile instance. It’s a really weird distinction, and it seems strange to apply the same extension in multiple places, but other image modules have the same problem:

https://github.com/jonom/silverstripe-focuspoint/blob/master/_config/config.yml#L6-L8
https://github.com/WPP-Public/akqa-nz-silverstripe-responsive-images/blob/master/_config/config.yml#L4-L9

Thanks Loz!


How much GPU RAM is being used?

💡 Your Question
I have been training with YOLOv5 and am trialling YOLO-NAS/Super-gradients.
In YOLOv5 I increase the batch size until the GPURAM used is below the maximum.
How do I do this with Super-Gradients?
The output seems very sparse. It just tells me when the best checkpoint has been overridden.
No epoch by epoch results that I can see.
I am following
https://colab.research.google.com/drive/1q0RmeVRzLwRXW-h9dPFSOchwJkThUy6d#scrollTo=t5sKiaH9efp-
How can I get epoch by epoch results, with various results (similar to yolov5) but with at least GPURAM used?
Thanks.
Versions
No response

Hi @Tsardoz In the linked notebook, training is running in silent_mode. You can toggle this in train_params by setting 'silent_mode': False


Pipeline task 'MicrosoftSecurityDevOps@1' fails to detect the Secrets/passwords in Python files.

Previously when using the Microsoft Security Code Analysis (MSCA) extension for Cred Scan it fails to detect the passwords in Python (*.py) files, so we planned to migrate the MicrosoftSecurityDevOps extension but it still fails to detect the password in Python files.

Also is there any option to specify the suppressions file path which was available in Microsoft Security Code Analysis (MSCA)?
Looking forward for your suggestions.

Hello,
We are planning on adding options to specify baseline / suppression files to this task soon. For the time being, you can take advantage of the fact that the /.gdn/.gdnsuppress file is automatically loaded and used, without specifying it. In the case of Azure Devops, since MSDO runs one level above the Build.SourcesDirectory, you will need to copy the suppression file from your source($(Build.SourcesDirectory)/) to $(Build.SourcesDirectory)/../.gdn/.gdnsuppress.
As for credscan, can you please provide an example / file of something you'd expect to trigger a failure?
Thanks!

Hello @rahul-subash! I will send this to the CredScan team, but if I remember correctly this is by design. Some strings like "test_password" (and variants) are intentionally ignored to avoid false positives on test data. Try a random string and see if you get a hit. I'll circle back when I have a response from CredScan.

Hi @boAndron,
It worked fine now after changing the password.
Regarding the suppression file, I have followed your instruction by renaming our suppression file from credscan-suppressions.json to  .gdnsuppress and created a folder (Build.SourcesDirectory)/../.gdn and moved the suppression file .gdnsuppress to (Build.SourcesDirectory)/../.gdn. It didn't work.
When I checked the pipeline console I noticed this,

where the yellow highlighted path is the Build.SourcesDirectory then I came to know that the .gdn folder is in the root path. So I moved the .gdnsuppress file to (Build.SourcesDirectory)/.gdn, but then too it didn't work.
All I doubt is the format of the suppression file. We have the suppression file in JSON format. May I know whether the JSON format is fine for the .gdnsuppress file?
Looking forward to your suggestions.

@rahul-subash - Hey, are you able to suppress cred scan false positives?
Im using ADO task - MicrosoftSecurityDevOps@1
are you also using the same task and did you also try suppressing the cred scan results?
Can you pls share how are you suppressing it?
Thanks

Hi @aakanshaverma1310,
I'm able to suppress the credscan results. You have to create a folder named .gdn at the root of your repository and create a file named .gdnsuppress
Please follow the instructions in this comment to configure the gdnsuppress file content.
The tool will by default check for this file /.gdn/.gdnsuppress, if present it will consider this as a suppression file.
Welcome


Adjust migration settings based on database engine

This pull request adjusts the migration settings based on the requirements of the database engine. It fixes the primary key requirement for MySQL and MariaDB engines.
We want to run DB migration testing for MariaDB following #2155, but before we can do that, we need to fix this one migration which is incompatible with MariaDB. I added a check for mariadb and execute a similar setting of the variable, but note that it is only able to be set globally.

@coderabbitai review


Simplify role specification in template deployment

The current workflow with having to flatten role definitions is a bit cumbersome to work with for large number of users. We should be able to specify the roles in the template as an object.
@johnstairs, additional comments?

Moving work item tracking to Azure DevOps.


lua entry thread aborted [attempt to index local 'upstream' (a nil value)]

Summary

Kong version  2.2.2
A concise summary of the bug.
All the request was broken and return http code 500.

When I set worker_consistency to eventual , after a while it happens
Here is the error.log:
2021/08/04 12:17:17 [error] 93#0: *517679 lua entry thread aborted: runtime error: /usr/local/share/lua/5.1/kong/runloop/balancer.lua:611: attempt to index local 'upstream' (a nil value)
stack traceback:
coroutine 0:
        /usr/local/share/lua/5.1/kong/runloop/balancer.lua: in function 'get_balancer'
        /usr/local/share/lua/5.1/kong/runloop/balancer.lua:996: in function 'execute'
        /usr/local/share/lua/5.1/kong/runloop/handler.lua:894: in function 'balancer_execute'
        /usr/local/share/lua/5.1/kong/runloop/handler.lua:1296: in function 'after'
        /usr/local/share/lua/5.1/kong/init.lua:755: in function 'access'
        access_by_lua(nginx-kong.conf:89):2: in main chunk,

Hello @vaxilicaihouxian! Thanks for your report. That doesn't seem like Kong 2.4, can you confirm what version you are using, please? I recommend you to upgrade to the most recent Kong version. There were several fixes to eventual worker consistency in Kong 2.4.

Hello @vaxilicaihouxian! Thanks for your report. That doesn't seem like Kong 2.4, can you confirm what version you are using, please? I recommend you to upgrade to the most recent Kong version. There were several fixes to eventual worker consistency in Kong 2.4.

Sorry about that.my version is 2.2.2


May 1st missing

Hi there!
Did anyone encounter May 1st not showing up in languages different to English?
I can reach the date by using cursors though it's not visible.
(Screenshot taken from react-toolbox.com attached)
Cheers
Korbi

The problem is in calculating correct position for the first day of the first month's week.
In this particular May the very first day starts on Sunday and for countries where weeks start on Sunday, it's the first day of the first May's week while for others it's the last day of the first May's week.
I am adding PR that fixes this issue.


fix: watch more file

Codecov Report

Merging #223 (b3fbf7a) into master (7c18472) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #223      +/-   ##
==========================================
+ Coverage   89.96%   89.98%   +0.02%
==========================================
  Files          38       38
  Lines        3407     3424      +17
  Branches     1003     1007       +4
==========================================
+ Hits         3065     3081      +16
- Misses        308      309       +1
  Partials       34       34

Impacted Files
Coverage Δ

packages/cli-plugin-dev/src/index.ts
88.36% <100.00%> (+0.20%)
:arrow_up:

packages/cli-plugin-package/src/index.ts
86.59% <100.00%> (+0.31%)
:arrow_up:

packages/cli-plugin-check/src/index.ts
92.85% <0.00%> (-0.33%)
:arrow_down:

Continue to review full report at Codecov.

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


Action API (NoMethodError)

I think there is a problem in the 'actions' section of this zabbixapi ruby wrapper. I have been trying to create an action using:
zbx.actions.create
But I keep getting the following error:
1
10001
./action-template-test.rb:14:in `<main>': undefined method `actions' for #<ZabbixApi:0x000000020e44b0> (NoMethodError)

The first two numbers:
1 and 10001 I have displayed just so I know that I am actually connected to the server and able to run queries on it.
I get the same error if I run:
zbx.action.create
Any ideas on what is going on or what I can do to get this to run?
Here is the code that I am running:
#!/usr/bin/env ruby

require "zabbixapi"

zbx = ZabbixApi.connect(
                :url => 'http://localhost/zabbix/api_jsonrpc.php',
                :user => 'Admin',
                :password => 'zabbix'
)

puts zbx.hostgroups.get_id( :name => "Templates")
puts zbx.templates.get_id( :host => "Template OS Linux" )

zbx.actions.create(
  :name => "Register ALL - Hosts",
  :eventsource => '2',                    # event source is a triggerid
  :status => '0',                         # action is enabled
  :esc_period => '120',                   # how long each step should take
  :filter => {
      :evaltype => '2',                   # perform 'and' between the conditions
      :conditions => [
          {
              :conditiontype => '22',
              :operator => '2',
              :value => '.'
          },
          {
              :conditiontype => '22',
              :operator => '2',
              :value => '-'
          }
      ]
  },
  :operations => [
      {
          :operationtype => '2'              # send message
      },
      {
          :operationtype => '6',
          :optemplate => [
                { :templateid => zbx.templates.get_id( :host => "Template OS Linux" ) },
                { :templateid => zbx.templates.get_id( :host => "Template Debian" ) }
          ]
      }
  ]
)

Which version of the zabbixapi gem are you using @sburns90 ? I can't seem to replicate this with v3.0

OK. Well that is definitely a user error on my part.  smh :(
I just installed v3.0 and it worked flawlessly.
I originally installed v2.4.7 as the 1st paragraph in the readme led me to believe I needed the 2.4.x version.
3.0.x (api version 3.0.x) /zabbixapi 2.4.x master
3.2.x (api version 3.2.x) /zabbixapi 2.4.x master

This was reinforced when I saw install instructions of:
gem install zabbixapi -v 2.4.7
May want to change that in the readme file.
Thanks for the help.
Sorry about that.


cross-account support

How can i deploy this solution from organization account to other child accounts?

How can i deploy this solution from organization account to other child accounts?

Hello, Are you referring to deploying the CF template across multiple accounts. If so, one of the mechanisms to do is use CF StackSets. Here is a link to some documentation on this (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html)


runtime/race: documentation file doesn't exist

The page http://golang.org/pkg/runtime/race/
 references the page http://golang.org/doc/articles/race_detector.html for documentation.  That page doesn't exist.

Both
http://golang.org/doc/articles/race_detector.html
and
http://tip.golang.org/doc/articles/race_detector.html
are present


x/pkgsite: package removal request for github.com/kickey-net/backend-proto

What is the path of the package that you would like to have removed?
remove all path
Are you the owner of this package?

What is the reason that you could not retract this package instead?
Please remove https://pkg.go.dev/github.com/kickey-net/backend-proto. I have decided to make this project's GitHub repository private. Thanks!

I confirm through the GitHib user interface that you are the sole person associated with this org.


Support Custom endpoint

Integrate with user-selected RPC endpoint.

[ ] Decide on using an env or CLA

Closed with environment variables thanks to @ts0yu


Update read_acquisition.m

casting uint16 values so data isn't clipped to 65535!

resolved in another commit


FLUID-5892: add documentation of context-awareness behaviour for prefs adjuster widgets

This adds some documentation of switching between native and jQuery adjuster widgets for the now-merged PR: https://github.com/fluid-project/infusion/pull/724

@jobara this is the documentation I mentioned

Merged at f5af742ba3f4f4099d8027c391de14ab4e33074c


Avoid Represent Vehicles non visibles by the camera

CARLA version: 0.9.14
Platform/OS: Ubuntu
Problem you have experienced: Avoid to represent non visible objects by the camera to generate a dataset
What you expected to happen: Only draw the bbox for visible elements
Steps to reproduce: The code is the following:
`
import carla
import random
import time
import queue
import numpy as np
import cv2

from pascal_voc_writer import Writer

def build_projection_matrix(w, h, fov):
    focal = w / (2.0 * np.tan(fov * np.pi / 360.0))
    K = np.identity(3)
    K[0, 0] = K[1, 1] = focal
    K[0, 2] = w / 2.0
    K[1, 2] = h / 2.0
    return K
def cast_ray(initial_location, final_location,world):
    # Cast a ray from initial_location to final_location and detect intersecting geometries
    result = world.cast_ray(initial_location, final_location)
    return result

def get_image_point(loc, K, w2c):
    # Calculate 2D projection of 3D coordinate

    # Format the input coordinate (loc is a carla.Position object)
    point = np.array([loc.x, loc.y, loc.z, 1])
    # transform to camera coordinates
    point_camera = np.dot(w2c, point)

    # Convert from UE4's coordinate system to a "standard" system (x, y, z) -> (y, -z, x)
    point_camera = [point_camera[1], -point_camera[2], point_camera[0]]

    # Project 3D->2D using the camera matrix
    point_img = np.dot(K, point_camera)
    # Normalize
    point_img[0] /= point_img[2]
    point_img[1] /= point_img[2]

    return point_img[0:2]
def is_obstructing(camera, vehicle, world):
    # Cast a ray from the camera to the vehicle and check for obstructions
    camera_location = camera.get_transform().location
    vehicle_location = vehicle.get_transform().location
    result = cast_ray(camera_location, vehicle_location,world)

    # Obtener todos los objetos del mundo
    all_objects = world.get_actors()

    # Filtrar los objetos para obtener solo los edificios
    building_objects = [obj for obj in all_objects if obj.attributes.get('role_name', '').startswith('building')]

    contador = 0
    for point in result:
        try:
            if point.label.startswith('vehicle'):
                pass
        except:
            contador += 1

    if contador==0:
        return True
    else:
        return False

    return False

def main():
    # Connect to the CARLA server
    client = carla.Client('localhost', 2000)
    #client.set_timeout(5.0)

    try:
        # Load the map and set the initial configuration
        world = client.get_world()
        # Set up the simulator in synchronous mode
        settings = world.get_settings()
        settings.synchronous_mode = True # Enables synchronous mode
        settings.fixed_delta_seconds = 0.05
        world.apply_settings(settings)

        # Adjust the desired view distance (in meters)
        settings.view_distance = 2000

        # Apply the new settings to the world
        #world.apply_settings(settings)
        blueprint_library = world.get_blueprint_library()

        # Remove all previously spawned vehicles and pedestrians
        vehicle_actors = world.get_actors().filter('vehicle.*')
        for vehicle in vehicle_actors:
            pass

        pedestrian_actors = world.get_actors().filter('walker.pedestrian.*')
        for pedestrian in pedestrian_actors:
            pass

        # Create the camera
        camera_transform = carla.Transform(carla.Location(x=-50.41874313354492, y=33.17692184448242, z=20.430110931396484),
                                           carla.Rotation(pitch=-9.42114543914795, yaw=-153.6269989013672, roll=7.139936769817723e-06))
        camera_blueprint = blueprint_library.find('sensor.camera.rgb')
        camera_blueprint.set_attribute('image_size_x', '1280')
        camera_blueprint.set_attribute('image_size_y', '720')
        camera = world.spawn_actor(camera_blueprint, camera_transform)

        world_2_camera = np.array(camera.get_transform().get_inverse_matrix())

        image_w = camera_blueprint.get_attribute("image_size_x").as_int()
        image_h = camera_blueprint.get_attribute("image_size_y").as_int()
        fov = camera_blueprint.get_attribute("fov").as_float()

        bp_lib = world.get_blueprint_library()
        spawn_points = world.get_map().get_spawn_points()

        for i in range(50):
            # Filtrar los blueprints de vehículos, excluyendo los de dos ruedas
            filtered_bp = [bp for bp in bp_lib.filter('vehicle') if not bp.has_attribute('number_of_wheels') or bp.get_attribute('number_of_wheels').as_int() > 2]

            if len(filtered_bp) > 0:
                vehicle_bp = random.choice(filtered_bp)
                npc = world.try_spawn_actor(vehicle_bp, random.choice(spawn_points))

                if npc:
                    npc.set_autopilot(True)

        # Calculate the camera projection matrix to project from 3D -> 2D
        K = build_projection_matrix(image_w, image_h, fov)

        image_queue = queue.Queue()
        camera.listen(image_queue.put)

        # Variables for image numbering
        image_counter = 0

        # Capture function for images
        def capture_data(image):
            nonlocal image_counter
            # Save the image to disk
            image_counter += 1

        # Configure the capture function
        # camera.listen(lambda data: capture_data(data))

        camera_location = camera_transform.location
        print(camera_location)

        edges = [[0,1], [1,3], [3,2], [2,0], [0,4], [4,5], [5,1], [5,7], [7,6], [6,4], [6,2], [7,3]]

        # Main simulation loop
        while True:

            # Retrieve and reshape the image
            world.tick()
            image = image_queue.get()

            img = np.reshape(np.copy(image.raw_data), (image.height, image.width, 4))

            # Get the camera matrix
            world_2_camera = np.array(camera.get_transform().get_inverse_matrix())

            for npc in world.get_actors().filter('*vehicle*'):
                # Filter out the ego vehicle
                if npc.id != None:
                    bb = npc.bounding_box
                    dist = npc.get_transform().location.distance(camera.get_transform().location)
                    # Filter for the vehicles within 50m
                    if dist > 0 and not is_obstructing(camera, npc, world):
                    # Calculate the dot product between the forward vector
                    # of the vehicle and the vector between the vehicle
                    # and the other vehicle. We threshold this dot product
                    # to limit to drawing bounding boxes IN FRONT OF THE CAMERA
                        forward_vec = camera.get_transform().get_forward_vector()
                        ray = npc.get_transform().location - camera.get_transform().location
                        if forward_vec.dot(ray) > 1:
                            p1 = get_image_point(bb.location, K, world_2_camera)
                            verts = [v for v in bb.get_world_vertices(npc.get_transform())]
                            x_max = -10000
                            x_min = 10000
                            y_max = -10000
                            y_min = 10000
                            for vert in verts:
                                p = get_image_point(vert, K, world_2_camera)
                                # Find the rightmost vertex
                                if p[0] > x_max:
                                    x_max = p[0]
                                # Find the leftmost vertex
                                if p[0] < x_min:
                                    x_min = p[0]
                                # Find the highest vertex
                                if p[1] > y_max:
                                    y_max = p[1]
                                # Find the lowest  vertex
                                if p[1] < y_min:
                                    y_min = p[1]
                            cv2.line(img, (int(x_min),int(y_min)), (int(x_max),int(y_min)), (0,0,255, 255), 1)
                            cv2.line(img, (int(x_min),int(y_max)), (int(x_max),int(y_max)), (0,0,255, 255), 1)
                            cv2.line(img, (int(x_min),int(y_min)), (int(x_min),int(y_max)), (0,0,255, 255), 1)
                            cv2.line(img, (int(x_max),int(y_min)), (int(x_max),int(y_max)), (0,0,255, 255), 1)

            cv2.imshow('ImageWindowName',img)
            if cv2.waitKey(1) == ord('q'):
                break
        cv2.destroyAllWindows()

    finally:
        camera.destroy()

if __name__ == '__main__':
    main()

`

Hi @IvanGarcia7,
I have tried using the code but I still see occluded vehicles in the scene.
What could be the problem?

Hello @marcgpuig,
It would be great if you can help

try to use depth camera to remove them


Unable to get response after authentication

Trying for google and facebook oauth in IOS
i'm able to open the authentication page and after accepting the permissions for google/facebook i'm not getting any response neither the error nor data.
my app secrets
{
google: {
appId: 'my ios app id',
callback: 'iOS URL scheme:/oauth2redirect',
},
facebook: {
appId: 'my appid',
callback: 'fb my appid://authorize',
},
};
url schemas
-> identifier - Facebook  urlSchema - fb my app-id
-> identifier - google urlScheme - iOS URL scheme
where am i going wrong pls suggest solutions
Thank you in advance

To me it seems like a linking problem. Did you set up deep linking correctly (according to the docs here)?

yes i did

else can you specify the steps to be followed while linking so that i can cross-check

I meant if you followed these (the paragraph that begins with 'NOTE: On iOS') and these steps carefully. And then of course creating URL schemes.

yup i did all those steps.

Would need some more information to help, can you provide a link to the project?

i used react-native-gogle-signin and its working


Cache tag helper - manually delete cache

I'd like to be able to manually remove the cache from the cache tag helper. For example I'd imagine adding an extension method to IMemoryCache which allows me to remove all cache entries which begin with a particular key. Therefore the change I'm requesting is to add a key prefix property to the cache tag helper.

@nfplee since the feature is not yet in, it's probably better to just comment on the PR first

@nfplee the current API for the tag helper doesn't have a way to iterate \ remove keys by prefixes. There's an API for adding additional expiration triggers, but it requires using a helper and isn't particularly intuitive. I'll work on adding a sample to the TagHelpersSample.Web application on what usage for this looks like.

@pranavkm I would remove the cache by adding an extension method to IMemoryCache such as void RemoveAll(this IMemoryCache cache, string prefix) to handle the removal of the cache. I would just like a way to set a prefix for the key that the cache tag helper would use.
By doing a prefix I could say something like:
<cache asp-cache-key-prefix="Widget_1" ...>...</cache>
<cache asp-cache-key-prefix="Widget_2" ...>...</cache>

Now I could call my extension method to delete an individual item with a prefix of "Widget_1" or the entire cache with a prefix of "Widget".
As a side note (maybe this should be another issue) but it would be great if the OutputCache / ResponseCache attribute also supported this.

@nfplee, you might want to file a work item for your requirement at - https://github.com/aspnet/Caching. That said

This API doesn't exist so any prefix requirement is predicated on the feature existing to start with.
The sample added as part of https://github.com/aspnet/Mvc/commit/6c21b40894ef93d8f97072991426a42ed324c074 demonstrates the usage of triggers to expire cached content. This API works today, so perhaps you could redesign your application to use this feature to evict items rather than prefixes.

We are tracking a potential improvement to make it easier to write this type of trigger #1873

If the dictionary of keys were exposed on the caching class it would be trivial to implement a delete all from cache or by pattern (I know the arguments against getting an iterator on the keys).  I posted an issue in the cache project because I can't see a way to inspect the contents of the cache for diagnostics (the MemoryCache class exposes the Count from the underlying dictionary with a comment of "for diagnostics" but nothing else).


[Issue 9790] Support disabled the tenants/namespaces force deletion in the broker.conf

Motivation
Fixes #9790
Modifications

Add new configs below and keep the default value to false:

forceDeleteTenantAllowed=false
forceDeleteNamespaceAllowed=false

Add unit tests for this change.

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

@murong00 thanks for your great work! Shall the changes be documented to the broker -configuration section?
If so, could you please help add the docs accordingly? Thanks

@Anonymitaet Added the docs accordingly, please help to take a look when you are available.

/pulsarbot run-failure-checks


add %chocolateyversion%

So we can use it in chocolateyGUI to get the current installed chocolatey version. Now I have to do all kind of black magic.

This is implemented rather when choco calls out to the package provider it pus this evnironment vars for that process.

%CHOCOLATEY_VERSION%


New feature: Scheme redirect in RedirectAction

Title: Scheme redirect in RedirectAction
Description:
Currently (in the routing system) the only way to redirect a request from HTTP to HTTPS is to set the require_tls field in a VirtualHost to true. The problem with this is that it redirects any and all requests to the virtual host to HTTPS. Generally, this is a good idea, but sometimes it is desirable to only redirect certain routes.
For example, my use case is that I'd like all requests to be redirected to HTTPS except for requests to the path /.well-known/acme-challenge/ so that a different cluster can serve ACME HTTP challenge requests from that path in order to issue certificates for the domain.
It would be useful if RedirectAction supported a field named something like scheme_redirect which could swap the scheme portion of the URL with a new value. That way, the HTTPS redirect could be served only on a specific Route, rather than the virtual host as a whole.
HAProxy has an option that is something like this with its redirect scheme option.
Alternatively, an approach like #2343 could give the flexibility to do this and might produce a solution that is closer to what one would do with Nginx: return 301 https://$host$request_uri;
I did ask about this on the Envoy Slack and was told that it would be an easy feature to add. I could try make the code change myself, but wanted to start out with an issue.

fixed


Sync Horovod distributed training examples with latest changes

Sync distributed training examples with MXNet and Horovod with latest changes in Horovod:

Added DistributedTrainer, a subclass of Gluon Trainer in Horovod, to make distributed training using MXNet Gluon API with PS and Horovod have the same internal workflow.
Resovled the known GCC incompatibility issue.

@mxnet-label-bot add [pr-working-in-progress]

@mxnet-label-bot add [Distributed]

@apeforest @eric-haibin-lin please help review.
@mxnet-label-bot update [pr-awaiting-review]

@mxnet-label-bot update [Distributed, pr-awaiting-merge]


Download a file

How to download file from server after ajax callback?

@DamianEdwards

Dup of https://github.com/aspnet/Home/issues/2984 and https://github.com/aspnet/Mvc/issues/7517.
Please try not to open the same issue in multiple repos - it causes duplicate work to be done.


fix: mobile Safari's ReferenceError

I encountered the same bug as #47.
The reason is that a new code does not use self.performance instead of performance.
I fixed it.
Thanks.

Is this still and issue on iOS10?

I don't have iOS10, but in my iOS 8.1, this is still occured.

I see I see. Would it be possible to not include the build in this PR. Seems to be causing conflicts.

I deleted the built file. Could you please merge this?

+1 for merging this, got the same error on older version of Opera

@mrboob How about this PR?

Sorry for the delay... Is this still needed?

@mrdoob
I still maintain the app for iOS 8.1 as necessary.
It would be appreciated if you could merge this.

if you were not willing to add this code to your repository, I would take down this PR and fork this repo.

How many people use iOS 8.1?

Now in 2020, almost all iOS 8 share is 0.0%
https://www.statista.com/statistics/565270/apple-devices-ios-version-share-worldwide/


admin login fails on mac with access denied

blocked on: https://github.com/threefoldtech/js-sdk/issues/9

verified.


console lexer (BashSessionLexer) description lacks detail

After reporting an issue with the console lexer seemingly wrong behavior with single quotes in comment sections (https://github.com/pygments/pygments/issues/1598) it turns out the issue was just a matter of misuse.
I believe this is a documentation bug in the sense that the current description in the user docs ("Lexer for simplistic shell sessions", BashSessionLexer) is not even trying to convey the most basic concept of intended usage and explanation of the behavior.
Even something simple such as the example given in the other issue would already be a big improvement:
https://github.com/pygments/pygments/issues/1598#issuecomment-725224524

the console lexer is meant for cases where you include shell prompt, command and output, e.g.
# ls -l
total 128
-rw-r--r-- 1 gbr gbr  8816 Oct 24 21:54 AUTHORS
-rw-r--r-- 1 gbr gbr 40808 Oct 24 21:54 CHANGES

The # at the start of a line here is recognized as a common prompt (for the root user), not as a comment sign.
If you're presenting pure shell code, you should use one of the shell lexers, usually bash.

Thanks, this is a very good point.

Quite terse, but already much better than before. Thanks!

I guess someone in future might appreciate an example, so here is one generated using Sphinx:

Bash

Console


docs(*): add empty line after headline README.md files

⬇ Generated builds by Codemagic for commit 963914ebbbbf9652b3a725cd73d84ce1b9604b53 ⬇
This is a custom message.

iOS
Android
macOS

  Download link
  Download link
  Download link


Exclude IDs only used in markup attributes from being skipped

Applying the work done in #33 to IDs as well is probably a bit excessive and unnecessary.
Exclude IDs from this rule.

Addressed in fdfb909f082a2dd3d3a4418131dc18b4775eee2a


Output PNGs?

Firstly this tool is awesome!
It would be really great if we could output a png sequence instead of an mp4 though.  Basically I'm trying to output a left and right stereo pair with this wonderful in-painting, but I'm having to do a hacky workaround by using the "generate video" tab and setting it to "dolly" and only translating it on the x axis.  It would be fantastic if there were a better way to output a stereo pair with this amazing inpainting.

@noobtoob4lyfe
You can use ffmpeg to split the video into frames and then do batch processing. Make sure to use a powerful model like ZoeDepth or Depth Anything, otherwise you will have a lot of jittering between frames.
Hope it helps (somebody)

Should document all this


Getting error -  filters support a maximum of 30 elements in the value [Iterable].

I am not using any firestore query along with the fetchWithin function still getting below error.

'package:cloud_firestore/src/query.dart': Failed assertion: line 741 pos 11: '(operator != 'in' && operator != 'array-contains-any') ||
I/flutter (15285):               (value as Iterable).length <= 30': 'in' filters support a maximum of 30 elements in the value [Iterable].

My code:-
Future<void> findNearbyLocations() async {
    Future.delayed(Duration.zero);

    try {
      // Query for "Akota Garden" location
      QuerySnapshot querySnapshot = await fireStore
          .collection('locations')
          .where('place_name', isEqualTo: 'Akota Garden')
          .get();

      // Get the first document from the query result
      DocumentSnapshot documentSnapshot = querySnapshot.docs.first;

      // Get the coordinates of "Akota Garden"
      GeoPoint akotaGardenLocation = documentSnapshot['coordinates'];

      // Create a GeoFirePoint for "Akota Garden"
      GeoFirePoint center = GeoFirePoint(akotaGardenLocation);

      // Reference to locations collection.
      final CollectionReference<Map<String, dynamic>> locationCollectionRef =
          fireStore.collection('locations');

      final result =
          await GeoCollectionReference(locationCollectionRef).fetchWithin(
        center: center,
        radiusInKm: 6,
        field: 'geo',
        strictMode: true,
        geopointFrom: geopointFrom,
      );

      for (var value in result) {
        String placeName = value['place_name'];
        final distance =
            center.distanceBetweenInKm(geopoint: value['coordinates']);

        print(placeName);
        print("Distance : $distance");
      }
    } catch (e) {
      print("ERROR IN LOCATION : $e");
    }
  }

Thank you for creating an issue @gohil-rahul-tft!
I checked your code above, and the part you are using geoflutterfire_plus geo query is here:
final result =
          await GeoCollectionReference(locationCollectionRef).fetchWithin(
  center: center,
  radiusInKm: 6,
  field: 'geo',
  strictMode: true,
  geopointFrom: geopointFrom,
);

and seems nothing is wrong.
I also tried to reproduce the error you report

I/flutter (15285): (value as Iterable).length <= 30': 'in' filters support a maximum of 30 elements in the value [Iterable].

with the following code:
class GeoflutterfirePlusSample extends StatelessWidget {
  const GeoflutterfirePlusSample({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: ListView(
        children: [
          ListTile(
            leading: const Icon(Icons.map),
            title: const Text('Call fetchWithin method'),
            onTap: () async {
              final locationCollectionRef =
                  FirebaseFirestore.instance.collection('locations');
              const center = GeoFirePoint(GeoPoint(35.681236, 139.767125));
              final result = await GeoCollectionReference(locationCollectionRef)
                  .fetchWithin(
                center: center,
                radiusInKm: 6,
                field: 'geo',
                strictMode: true,
                geopointFrom: (data) => (data['geo']
                    as Map<String, dynamic>)['geopoint'] as GeoPoint,
              );
              print(result);
            },
          ),
        ],
      ),
    );
  }
}

but it just returns normal result List<DocumentSnapshot<Map<String, dynamic>>> without errors.
If you get a minimal reproducible code (your code above still seems to include some geofluttefire_plus unrelated codes) of the problem, please reply here and share it!

The problem occurs when we have multiple locations or results nearby within a 6 KM radius. In my case, I was having 30+ results and that's why this problem occurred.

@gohil-rahul-tft Thank you for your reply!
For example, I added 50 near locations from the center point like the following FloatingActionButton.onPressed, and called fetchWithin, successfully 50 results are returned.
/// geoflutterfire_plus パッケージの動作確認用 Widget.
class GeoflutterfirePlusSample extends StatelessWidget {
  const GeoflutterfirePlusSample({super.key});

  static const _latitude = 35.681236;

  static const _longitude = 139.767125;

  static final _locationsCollectionReference =
      FirebaseFirestore.instance.collection('sampleLocations');

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: ListView(
        children: [
          ListTile(
            leading: const Icon(Icons.map),
            title: const Text('Call fetchWithin method'),
            onTap: () async {
              const center = GeoFirePoint(GeoPoint(_latitude, _longitude));
              final result =
                  await GeoCollectionReference(_locationsCollectionReference)
                      .fetchWithin(
                center: center,
                radiusInKm: 6,
                field: 'geo',
                strictMode: true,
                geopointFrom: (data) => (data['geo']
                    as Map<String, dynamic>)['geopoint'] as GeoPoint,
              );
              // output: 50
              debugPrint(result.length.toString());
            },
          ),
        ],
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          for (var i = 0; i < 50; i++) {
            final newLatitude = _latitude + i * 0.0001;
            final newLongitude = _longitude + i * 0.0001;
            final newGeoFirePoint =
                GeoFirePoint(GeoPoint(newLatitude, newLongitude));
            _locationsCollectionReference.add(<String, dynamic>{
              'geo': <String, dynamic>{
                'geopoint': newGeoFirePoint.geopoint,
                'geohash': newGeoFirePoint.geohash,
              },
            });
          }
        },
        child: const Icon(Icons.add),
      ),
    );
  }
}

I think there are no in or array-contains query in geoflutterfire_plus package, so the error might occur from your own code not from geoflutterfire_plus?
I would like you to check your own code, or share the minimal reproducible example code please!

@kosukesaigusa Apologies from my side, you are right, I tested my code again and found that issue is in my code.
Firestore has limitation on whereIn upto 30 records.
`final List nearbyStores = await getNearbyStores(
radius: radius,
firestore: fireStore,
userLocation: GeoPoint(20.68016662, -103.3822084),
);
  try {

    // Fetch the products in a batched read
    final List<DocumentReference> storeRefs = nearbyStores
        .map((store) => fireStore
            .collection(StoreConstant.storeCollection)
            .doc(store.id))
        .toList();

    // Fetch all store products that meet the conditions
    final QuerySnapshot storeProductsSnapshot = await fireStore
        .collection('products_mvp')
        .where('is_exist', isEqualTo: true)
        .where('storeRef', whereIn: storeRefs)
        .get();

catch (e) {
print("STORE ERROR = $e");
}`
And thank you for the quick response. :)


Last line is not highlighted

When creating a minimal working example for #10 I noticed that the last line is never highlighted.
Same test file:
select me
and me
|and me
and me
last one
not me

Where | marks the cursor position.
Marking a range with :0,$ doesn’t highlight anything, :1,$ highlights everything up to but not including the last line and even explicitly using :1,6 doesn’t highlight the last line.

I also face this same issue.


change get_components to regular method

This PR fixed #47 by changing get_components from a class method to a regular/instance method.
The following snippet is used to check if the returned components are as expected:
# %%
import cuqi
from cuqi.testproblem import Deconvolution1D
import matplotlib.pyplot as plt

# %% setup problems
dim = [32, 128]
phantom = ["pc","bumps"]
noise_type = ["Gaussian","ScaledGaussian"]
noise_std = [0.05, 0.0001]

# Test problems
prob0 = Deconvolution1D(
    dim = dim[0],
    phantom=phantom[0],
    noise_type=noise_type[0],
    noise_std = noise_std[0]
)
prob1 = Deconvolution1D(
    dim = dim[1],
    phantom=phantom[1],
    noise_type=noise_type[1],
    noise_std = noise_std[1]
)

# %% use get_components to extract information
A0, y_data0, probInfo0 = prob0.get_components()
A1, y_data1, probInfo1 = prob1.get_components()

# check if the extraced y_datax are as expected
plt.figure()
y_data0.plot()
plt.figure()
y_data1.plot()

and the plots are like:

and

The failure is due to a check at /tests/test_bayesian_inversion.py
def test_Bayesian_inversion_hierarchical(TP_type: BayesianProblem, phantom: str, priors: Dict[str, Density], Ns: int):
    # Load model + data from testproblem library
    A, y_data, probInfo = TP_type.get_components(dim=priors[0].dim, phantom=phantom)

I think I need some advice on how to solve this problem.

I would advice using a search tool like the search function inside visual studio code to find all cases of "get_components" to ensure to did not miss any. For example there should be some inside the docs/ folder also.

@nabriis Thanks for the hint, and yes I just did as you suggested and confirm that all files including get_components run well now.
Meanwhile, I want to make an off-topic note that demos/ExploreTestProblems mentions ParBeamCT2D, which seems not available in CUQIpy's current release:
elif testprob == 5:
    model, data, probInfo = ParBeamCT2D(im_size=(50,50),det_count=60, proj_type="line").get_components() #cuda

Anyhow, I also made changes according here, i.e., moving arguments im_size=(50,50),det_count=60, proj_type="line" from get_components to the class constructor.

ParBeamCT2D

That's a good catch! I think this test problem was moved to CIL cuqipy_cil.testproblem.ParallelBeam2D, @jakobsj and @nabriis might be able to confirm if this is the case 😊

I parked the potential renaming of get_components() as a separate issue here https://github.com/CUQI-DTU/CUQIpy/issues/303

I would advice using a search tool like the search function inside visual studio code to find all cases of "get_components" to ensure to did not miss any. For example there should be some inside the docs/ folder also.

@nabriis Thanks for the hint, and yes I just did as you suggested and confirm that all files including get_components run well now. Meanwhile, I want to make an off-topic note that demos/ExploreTestProblems mentions ParBeamCT2D, which seems not available in CUQIpy's current release:
elif testprob == 5:
    model, data, probInfo = ParBeamCT2D(im_size=(50,50),det_count=60, proj_type="line").get_components() #cuda

Anyhow, I also made changes according here, i.e., moving arguments im_size=(50,50),det_count=60, proj_type="line" from get_components to the class constructor.

Hello @chaozg. Thanks for updating that. I believe there must be other areas where get_components is used. Two that I noticed are in the index.rst file for online docs and in the example docstring for BayesianProblem.  Did you use the search functionality to find all uses of get_components?


Rename repo to iot-js-apis

Should we rename the repo to more generic, e.g. iot-js-apis, and include the API documentation for OCF, HW IO, etc as well. The test suite can be one part of the repo.
@gabrielschulhof @zolkis  WDYT?

Makes sense to me.

WORKSFORME™


Unintuitive Behaviour in SArray dtype specification

The following creates an SFrame with type array in its singular column:
x = tc.SFrame({'a': [[1,2], None, [3,4], None]})

In an attempt to change the column type, using the following code throws no error, and does not succeed:
x['a'] = tc.SArray(x['a'], list)

This behaviour is unintuitive.

This is an issue in both Python 2 and Python 3.


some switches for group vs indiv.

Description: Make profile screen display differently for groups vs individuals
Tests Performed: changing the "group" boolean variable makes the screen display differently for users and groups, as specified on the figma
Trello Card Link: https://trello.com/c/RYjityGJ

When isGroup is set to false:

When isGroup is set to true:

When isGroup is set to false:
The captions for the numbers for followers and following doesn't look to be stylized properly. Have you passed in a style for each?


Create 3.0 branch for Laravel 6.0 release

The following has been implemented:

Updated composer files so this project works with Laravel 6.0.
Fixed any issues that came up with functions missing. (Most were functions that were converted to Arr().
Added ability to change the column name during query.

"product_years_name" => [
                "label" => "Product Year Name",
                "filter" => [
                    "enabled" => true,
                    "operator" => "="
                ],
                "styles" => [
                    "column" => "grid-w-10"
                ],
                'table_column_name' => 'py.name',
            ],

I was able to create the query with multiple joins using Query Builder.  With multiple joins there were multiple tables with the same column name.  Adding table_column_name we can allow this to happen.
This should fix #114

can we merge this?

can this be merged?

Hi, when this will be merged?
Library still not working with Laravel 6/7;


Column accessor methods

I looking at converting a large application over from Daru::DataFrame to Rover::DataFrame.   One of the things that I am missing is simple vector accessor methods.  For example:
df[:a] #=> the "a" column vector ...
df.a  #=> that same 'a' column vector ...

df[:a].any_method
df.a.any_method #=> same result

Check out https://github.com/ankane/rover#selecting-data

@ankane  I did.  I saw nothing there that precludes using an accessor method in addition to the [] method.
Check out this test code I put together to verify duel access ... https://raw.githubusercontent.com/MadBomber/experiments/master/stocks/rover_test.rb
Here is the result I get on STDOUT
12:59:45 3.2.2 master elk:stocks $ ./rover_test.rb
2023-10-03 12:59:54.082073 DEBUG Source:  ./rover_test.rb:70:in `<main>'
2023-10-03 12:59:54.082073 DEBUG aapl_df.keys -=> [:date, :open, :high, :low, :close, :adj_close, :volume]
2023-10-03 12:59:54.082073 DEBUG aapl_df[:adj_close] -=> #<Rover::Vector [37.994484, 34.209953, 35.670361, 35.590965, 36.269436, ...]>
2023-10-03 12:59:54.083025 DEBUG Source:  ./rover_test.rb:77:in `<main>'
2023-10-03 12:59:54.083025 DEBUG aapl_df.adj_close -=> #<Rover::Vector [37.994484, 34.209953, 35.670361, 35.590965, 36.269436, ...]>
12:59:54 3.2.2 master elk:stocks $ # you wish you had bought aapl 5 years ago!
13:00:51 3.2.2 master elk:stocks $

Thanks for the additional context. I'm not a fan of adding separate methods for each column since it could collide with existing methods.

You are welcome @ankane .  I am a fan of your work.  I agree that method collision is a possibility; however, if this feature were optional the responsibility for avoiding or dealing with conflicts is that of the application and not the library - much like cleaning your data before using it.
My research into the various data frame libraries available has finally opened my eyes to the fact that my application's needs are simplistic.  I can do what I what to do with a wrapper around a Hashie::Mash object.  When I need to apply some of the more complex calculations outside of simple statistics I can easily convert my simplistic in memory data store to a Rover::DataFrame, do my business, take the answers and run back to the mundane.


SSL Error when trying to connect in MySQL database

Describe the bug
I am trying to setup a connection using the extension to my remote Azure MySQL database, and keep getting an error about SSL options
To Reproduce
Steps to reproduce the behaviour:

Go to the extension
Create a new connection to an azure MYSQL database
Try to connect
See error message: "ERROR: Error:  { [Error: UNKNOWN_CODE_PLEASE_REPORT: SSL connection is required. Please specify SSL options and retry."

Expected behaviour
The connection should happen and show me the database
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

SQLTools Version 0.17.18
VSCode Version: 1.33.1 (installed via snap)
Dialect Used: MySQL
OS: Linux Ubuntu 18.04 LTS x64

If there's need of any additional information, please let me know.
Additional context
Add any other context about the problem here.
P.S.: I've been trying to get to the documentation, but I it never loads and times out.

Update, I got it working after fiddling around with the project in my local environment. The extension site is down for me, but the docs inside the project helped me out to  work around (the non recommended practice).
I would suggest that this error message was a bit clearer, since I had no idea which settings were missing.
Feel free to close this issue for now.

@deadpyxel thanks for the update.
Can you describe what you did to fix it? I can improve the docs with your findings or you can send a PR with you suggestions.
Thanks!

Sure, I'll open a PR. It's not an elegant solution, but It worked nonetheless.


[Feature] Filter Groups on Combo Picker / Search only in specific group

Is possible filter Groups by on combo picker by typing ?
i.e
JS : Map
PY : Class
SQL: Group
When I write  "JS : Map" in picker I would like to search "Map" only in "JS" groups

At the moment the name of the group of the combo is not used during the search, but it's a good idea to add it. I will do that for v8.0.


Adding new user ops_monitoring

Add new user ops_monitoring and generate its credential to a file.

Related https://github.com/openshift/openshift-ansible-ops/pull/1804

I'm good with this.  I'd like other's to take a look.  +1 from me, but I'd like other +1.
@twiest @ivanhorvath @kwoodson @joelddiaz Thoughts?

So this user would have different access level than the account owner? I thought we already can use that with boto from host monitoring container to grab info from aws. Is that not so?

@mmahut
What's this user for?  I'm generally fine with adding him to the container if there is a good reason.  The location for the file seems fine.
I would definitely test and verify that the snapshotting continues to work when adding creds to this file.

@kwoodson @ivanhorvath In my case this user will be used to check the state of the ELBs and report if any of the nodes is missing from the ELB and report it to zabbix. For my case, this user will have only read-only access to the ELB information (elasticloadbalancing:DescribeListeners) for now, however the idea is to add new policies to this user, once Joel reviews them, in case we need other access to AWS from the monitoring container (for example to monitor security groups etc).


DNN-5373 SI: Email "From:" formatting

added defensive code in case when PortalSettings or GetUserByEmail return null

This should still have issues in scheduler or for host users as the portal id is wrong and can't get correct display name.

I've tested it with host user - it displays correctly...if user can't be defined, then portal name would be used. Ben could you describe test scenario in details so that I can test it?

reverting this due to https://dnntracker.atlassian.net/browse/DNN-6823 being logged (as per QA's request)


Increase health check timeouts to allow Sarama timeouts

The health (liveness and readiness) checks in the distributed channel caused a restart of the pod in 25 seconds (10 + 3*5) if Sarama was not ready by that point.  The timeout for the TCP dialer defaults to 30 seconds (in sarama/config.go) so the pod would restart (and take any logging information with it) without the administration being able to see the error response in the logs.
Proposed Changes

🧽  Increase initial health check timeouts to cover the default Net.Dialer.Timeout that sarama uses when connecting via the broker string to 45 seconds (30 + 5*3)

/approve
/lgtm


ENH Update logo

Parent issue

https://github.com/silverstripe/silverstripe-admin/issues/1542

Logo is there now. Sorry for the brain fart.


Analyze and Implement DQ optimization in the workflow execution

One optimization we should implement is caching of query results.
We should also further analyze optimization opportunities and implement them

closing as un-relevant  with https://github.com/open-metadata/OpenMetadata/issues/11592


First version of whatisee node

Purpose
Combining state of art robotic algorithms with generative AI poses a number of challenges. Vision Language Models (VLMs), for instance, are unable to cope with frequencies of robot sensors (cameras), and it would be costly now to run them constantly. There is a need for solution that gets the most interesting image over a period of time, and is able to handle cases where there is no important change to see. This PR brings in the first version of a node to handle this.
Proposed Changes
A new rclcpp node that exposes two services to see if anything changed and to get the recent image along with description.
The first version is very simple.
See the linked issue for more description.
Issues
#213
Testing
I conducted manual testing with the use of ros2 bag recorded from rosbot xl sim.
Testing - to run the ros2 node with sim ros2 bag:
ros2 run rai_whatisee rai_whatisee_node --ros-args -p camera_color_topic:=/camera/camera/color/image_raw
Play the bag (in bag directory)
ros2 bag play . --loop
Call services:
ros2 service call /rai/whatisee/anything_new std_srvs/srv/Trigger
ros2 service call /rai/whatisee/get rai_interfaces/srv/WhatISee

Draft - still not tested and missing similarity comparison (for freshness).

 The naming and mutex do reflect the node purpose beyond the first version. I am open to suggestions as for the name. The intention was to make it easy for users to understand the role, much like with whoami node.
3. I merged in your PR with the solution to support different distros, thank you!

https://github.com/RobotecAI/rai/issues/230 raised an issue for multi-threading.

Both are expected, this is a first version that doesn't resolve the issue

Sorry for late reply and thank you for answer! PR approved


Highlighting seems to be turned off when on Transcript detail pages

If you search for "hitler" it shows for Document details:
https://nuremberg.revsys.dev/documents/700-order-increasing-the-jurisdiction?mode=text&q=hitler
but not on Transcript pages:
https://nuremberg.revsys.dev/transcripts/7-transcript-for-imt-trial-of-major-war-criminals?seq=7&q=hitler

Ask @nessita about this.  The template and view for Documents just passes the full text in, but for Transcripts the view/template combination constructs the joined html pages and I'm not sure where the highlighting is NOT happening and/or SHOULD be happening.

Example where not highlighting: http://localhost:8000/transcripts/7-transcript-for-imt-trial-of-major-war-criminals?seq=14&q=hitler
Example where is highlighting: http://localhost:8000/documents/700-order-increasing-the-jurisdiction?mode=text&q=hitler

Ask @nessita about this. The template and view for Documents just passes the full text in, but for Transcripts the view/template combination constructs the joined html pages and I'm not sure where the highlighting is NOT happening and/or SHOULD be happening.

I'll check before the week ends and report back.

@frankwiles I can't reproduce this locally, I get all highlights showing just fine.
I tested the same thing on the dev site and in fact the highlights are not shown when the page is loaded, BUT, I disabled javascript using the developer console and the highlights appeared instantly.


Handle comments in the prefix

Fixes #2861

We tested this version with a version using strings.HasPrefix and this version is less readable but significantly faster:
BenchmarkTrim1-8       100000000            14.0 ns/op
BenchmarkTrim2-8       100000000            10.7 ns/op

(Trim2 is this version.)
10 ns overhead seems acceptable to me.

I should l2read your comments before commenting :). Please ignore my comments about HasPrefix.

We didn't benchmark the actual comment stripping. Only the conditional. But it does mean you only pay the price if you actually have a comment.
I think even the stripping should be fast though. Go slices are awesome.


Do not set a global allocator

I agree that jemalloc is great and can outperform the default allocator (especially on musl builds). In fact I use mimalloc for these reasons, which is smaller and faster according to the authors.
But it is not appropriate for a library to set the global allocator. The global allocator can only be set once, or else the build will fail. If plonky2 appears as a dependency anywhere in a project that uses a custom allocator, the build will fail. If another library where to do the same, those two could never co-exist, etc.
Downstreams projects may want to use mimalloc instead or may want to wrap it with custom logic to add metrics and logging to allocations.

Yeah, I agree and this was actually a concern when I made the change. At the time Plonky2 wasn’t public so this wasn’t an issue, but it’s probably worth changing now. (However, I’d like to make sure that our benchmarks still use Jemalloc.)