Cancer subtyping procedure

Hello, thank you all for the amazing work. I am wondering what steps were taken for cancer subtyping after tile- and slide-level embeddings were generated. Was a separate classification model implemented?
I am new to this field so please excuse if I missed this answer anywhere.

Hi no worries. For now, we released the base model instead of the fine-tuned subtyping model. But you can still make use of our codebase to get a subtyping model. Here are some steps.
First, please set up a new csv file following the style of PANDA task. Second, please replace the slide ids and labels with the subtyping data you have. Third, define a new subtyping yaml file as PANDA. Finally, by setting up the fine-tuning script and kicking off the job, the slide encoder would be adapted to subtyping tasks.

Thank you. When you say setting up the fine-tuning script, would this mean making a new .sh file for my dataset?

Yes, please set up a new sh file following the PANDA task.

Close this issue for now. Feel free to re-open it if you have further question!

Hi, I have a new issue. I have followed your instructions and made a new .yaml file, new .sh file, and new .csv file adapted to my dataset. I have put h5 files with 'features' and 'coords' in a directory called NEW_h5 and I run the command
bash scripts/run_smab.sh data/NEW.h5

Everything seems to work well except it tells me that it is
Training on 3045 samples
Validating on 805 samples
Testing on 2681 samples

These are not the number of samples provided in the splits that I defined, and I do not know where these numbers come from. Do you have any insights?


Interact-inventory requires interact-block-secondary to work

Interact-inventory requires interact-block-secondary to work.
For example i want people to access an enderchest, which is classified as an inventory at spawn (admin claim), allowing interact-inventory ender_chest isn't enough, i still have to give interact-block-secondary ender_chest for them to be able to actually open it.

These are 2 completely different interactions as mods may have actions for both. Working as intended.


/meta endpoint returns inconsistent file paths

Related to:

https://github.com/owncloud/ocis/issues/8033

Describe the bug
When I ask the /meta endpoint for a file in the root folder in my personal space (or any project space), the response contains something like:
<oc:meta-path-for-user>/file.jpg</oc:meta-path-for-user>

But when I ask this endpoint for a shared file with me, that is, a file in the root folder of my shares space, the response contains something like:
<oc:meta-path-for-user>file.jpg</oc:meta-path-for-user>

There is a slight but important difference: the first one has a slash (/) indicating it is in the root folder of the corresponding space, but the second one doesn't. I don't know if it is a bug or it is intended, but if it's going to be changed in the future would be good to know now to avoid crashes in the clients, since it implies a change in some algorithms (at least in the Android app).
Steps to reproduce
Check https://github.com/owncloud/ocis/issues/8033#issuecomment-1864832866.
Expected behavior
The response is consistent with other files requested and returns the oc:meta-path-for-user property as a path located from the root folder of the shares space:
<oc:meta-path-for-user>/file.jpg</oc:meta-path-for-user>

Actual behavior
The oc:meta-path-for-user property returns just the name of the file and not the slash (/) before, that indicates it is located in the root folder of the shares space:
<oc:meta-path-for-user>file.jpg</oc:meta-path-for-user>

Setup
I'm using ocis-traefik.latest, redirected from https://ocis.owncloud.works:
ownCloud Web UI 8.0.0-rc.1
Infinite Scale 5.1.0-prealpha+b758d2860 Community

Additional context
As I stated before, I don't really know if this is a bug or not, but would be good to clarify because it could be a blocker for some issues in the different clients.

UPDATE:
I just checked with a file inside a folder in the shares space, and in this case meta DOES return the file path with the / at the beginning:
<oc:meta-path-for-user>/testing shares/example.md</oc:meta-path-for-user>

To be aligned with personal Space project Spaces and oC10 /meta endpoints, we'd need the leading / EVERYWHERE.
@micbar could this be done?

Release Blocker

Fixed with the merge of https://github.com/owncloud/ocis/pull/8278


My Discord Bot connects to the server, receives command but doesn't play any music.

Title saids it all. It connects to the server responds to commands but doesn't play any music even auto ones. It just stops at auto-playing.... or play youtube.com/(insert).. and stops

Can you post your logs/musicbot.log file?

I can't find a log folder as far as I can see. I can post the console of it running.

Can you update your bot and dependencies to 1.9.6? It looks like you might be using an old version. https://github.com/Just-Some-Bots/MusicBot/wiki/Updating


merge to live

add-in-requirements topic: minor update based on feedback

OPS Build status updates of commit ffd6577:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/add-ins/add-in-requirements.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Question about the structure of the data model

The following path is specified in the example defaults.yaml:
defaults:
  meraki:
      domains:
          organizations:
              login_security:
                  enforce_password_expiration: true

I would therefore assume the following path:
defaults.meraki.domains.organizations.login_security.enforce_password_expiration
`
In the meraki_organization.tf, however, “domain” is not included.
        enforce_password_expiration                         = try(org.login_security.enforce_password_expiration, local.defaults.meraki.organizations.login_security.enforce_password_expiration, null)
The readme includes the following example
meraki:
  organizations:
    - name: MyOrg1
      administrators:
        - name: Admin1
          email<EMAIL_ADDRESS>          networks:
            - name: MyNet1

However, the for loops for creating a network require “domains” in the path, the default value does not.
#  Create a Network
locals {
  networks = flatten([
    for domain in try(local.meraki.domains, []) : [
      for org in try(domain.organizations, []) : [
        for network in try(org.networks, []) : {
          key             = format("%s/%s/%s", domain.name, org.name, network.name)
          organization_id = data.meraki_organization.organization[org.name].id
          name            = try(network.name, local.defaults.meraki.organizations.networks.name)
          notes           = try(network.notes, local.defaults.meraki.organizations.networks.notes, "")
          product_types   = try(network.product_types, local.defaults.meraki.organizations.networks.product_types, ["appliance", "switch", "wireless"])
          tags            = try(network.tags, local.defaults.meraki.organizations.networks.tags)
          time_zone       = try(network.time_zone, local.defaults.meraki.organizations.networks.time_zone, "America/Los_Angeles")
        }
      ]
    ]
  ])
}

Hi Christian, we are still refining some of the supporting documentation.
You are correct to call this out thank you !
The default file is currently in our back log and we intend to fix that ASAP.
Additionally I will update the readme now to include the updated config example.
meraki:
domains:
- name: EMEA
administrator:
name: Dev CX Provider Admin
organizations:
- name: Dev
admins:
- name: Dev CX Provider Admin
email<EMAIL_ADDRESS>authentication_method: Email
org_access: full


ISLE: add support for multi-extractors and multi-constructors.

This support allows for rules that process multiple matching values per extractor call on the left-hand side, and as a result, can produce multiple values from the constructor whose body they define.
This is useful in situations where we are matching on an input data structure that can have multiple "nodes" for a given value or ID, for example in an e-graph.
This is the first piece of the implementation of bytecodealliance/rfcs#27.

Updated, thanks!

I still need to read this more carefully, but I think it looks good.
One question so far: what's the intended difference between returning Some with an empty iterator, versus returning None? Put another way, what would we lose if we remove the Option wrapper from those return types? I understand the use of Option for fallible non-multi extractors, but I'm not sure how that extends here. I'd prefer to just use an empty iterator to indicate that the extractor failed, if that's not too much trouble, because otherwise the types appear to permit two ways of encoding the same situation.
I don't see any documentation for how someone writing an external multi-extractor should implement the auto-generated traits. I don't think that's strictly necessary before merging this, but if that documentation existed then I would look for the answer to the above question there.

One question so far: what's the intended difference between returning Some with an empty iterator, versus returning None?

That's a good question. Functionally there is no difference, and the main reason is just to manage complexity: otherwise we have a special case wherever we have a match failure in that we have to invent an empty iterator rather than return None. If it were one code-generator site then maybe that's fine, but we also use the ? operator everywhere and I didn't want to work out how to get auto-conversions going with that. It's simpler to stick to the invariant that all constructors live in the Option monad and let the Try magic do its thing.

I asked Chris to show me a diff of the generated code for existing uses of ISLE. We verified that the only difference was additional types and traits related to ContextIter. As a result I'm convinced that this is safe to merge as-is. I haven't fully understood the multi-extractors and multi-constructors, but since we don't use any of those yet, we can fix any issues that come up when we start trying to use them, instead of worrying about them now.


feat(parser): implement GritQL parsing

Summary
Based on the open-source GritQL grammar, this PR implements a parser for GritQL in Biome.
I'll admit I had underestimated how much manual parsing logic needed to be implemented, but I've gotten the hang of it and progress is moving fast now.
It's nice that the codegen also seems to generate most of the formatter already, but I have to take a closer look still to see it really works.
TODO:

[x] Implement maps and lists
[x] Implement assignments
[x] Implement definitions
[ ] Refine error resilience? Maybe @ematipico or @Conaclos can have a look if I'm doing it the right way
[x] More test cases
[ ] Finish up formatter

Test Plan
Still adding test cases.

No worries! I think I'll first get the parser complete, since at least initially I sometimes needed to tweak the grammar based on what I discovered implemented the parser. It's probably mostly stable by now, but if you don't mind I'll just use this one to track my progress, and then split things to get it reviewed and merged.

I created test cases out of most of the snippets in the Grit docs and they all parse. Still have some FIXMEs in there and I think I might have some precedence issues still, but next step will be splitting this PR :)

Obsoleted by #1998 .


Discussion: Colors and design

Add here colors...

@oriol20 proposed an alternative with his baggage project. Add the image as background. https://s2.postimg.org/sffmbjcux/Captura_de_2017-08-08_19_39_11.png Thoughts?

Would really appreciate comments from @hackupc/design here

Love it <3
Could it be a lot to change the font text button ??? To have consistence.
And I can propose some tips to improve (that is from my personal opinion), but not worries if you do not like it.

I think that in this case it is more important 'Baggage check-in' than 'hackupc'. I would put:

BAGGAGE CHECK-IN (bigger than HackUPC)
HACKUPC
(I added an exemple)

In fact, I do not know if HackUPC is strictly necessary, logo better ?. Who will see this page?

The second thing I would chage to improve it (but now for me it's ok) are the text boxes. I would prefer with background in beige or gray and quit the border line.

Although, I like it!

In fact this page is only intended to be displayed to the users in the infodesk. Love the logo!
For the textboxes, I'll try your proposed changes, but deleting the border won't look good, I've already tried this.
For the font in the buttons, which one should it be?

Yes, you're right. Light color text boxes without border it's difficult :/ (I said that too fast)
And the font is: Gotham Regular. (I think it is already installed on backend)

I'll change that now, do you have the logo you just shared with transparent background?

@oriol20

PNG and PSD (DEV folder) Titles: https://drive.google.com/drive/u/1/folders/0B9WjsYaZc60leHJPY0dmbEEyNnM
LOGO images: https://drive.google.com/drive/u/1/folders/0B9WjsYaZc60lSlF3S1QwVGV2UkE

Centered logo

Side logo

I personally prefer the sided one.

Please can we keep this conversation about the current repo and move the baggage checkin conversation to the baggage checkin repo issues? :sweat_smile:

Also, regarding font. Gotham Regular is on frontend, it's not used on backend, mainly because I didn't have enough time to decide where to use and where to keep using Ek mukta

Yep I know that in backend it is not Gotham putted but thinking that button style is the same, why can not be in Gotham? The other font styles doesn't matter.

Ok, nothing. I understood that check-in was in backend repo.

Closing this. Fonts have changed and this is going to be hackathon agnostic


Fix group tutorial (closes #131)

There was a subtle coding error that led to unexpected behavior. See #131 . Now it's fixed.

@GianmarcoCallegher same question here: Would you review?

@GianmarcoCallegher same question here: Would you review?

Same answer


[Tree Details - Design] Mobile Tree Details Full Screen

Currently the tree details only had a design for desktop. For a mobile experience we want it to be the same or even better than desktop as it will be a sidebar. This section will have to take up the whole screen, but will have a preview section, so users aren't forced to close out each and every time.
This will include a sticky section at the bottom with the tree species, tree health, adopt and liked, and tab sections.

Started to design the mobile tree details with the same design as the desktop with the main difference is the sticky section at the bottom. I made the sticky section have a grayish background so it will be slightly obvious that its not attached to the tree details section, but related.
The idea is that you will be able to scroll through and see all the details. But you can swipe from the top down to go back to the map and back to the tree preview. See #433 for the preview ticket. What's your thoughts on the tree details? @zoobot


Early return FileMappedDict initialisation when in readonly mode.

This commit is an attempt to address some memory bloat problems we've
recently observed in our production deployment. The commit in here tries to
optimise the read path (metrics export) by reducing the amount of
temporary objects created when reading and aggregating data from metric
files.
The attached synthetic benchmark simulates two concurrent threads that
write and read from a shared direct_file_store while memory profiling
is enabled. I observed locally a reduction in peak memory usage (best of 3 runs
in each case):
# gc_production_branch_do_not_push
Total allocated: 127.99 MB (2231891 objects)
Total retained:  139.68 kB (609 objects)

# this branch
Total allocated: 85.82 MB (1381432 objects)
Total retained:  139.51 kB (608 objects)

I also ran the data_stores.rb performance benchmark and it outlines no
change from baseline performance. I'd expect the early return
optimisation to provide some advantages when reading an high number of big
files, but such condition is not reproduced in the benchmark.

# frozen_string_literal: true

require "prometheus/client"
require "prometheus/client/data_stores/direct_file_store"
require "prometheus/client/formats/text"

require "memory_profiler"

Prometheus::Client.config.data_store =
    Prometheus::Client::DataStores::DirectFileStore.new(dir: ".")

report = MemoryProfiler.report(allow_files: "direct_file_store.rb") do
  HISTOGRAM = Prometheus::Client.registry.histogram(
    :histogram_metric,
    docstring: "an histogram",
    buckets: [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1],
    labels: %i[label1 label2 label3],
  )

  COUNTER = Prometheus::Client.registry.counter(
    :counter_metric,
    docstring: "a counter",
    labels: %i[label4 label5 label6],
  )

  REGISTRY = Prometheus::Client.registry

  def run
    100.times do
      HISTOGRAM.observe(
        rand(1024),
        labels: {
          label1: "foo" + rand(16).to_s,
          label2: rand(512),
          label3: [:a,"b"].sample,
        },
      )

      COUNTER.increment(
        by: rand(1024),
        labels: {
          label4: "foo" + rand(16).to_s,
          label5: rand(512),
          label6: [:a,"b"].sample,
        },
      )

      Prometheus::Client::Formats::Text.marshal(REGISTRY)
    end
  end

  t1 = Thread.new { run }
  t2 = Thread.new { run }

  t1.join
  t2.join
end

report.pretty_print(scale_bytes: true, detailed_report: true)

@cristiangreco Btw, have you checked that this last version is still better for memory? I'm assuming it is, but just in case...

@cristiangreco Btw, have you checked that this last version is still better for memory? I'm assuming it is, but just in case...

Yep, figures stay the same.


Clarify Progress Reset Modal

The modal currently lists everything that will be reset in a single block of text:

We should update this to be a bit more clear. Maybe a list:

Verbiage can be discussed here, or iterated over in a PR to close this issue.

It might make sense to include this in this proposed change #47464

@naomi-lgbt I agree with you. I just have few suggestions, such as keeping the text short and adjusting the alignment of list.
Let me know what you think about this (and if I could make a PR on this too):

@JBhrayn That looks good.
I wonder if we should also add clarification to the Danger Zone area as well:

I don't like the idea that you have to push a really dangerous looking button to find out what it will do. We don't even say that there will be a confirmation modal. I was didn't even want to click it for testing, since I have a huge amount of stuff on my personal account.

Lets go with @JBhrayn idea.

Hey @naomi-lgbt , looking at the discussion about making the progress reset modal clearer, I'm thinking it could be a great 'first timers only' issue. What do you think?


Fix DataFrame.replace with NaN/None values #1907

Hi, this PR would close #1907.

Codecov Report

Merging #1962 (7acdba6) into master (02133a8) will decrease coverage by 3.57%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #1962      +/-   ##
==========================================
- Coverage   94.64%   91.06%   -3.58%
==========================================
  Files          49       49
  Lines       10861    10760     -101
==========================================
- Hits        10279     9799     -480
- Misses        582      961     +379

Impacted Files
Coverage Δ

databricks/koalas/series.py
95.71% <100.00%> (-1.17%)
:arrow_down:

...bricks/koalas/tests/plot/test_frame_plot_plotly.py
26.58% <0.00%> (-73.42%)
:arrow_down:

databricks/koalas/usage_logging/__init__.py
25.66% <0.00%> (-66.65%)
:arrow_down:

...ricks/koalas/tests/plot/test_series_plot_plotly.py
37.50% <0.00%> (-58.80%)
:arrow_down:

databricks/koalas/usage_logging/usage_logger.py
47.82% <0.00%> (-52.18%)
:arrow_down:

databricks/koalas/__init__.py
73.43% <0.00%> (-17.19%)
:arrow_down:

databricks/conftest.py
88.13% <0.00%> (-11.87%)
:arrow_down:

databricks/koalas/spark/functions.py
88.88% <0.00%> (-7.41%)
:arrow_down:

databricks/koalas/accessors.py
86.43% <0.00%> (-7.04%)
:arrow_down:

databricks/koalas/namespace.py
78.12% <0.00%> (-6.08%)
:arrow_down:

... and 20 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 02133a8...7acdba6. Read the comment docs.

Seems good to me. Let's wait a while for reviews from others :)

Thanks @LucasG0. Merged.

Thanks, @LucasG0 !! :D

Thanks. :)


added some more zh to en_US translation

inserted a few more i18n() to expand the English translation
I am not sure if it'll conflict with other translations json files, please have a look for me thanks.

LGTM

Well, I noticed that you have some conflicts. You may want to fix it by backing up your modification, pulling latest version and resuming it.


[shell] use builtin cd to avoid conflicts

Ever since https://github.com/junegunn/fzf/pull/2659 was merged, the ALT-C command completes to cd -- /selected/path.  The -- was added to prevent directories starting with - from being treated as options.
However, this also creates problems for people using tools like zoxide to replace their cd command (https://github.com/ajeetdsouza/zoxide/issues/332). A more correct approach would be to use builtin cd.

Thanks!


Fixed race condition in Generic Thermostat

Description:
Generic Thermostat has a race condition in its keepalive feature when the switching of the heater and the keepalive event happen at the same time. Here's a basic outline of the problem:

Keepalive event begins executing, and checks which command to repeat (keepalive), based on the current status
Context switches to the event of switching the heater. The event completes, and the heater is switched to the opposite state.
Context returns to the keepalive event - which now retransmits the command of the old state, reverting the switch that just happened.

On top of the almost instantaneous turning on and off of the compressor (which can't be very healthy for it), the heater gets stuck in the old state for another min_cycle_duration, causing the temperature to drift further away from the target.
The issue is solved in this pull request by introducing a lock. Due to the async nature of the lock, the _async_control_heating is rewritten as async. Consequently, all methods that it calls are made async, and all the methods that call those methods, and so on. Currently, there's a mix of async and regular methods throughout the code - it's messy, but will be addressed in a future pull request, to limit the number of reviewable changes in this PR.
Additionally, _async_control_heating was refactored to be more concise, and accommodate the old keepalive functionality (the old async_keep_alive is now obsolete and, therefore, removed).
Checklist:

[X] The code change is tested and works locally.
[X] Local tests pass with tox. Your PR cannot be merged unless tests pass

@amelchio @balloob @MartinHjelmare
It's a smaller PR than the previous one, with minimal changes only relevant to the fix itself. What do you think?


travis build is broken

Travis builds are failing b/c of a error returning from the before_install section.  The command git fetch --100 is causing problems.  I am not sure why this is actually included, but I am not sure what the fix is.  This does not seem to be a transient issue -- successive builds do not make the problem go away.

$ python --version
Python 2.7.12
$ pip --version
pip 8.1.2 from /home/travis/virtualenv/python2.7.12/lib/python2.7/site-packages (python 2.7)
before_install.1
0.01s$ git config --global user.email<EMAIL_ADDRESS>before_install.2
0.00s$ git config --global user.name "Travis F5 Openstack"
0.59s$ git fetch --depth=100
fatal: git fetch-pack: expected shallow list
The command "git fetch --depth=100" failed and exited with 128 during .
Your build has been stopped.


Feature Request: low and high resolution skins

As an user I want to manage only one skin but support different screen sizes. The following problem occurs when the skin is used on an old smartphone and a new one with retina display at the same time: On the old smartphone everything looks like expected but on the new one with retina everything is tiny (or pixelated in case of a stretched-viewport).
Possible approach:

each drawable can have more than one image (one image for each size-class).
each size-class generates an own skin (my app will choose the right skin on startup).
if an image for a size-class is missing: fallback to the image of an existing size-class.

For example a simple button could have the following size-classes:

button.png (default size-class)
<EMAIL_ADDRESS>(retina size-class / scaled with factor 2)

If I want to add a button for those size-classes I drag'n'drop those two images (button.png and<EMAIL_ADDRESS>into the skin-composer and the skin-composer adds only one "button" drawable but saves both images. Later when I export this skin the skin-composer will generate two skins:

skin.json/skin.png and
skin<EMAIL_ADDRESS>
The same should be possible for fonts.
(this size-class and "@2x"-thingy is the way how apple solves this problem)

I've been using separate skins to manage my normal and scaled versions. This is simple, but of course leads to a lot of duplicated work. Your proposed solution might be viable, however it will make the interface more complicated and will also take some time to code. I'll consider this for a future version.

I've considered this and decided to not implement it. I'd recommend using an external texture packer to manage your low res and high res images separately. With a little copy-paste you can have both versions with the same skin file. Sorry!


32 testing

DO NOT MERGE

Test errors found. See https://jenkins-aws.indexdata.com/job/library-data-platform/job/ui-ldp/job/PR-50/7/

Test errors found. See https://jenkins-aws.indexdata.com/job/library-data-platform/job/ui-ldp/job/PR-50/8/

Test errors found. See https://jenkins-aws.indexdata.com/job/library-data-platform/job/ui-ldp/job/PR-50/9/

Test errors found. See https://jenkins-aws.indexdata.com/job/library-data-platform/job/ui-ldp/job/PR-50/10/

Test errors found. See https://jenkins-aws.indexdata.com/job/library-data-platform/job/ui-ldp/job/PR-50/11/

Test errors found. See https://jenkins-aws.indexdata.com/job/library-data-platform/job/ui-ldp/job/PR-50/13/

Test errors found. See https://jenkins-aws.indexdata.com/job/library-data-platform/job/ui-ldp/job/PR-50/14/

Test errors found. See https://jenkins-aws.indexdata.com/job/library-data-platform/job/ui-ldp/job/PR-50/15/

Test errors found. See https://jenkins-aws.indexdata.com/job/library-data-platform/job/ui-ldp/job/PR-50/16/

Test errors found. See https://jenkins-aws.indexdata.com/job/library-data-platform/job/ui-ldp/job/PR-50/18/


When I upgrade Python version by homebrew, pipenv die.

Issue description
First of all, I have Python 3.6 in my mac, this Python was installed by homebrew.
I installed pipenv by this command:
python3 -m pip install pipenv

now, I upgrade Python3 to Python 3.7 by the following command:
brew upgrade python3
brew cleanup

Now, pipenv has dead.
when I run command pipenv, it will raise the error msg：
$ /usr/local/bin/pipenv
zsh: /usr/local/bin/pipenv: bad interpreter: /usr/local/opt/python/bin/python3.6: no such file or directory

Expected result
Pipenv work.
Actual result
$ /usr/local/bin/pipenv
zsh: /usr/local/bin/pipenv: bad interpreter: /usr/local/opt/python/bin/python3.6: no such file or directory

It's not Pipenv to blame, it's the way how you install Pipenv.
In short, do not use Homebrew to install CLI apps(Docs recommend it which may be misleading for new users).
Homebrew with install Python to a standalone location and create softlinks under /usr/local/bin. When upgrading, the old python versions are removed, thus breaking the Pipenv which refers to the location of old python.
Close it for now.

In short, do not use Homebrew to install CLI apps(Docs recommend it which may be misleading for new users).

 Would you be willing to accept pull requests for it?

Hello.
What is the right way to install pipenv on macOS?

one way to resolve OP's original issue is manually symlink to the place where pipenv expects, find where your desired python version is installed with brew and then symlink it to /usr/local/opt/python:
ln -s<EMAIL_ADDRESS>/usr/local/opt/python/

I fixed this by manually updating my /usr/local/bin/pipenv file.
I met this problem after upgrading from 3.7 to 3.8.
I edited /usr/local/bin/pipenv file and changed
#!/usr/local/opt/python/bin/python3.7
to
#!/usr/local/opt/python/bin/python3.8
which seemed to fix the issue, for me

So wait, the first recommendation in the README is not the best way to install pipenv? That seems like a problem.
In any case, I solved this by doing brew install --force pipenv then brew link --overwrite pipenv to do a reinstall.

thanks for all reply


Create functional prototype webapp in React/Flask with the project skeleton

The project structure and the whole web app frontend x backend x db integration is now working and scalable !
I have also instructed members individually on how to work with and handle sections of the project they needed to know.
We will go forward with this and this long lasting issue is now closed.


mkDirectoryWith can invisibly fail to produce static

it seems to be possible that the impure mkDirectory can fail to build and nix still produces the derivation. In that case, only a true garbage collect of this derivation helps to force nix to rebuild it.
This is another hint that we should probably have a prebuild default jupyterLab with some extensions to get a truly pure derivation in the end. Maybe we can do this once jupyterlab 1.0 is out.

This doesn't seem to be actionable, should we close this?

Closing out old issues with no activity in preparation for migration to the next branch.


Autofocus attribute doesn't work reliably

SSCCE on Ellie:
What I expect: The input is focussed any time it it appears on screen.
What happens: The input is focussed on page load, but not after 'Hide input' then 'Show input' are pressed in succession.
Seen on MacOS Chrome Version 71.0.3578.98 (Official Build) (64-bit).
Elm 0.19.

I presume it's due to this.
If that's the case them I think Elm should either manage the autofocus in

situations where you are swapping, or opening, or unhiding DOM elements

Or it should not provide autofocus in HTML.Attributes.

I don't know if it's due to some shadow DOM magic, but I just tried this JS workaround and it doesn't work either, leaving me with no way to get an input to autofocus? 😱
Array.from(document.getElementsByTagName("input")).find(function(i) { return i.autofocus }).focus()

As mentioned [here|https://stackoverflow.com/questions/31901397/how-to-set-focus-on-an-element-in-elm/52624189?noredirect=1#comment96534245_52624189] there is a solution using Dom.focus as shown here.
I'm going to make a PR to update the docs to at least call that out (although I still think it'd be nice if the autofocus attribute took care of it.

The HTML spec defines the behavior that autofocus will set the focus only on page load. I think it would be strange if Elm would deviate from that behavior.

Thanks for the link @ChristophP.
I didn't know this:

The autofocus content attribute allows the author to indicate that a control is to be focused
[...]
as soon as the dialog within which it finds itself is shown

I don't see a dialog in Html, but using a dialog and adding/removing open certainly seems more appealing than having to use events (namely Dom.focus).

I tried to implement ⬆ here using:
node "dialog" [property "open" (bool model.inputVisible)]
            [ input [autofocus True] []]

It works insomuch as the dialog and input appear and disappear, but the autofocus still doesn't happen on subsequent appearances, maybe some shadow DOM shenanigans? 😞

I also tried ⬆ here using attribute instead:
, node "dialog" (if model.inputVisible then [attribute "open" ""] else [])
            [ input [autofocus True] []]

Same behavior 😞

I am guessing it could be related to two things.

Some timing issue: When the page loads the input quite painted yet, so autofocus has no effect.
Ellie has a bunch of iframes on the page. Maybe your autofocus isn't the only one on the page, or there are some scripts which "steal" away the focus from your element.
I would try to debug it by running it on a page that you own, not inside ellie.

I also tried arrow_up here using attribute instead:
node "dialog" (if model.inputVisible then [attribute "open" ""] else [])
            [ input [autofocus True] []]

Same behavior disappointed

Can confirm that this doesn't work, even in a plain web app (i.e. no Ellie, <iframe> etc). :crying_cat_face:


Optimize JSON (De)serialization (Final Types et al)

Feature Request 🛍
Use Case
Allow modellers to declare that types are "final" and cannot be extended. This allows for optimisation of the serialised JSON, as an array of final types can no longer be polymorphic.
The $class is required in serialised instances because concepts can be extended. We could support the addition of a final keyword which would indicate that a concept could not be extended, meaning that the type of an object can be inferred by introspecting the model.
Possible Solution
namespace acme

final concept Person {
   o String name
}

final concept Company {
   o String name
   o Person[] employees
}

const company =
{
   "name" : "Clause",
   "employees" : [
      {"name" : "Dan"}, {"name", "Simon"}
   ]
}

// deserialize, passing in the name of the type explicitly
// during deserialization the model is introspected to know that company.employee is an Employee type (and cannot be a subclass).
serialiser.fromJSON( company, ''acme.Company' );

Context

Detailed Description

Note that if $class is missing we could assume that we need to do a type lookup - if the type found is abstract then we fail with an error.

I would suggest that the "final" feature is not needed for this, and you could get the desired savings in more situations via a more general mechanism. Since objects are naturally processed and validated recursively, you should already know the parent's type when you encounter a field value. From the parent's type definition, you already know the declared type of the field. $class could simply be omitted wherever it matches the declared field type. Also, when only the type name within the $class differs from the declared field type, the namespace and version could be omitted, leaving an abbreviated $class field containing only the type name. For example:
abstract concept Owner { ... }
concept HumanOwner extends Owner { ... }
concept CorporateOwner extends Owner { ... }

concept Thing {
  o Owner owner
}

The $class in the owner could simply be "HumanOwner" or "CorporateOwner". The namespace and version would be assumed to match that of the Owner type in that case.

declared

Note that type determination based on the type of the property only works if you assume that the model doesn't change between when the instance was serialised and when it was deserialised. For example, if version 1 of the model is:
concept Owner { ... }

concept Thing {
  o Owner owner
}

It is assumed that no $class is required, because the owner property is of an (non-abstract) type Owner.
Version 2 of the model is:
concept Owner { ... }
concept HumanOwner extends Owner { ... }
concept CorporateOwner extends Owner { ... }

concept Thing {
  o Owner owner
}

A $class is now required as a type discriminator to deserialise the Thing.owner property
The advantage of the final keyword (or sometimes called sealed) is that it makes it much clearer to the modeller than making a final type non-final is a breaking change - and that change occurs in the namespace of the type that is being declared "unfinal". Without  final keyword any introduction of a derived type, in any namespace, is potentially a breaking change for deserialisation.

Note that type determination based on the type of the property only works if you assume that the model doesn't change between when the instance was serialised and when it was deserialised.

I don't think that's true. It should work regardless. The $class of the top-level object - which is always required - declares the exact version of the top-level object that you're dealing with. If it's v1 then you know you're in the first case. If it's v2 then you know you're in the second case. There's no ambiguity or assumptions about the model not changing.
(Furthermore, I don't see why a $class would be required even in your v2 model, at least according to my proposed rule. Given that Owner is not abstract, a $class-less owner would still be legal and unambiguous. It would only become required if Owner became abstract.)

It seems that your understanding of my proposal is that we allow $class to be omitted when and only when there's exactly one concrete type that a field could possibly be, so that adding more possible types suddenly makes $class required where it wasn't before. Something like this:
abstract concept A { }
concept C {
  o A a // $class can be omitted as long as there's only one subtype of A in existence anywhere???
}

I agree that would be a bad idea, but it's not my proposal. My proposal is much simpler and more generally applicable. It allows $class to be omitted whenever a field type is not abstract, and when omitted, it is understood to be the exact concrete type the field is declared as. To revisit your v2 example above:
concept Owner { ... }
concept HumanOwner extends Owner { ... }
concept CorporateOwner extends Owner { ... }

concept Thing {
  o Owner owner
}

Can $class be omitted for the "owner" field? Yes, because the field type, Owner, is not abstract.
What type is inferred when $class is omitted? It is only the exact field type<EMAIL_ADDRESS>and none other! If you want to use HumanOwner or CorporateOwner, then you need a $class.

I don't believe there is any form of model evolution for which this rule causes problems, assuming you are not mutating existing models without changing their versions, which can break all kinds of things. But if you have an example, I'd be glad to see it.

Return from whence thou came, bot.


Add TryHackMe to websites section

Please read; https://github.com/paragonie/awesome-appsec/blob/master/CONTRIBUTING.md


Trellis plot: cannot be added in specific case, error on setting structure column as X axis

Steps to reproduce:

Open SPGI (or any other table that has a column with molecules
Add trellis plot
Set up column with no molecules as Y axis
Set up column with molecules as X axis

Expected results: Trellis plot configuration is updated, no errors.
Actual results: Trellis plot configuration is not updated, error in console:
html_dart2js.dart:3558 NullError: method not found: 'gpS' on null
packages/d4/src/trellis_plot/trellis_plot_core.dart 327:73             MI.fe
packages/d4/src/trellis_plot/trellis_plot_core.dart 240:5              MI.IX
packages/d4/src/trellis_plot/trellis_plot_core.dart 224:9              cTv.
packages/$sdk/lib/html/dart2js/html_dart2js.dart 42920:48              d7W.
packages/$sdk/lib/async/zone.dart 1132:12                              aWR
packages/$sdk/lib/async/zone.dart 1012:12                              d5E.zX
packages/$sdk/lib/async/zone.dart 909:14                               d5E.GX
packages/$sdk/lib/async/zone.dart 936:23                               d5H.
packages/$sdk/lib/_internal/js_runtime/lib/js_helper.dart 2456:48      fz1.
packages/$sdk/lib/_internal/js_runtime/lib/isolate_helper.dart 474:16  Ny.L5
packages/$sdk/lib/_internal/js_runtime/lib/isolate_helper.dart 59:16   Object.FI
packages/$sdk/lib/_internal/js_runtime/lib/js_helper.dart 2456:14      fz.
packages/$sdk/lib/_internal/js_runtime/lib/js_helper.dart 2476:14      HTMLSelectElement.
For some datasets Trellis plot cannot be added at all (it happens if structure column gets into default trellis plot's configurations)

Can be reproduced on smiles.csv

1.16.0


[INTERNAL] REUSE: Update copyright year and open GH action version range

Coverage remained the same at 94.717% when pulling e7c4f80d61f29a603181f7ca46255e61bbd83d13 on reuse-2022 into 731e3030f13c6164caf6e3a88ffd1b72eb296bb2 on main.


Nakoturk Phase-2 IBC Task

source: https://celestia.observer/transactions/A9843C59AC68CC8BA0D05DC53D111431A8D801814173467E61CE5FEE24CFC842
dest: https://www.skynetexplorers.com/cosmic-horizon/tx/310F7C7D94C5DC07E6FAE44F6F1884436A0DA9F7D1AC43243A12FB85B044E3C7


Audio bug on web

I intermittently experience this bug on Chrome, even though my game doesn't have any audio.

I believe this should no longer be a problem since we switched to the web audio API in https://github.com/edbentley/replay/pull/39?

Yeah I haven’t encountered it recently so can probably mark as resolved


[Animation] Get velocity from DecayAnimation

Given the DecayAnimation's deceleration equation:
var elapsedTime = Date.now() - this._startTime;
var value = this._fromValue +
  (this._velocity / (1 - this._deceleration)) *
  (1 - Math.exp(-(1 - this._deceleration) * elapsedTime));

How can I get the velocity given any elapsedTime?

Maybe I'm overthinking it and it's as simple as:
var velocity = (this.value - this._fromValue) / elapsedTime;

Alright, I think this works. Maybe we should put this in DecayAnimation?
this._lastVelocity =
  (this._velocity / (1 - this._deceleration)) *
  (1 - this._deceleration) * Math.exp(-(1 - this._deceleration) * elapsedTime);

Good that you've found the solution! Will close this but feel free to discuss here.


Match the Swift.org footer

This uses the same custom template that the docs for DocC use.
Fixes rdar://103026794

Here's a screenshot of the built result:

With the addition of the link to the CC license in the footer, I'm seeing a styling issue that's beyond my CSS abilities.  I'm not sure how to get the license link to take the same style as the other footer links.

The footer.css we use from swift.org doesn't look like it defines a link color there; we could use the dark mode link color from the swift.org blog (#09f). I added a commit to this effect and bumped the footer copyright year.

@krilnon Thanks for finding that color to match — this looks good to me now.

Is it possible to attach an image with the fixed / final version of the footer with the colors corrected? Several other folks are now reviewing this PR.

Here is a screenshot of the footer with corrected link color:


CBMC proof for s2n_add_overflow

Description of changes:
This PR adds a CBMC proof for the function s2n_add_overflow. It ensures that the function properly checks for integer addition overflows.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #2179 into master will decrease coverage by 0.29%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #2179      +/-   ##
==========================================
- Coverage   81.07%   80.77%   -0.30%
==========================================
  Files         248      248
  Lines       18521    18522       +1
==========================================
- Hits        15015    14962      -53
- Misses       3506     3560      +54


Dark mode

Obviously

Hey @sejr can you give a bit of explanation on what is to be done in this enhancement , If it would be doable from my end , I'll give it a try!

Hey there. This would entail a CSS media query and/or prop that could be passed to the components to render in dark mode.
However, I haven't updated this library in a while and if I did, I would make it headless/CSS-agnostic. So I probably wouldn't merge in any CSS-related changes at this point.
I appreciate your interest though!


tap: memoize loading installed taps

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

See https://github.com/Homebrew/brew/pull/16791#discussion_r1509963530
This adds a new Tap.tap_registry method that will load all installed and core taps only once instead of doing it every time on the fly. We only expect this list to change when a tap is installed or uninstalled in the lifetime of the program. The only places where that can happen are in the Tap#install and Tap#uninstall methods so we make sure to update the tap registry when those methods are called.
This increases the performance of Tap#reverse_tap_migrations_renames since most of that time was spent in Tap.each loading the installed taps from the tap directory.
On my local computer, the performance goes from 3+ seconds to around 0.2 when calling Tap.each(&:to_s) in a loop 6k times. 6k is around the number of formulae in the core tap so this is not unheard of.
Before:
==> Interactive Homebrew Shell
Example commands available with: `brew irb --examples`
brew(main):001:0> require "benchmark"
=> true
brew(main):002:1* Benchmark.realtime do
brew(main):003:1*   6_000.times { Tap.each(&:to_s) }
brew(main):004:0> end
=> 3.4574323009983345
brew(main):005:0> Tap.clear_cache
=> T::Private::Types::Void::VOID
brew(main):006:1* Benchmark.realtime do
brew(main):007:1*   6_000.times { Tap.reverse_tap_migrations_renames }
brew(main):008:0> end
=> 4.388525905000279
brew(main):009:0> exit

After:
==> Interactive Homebrew Shell
Example commands available with: `brew irb --examples`
brew(main):001:0> require "benchmark"
=> true
brew(main):002:1* Benchmark.realtime do
brew(main):003:1*   6_000.times { Tap.each(&:to_s) }
brew(main):004:0> end
=> 0.027163652001036098
brew(main):005:0> Tap.clear_cache
brew(main):006:1* Benchmark.realtime do
brew(main):007:1*   6_000.times { Tap.reverse_tap_migrations_renames }
brew(main):008:0> end
=> 1.0597649259980244

There might be additional improvements that can be made to Tap.reverse_tap_migrations_renames but there will be diminishing returns. We can consider doing that work in a separate PR.

instead of just busting the original cache in these very unusual/never-in-a-hot-loop situations

Yes, given this probably only happens rarely, maybe Tap.clear_cache is enough?

Maybe the simplest solution would be to call Tap::clear_cache in Tap#clear_cache, i.e. every time a single tap needs to be cleared, the global cache should also be cleared.

Maybe the simplest solution would be to call Tap::clear_cache in Tap#clear_cache, i.e. every time a single tap's cache needs to be cleared, the global cache should also be cleared.

I'm not a fan of this unless we wind up putting more stuff in the class level Tap cache that needs to be cleared at the same time as the instance cache. Ideally, we'd find a way to stuff more logic into the instance cache to avoid that needing to add more stuff to the class level cache.

Busting the class level Tap cache might be convenient to cover all the bases but it's not strictly necessary right now. I'm fine with that if it's preferable over updating the list of taps manually. Complexity-wise I think they're around the same.
Let me sketch out the alternative implementation from what I gather from the comments.

Cache the list of taps once in Tap.each presumably in cache[:each] at the class level. This could use an array which we make sure is unique by name when caching.
Clear the class level Tap cache in Tap#install and Tap#uninstall after the instance level cache gets cleared (that seems like a decent spot to put it).

I guess the advantage of this approach is that it doesn't require a separate Tap.registry method or Tap#hash to be redefined but it does mean that we will clear the class level cache more frequently. Could this possibly cause any unexpected behavior? We don't normally clear the class level cache outside of tests. I can't think of anything that would go wrong though.
The main difficulty with caching is remembering when to invalidate the cache and both potential implementations have the same weaknesses there.

What is brew test bot doing here?

I guess the advantage of this approach is that it doesn't require a separate Tap.registry method or Tap#hash to be redefined but it does mean that we will clear the class level cache more frequently. Could this possibly cause any unexpected behavior? We don't normally clear the class level cache outside of tests. I can't think of anything that would go wrong though.

The only thing I can see going wrong is reduced performance.

Ideally, we'd find a way to stuff more logic into the instance cache

I doubt there is a way, otherwise we end up with the instance cache depending on other taps, which makes even less sense.

I doubt there is a way, otherwise we end up with the instance cache depending on other taps, which makes even less sense.

I was thinking of it more in the context of speeding up Tap#reverse_tap_migrations_renames by caching more info per tap. I don't think it will work for a list of all taps though.

speeding up Tap#reverse_tap_migrations_renames by caching more info per tap.

We should probably make tap_migrations itself cache more stuff first, i.e. instead of returning T::Hash[String, String], return T::Hash[String, [Tap, String]] so we don't have to parse it in reverse_tap_migrations_renames.

Closing because the alternative PR already got merged in: https://github.com/Homebrew/brew/pull/16863


MultiMatchQuery

Hi everyone, sorry for my English haha
does anyone know if is possible make a MultiMatchQuery and specify that the search value can be contained into a fields?
For example, something like this:
$queryBuilder = (new MultiMatchQueryBuilder())
                    ->fields([.....])
                    ->query('*'.$searchValue.'*')

I tried to use fuzzines, but I don't quite understand it.
I need replicate the behavior of Document::search('*'.$searchValue.'*')  but in multiple fields.
Thanks in advance

Hi @Marian00P, I'm not sure if understood the problem. Why this doesn't work?
$searchResult = Book::multiMatchSearch()
    ->fields($fields)
    ->query($searchValue)
    ->execute();

You don't really need to use it with wildcards unless you are trying to build a wildcard query:
$searchResult = Book::wildcardSearch()
    ->field($field)
    ->value('*' . $searchValue . '*')
    ->execute();

But I need to find this searchValue in multiple fields, how can I apply wildCardSearch in multiple fields?

Mmhh, maybe this example clarifies the problem a bit.
Let's suppose we have the following user data:
[
    ...
    {first_name: Nikolas, last_name: Tesla, email<EMAIL_ADDRESS>phone_number: 123455(56)66, born: 1955},
    {first_name: Galileo, last_name: Galilei, email<EMAIL_ADDRESS>phone_number:<PHONE_NUMBER>, born: 1960},
    {first_name: Eliseo, last_name: Terry, email<EMAIL_ADDRESS>phone_number:<PHONE_NUMBER>, born: 1957},
    {first_name: Isaac, last_name: Newton, email<EMAIL_ADDRESS>phone_number: 1234999(56)77, born: 1958},
    {first_name: Nicolas, last_name: Copernico, email<EMAIL_ADDRESS>phone_number:<PHONE_NUMBER>, born: 1959},
    ...
]

suppose we want to filter the users that were born between 1955 and 1959, and also we want the email, or the number to contain the number 56.
and keep in mind that $fields = ['email', 'phone_number'] and $searchValue = 56
Well, in my code I go through each filter and create its respective queryBuilder and store it in an array $queryBuilders for later use in User::boolSearch()->mustRaw($queryBuilders)->paginate(10)
Basically,
...
$queryBuilderForBorns = (new RangeQueryBuilder())
                                    ->field('born')
                                    ->gte(1955)
                                    ->lte(1959);
array_push($queryBuilders, $queryBuilderForBorns)

// in the next line start the problem, I tried to solve this with

$queryBuilderForFindValue = (new MultiMatchQueryBuilder())
                                                      ->fields($fields)
                                                      ->query('*' . $searchValue . '*')
                                                      ->operator('or');

... but it didn't work for me. :(
After getting your answer I tried to do the following, replacing the last part of the code with:
foreach ($fields as $field) {
      $queryBuilder1 = (new WildcardQueryBuilder())
                          ->field($field)
                          ->value('*' . $searchValue . '*');
      array_push($queryBuilders, $queryBuilder2->buildQuery());
}

But obviously it was not going to work, because when it finds one that does not match, all the previous result is overwritten.
I hope my problem has been clarified, and sorry for the inconvenience. Thanks in advance.

Ohh great, thank you very much!!!


Add documentation for example files

Show where these exist in the repository and how they can be used.
Also check if they're up-to-date and continue to work properly.

merged in with #345


Example scripts: new repo or new folder in this repo?

I have some test scripts that exercise features of the PDK Framework. I am thinking they might be useful as learning aids and so I would like to post them somewhere public. I could then link back to them from the PDK Framework documentation.
Do people think it makes more sense to add them to this repo in a subfolder? Or would they be better off in their own repo? The first two I have in mind are

a test script I developed to test features of FCCtrlTextEditor
a test script I developed to test features of FCCtrlDataList (including forthcoming features in v0.70.)

I could imagine adding more over time.

I feel like a subfolder here is totally appropriate

On Jan 3, 2024, at 7:31 PM, rpatters1 @.***> wrote:
I have some test scripts that exercise features of the PDK Framework. I am thinking they might be useful as learning aids and so I would like to post them somewhere public. I could then link back to them from the PDK Framework documentation.
Do people think it makes more sense to add them to this repo in a subfolder? Or would they be better off in their own repo? The first two I have in mind are
a test script I developed to test features of FCCtrlTextEditor
a test script I developed to test features of FCCtrlDataList (including forthcoming features in v0.70.)
I could imagine adding more over time.
—
Reply to this email directly, view it on GitHub https://github.com/finale-lua/lua-scripts/issues/626, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMCBUQ2XFZBG4S2XOQDN5H3YMYPCLAVCNFSM6AAAAABBMKGFP6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGA3DIOJTGY4DMMA.
You are receiving this because you are subscribed to this thread.

I feel like a subfolder here is totally appropriate

Agreed. And a great value add.

Whoops. Forgot to resolve it. This is resolved with #627.


definitive guide to using flask-restful with Blueprints

There are quite lot of issues, commits, and PRs relating to using blueprints, some of which conflict with each other. Is there a quickstart to using flask-restful with blueprints?

This is awesome. :tada:
However, it didn't exactly worked / was clear for me.
For the lost souls that will come here, I managed to do it like this:
from flask import Flask, Blueprint
from flask_restful import Api
...

class FlaskServer:

    API_VERSION = 0.1
    API_URL_PREFIX = '/api/v%s' % API_VERSION

    api_blueprint = Blueprint('api', __name__)

    ...

    def __init__(self, host, http_port):

        self.host = host
        self.http_port = http_port
        ...

        # Flask Restuful API
        self.api = Api(
            app=self.api_blueprint,
            prefix=self.API_URL_PREFIX
        )

        # grouping all 'self.api.add_resource()' definitions
        self._init_api_resources()

        # only after the api resources where added
        self.app.register_blueprint(self.api_blueprint)

    def run_rest(self):

        self.app.run(
            host=self.host,
            port=self.http_port
        )

Thanks to craigglennie.com.


Provide also an "all-in" admin.kubeconfig

Is your feature request related to a problem? Please describe.
I want to copy and paste admin.kubeconfig into Lens on my desktop but I can't—this file redirects to cert files on the latest k3s (1.21).
Describe the solution you'd like
Provide a second file where everything is included and which I can just copy and paste.
Describe alternatives you've considered
Just using k9s.
Additional context
k0s offers such an all-in config.

Have you checked the file at /etc/rancher/k3s/k3s.yaml as covered in the documentation?

Cool, I had checked /var/lib/rancher/k3s/k3s.yaml but unfortunately not /etc/rancher/k3s/k3s.yaml. Btw, do you know why this file sits lonely in /etc/? So, I know it and head next time intuitively to /etc/.


Decentraclasses

Grant category
Please select one:

Educational material

Description

Decentraclasses is an innovative ed-tech platform that works on the Learn-to-Earn model enhanced by Blockchain Technology and we will be a proudly and fully decentralized platform.

Our main goal is to transform educational courses into valuable assets and revolutionize the education sector through decentralization.With the help of our course-staking features, we hope to make education available to everyone by enabling them to earn money while they learn.

Our main focus is to remove the traditional barriers associated with education and empower learners to benefit from their knowledge by enrolling in courses.

We offer a wide range of both web2 and web3 educational courses to increase awareness and facilitate the transition to web3 technology.

We are dedicated to promoting the adoption of web3, offering mentorship programs, creating career opportunities, and providing lifelong incentives.

DecentraClasses is all about turning learning into a means of earning, making it fair and accessible to everyone.

As per our name, we are using only decentralized/web3 based tools and services.

Problem statement
The main problem that the project aims to solve is the lack of accessibility and monetization opportunities in traditional education systems. Many YouTubers specializing in blockchain development offer private courses on their websites, but these courses are not easily accessible to all students. Additionally, there is limited opportunity for instructors and learners to monetize their knowledge and skills. By decentralizing education and introducing staking features, Decentraclasses addresses these issues by making education more accessible, empowering instructors to earn additional income, and allowing learners to monetize their learning experiences. This not only benefits individuals by providing financial incentives but also promotes a more inclusive and democratized learning ecosystem.
Students usually buy the course but then never finish it.

Target audience
=>Anyone with a motive to learn new technology!
Evidence for the need
=>Integration with Our Decentralized Ed-Tech Platform: We have integrated flow into our decentralized ed-tech platform. This integration allows users to seamlessly enroll in courses on our platform using flow technology.
=>Offering Courses for flow chain Projects: In addition to enrollment, we provide specialized courses that teach users how to build projects on the flow chain. These courses not only educate users about the flow chain but also demonstrate the practical benefits it offers.

Proposed solution
By developing Decentraclasses, an ed-tech platform that decentralizes teaching and adds staking capabilities, the initiative seeks to solve the issue. It enables blockchain development-focused YouTubers to launch their courses on the platform, improving accessibility for students. The notion of tradable courses is distinctive because it allows both teachers and students to stake their own courses and make money while they are learning, generating incentives for both sides that last a lifetime.
We provide features like:

Course Marketplace
Segmented Purchases
LIVE PROJECT
Course Reselling
Dynamic NFT for tracking course progress on chain
Proctored tasks and assessments

Impact

In what ways does this benefit the broader Flow developer ecosystem?

We are aiming for a completely decentralized education platform to prove to the web2 developer that we can truly build anything on web3 architecture, cause if you see the current implementations of other education platforms they are all based on web2 architecture which says that web3 is not credible enough to build everything which is what we want to prove wrong, which is why building on top of flow would prove the credibility of blockchain technology and at the same time we are also bringing more developers and learners onto the flow ecosystem which will help flow's vision for mass adoption of web3.
Apart from this we also provide a dedicated academy for Flow so that Flow can host courses related to its platform, as the main key to mass adoption is by teaching and educating newcomers about the ecosystem. This platform will be a go-to stop for all Flow enthusiasts so they can learn and develop on the Flow ecosystem ultimately contributing to the ecosystem. (Flow Academy if you wanna call it😁).
Milestones and funding
PHASE 1 Progress (In progress ~ 2 months):

Development of the alpha version of the product is currently underway.
Users will have the capability to purchase courses.
A wide variety of courses will be available for users to choose from.
The alpha version is planned for launch at the beginning of September.
Mentorship feature: Mentors can schedule regular meetings with students and provide special doubt sessions for users who have purchased courses.
Post-launch, a one-month testing period will be initiated.
During this testing period, users can explore the platform's features and provide feedback.
The focus will be on fostering community engagement to expand the user base on the platform.

PHASE 2 Goals (~2 Months):

Implement a strict assessment policy.
Incorporate a "learn to earn" model into the platform.
Establish partnerships with companies to showcase Bounties, Surveys, and Micro Tasks.
Collaborate with companies to display job and internship listings.
Post launch of Phase 2 a time of one month will be taken for model feasibility, product evaluation, user feedback and improvements

PHASE 3 Future Features: (~2 Months)

Cohorts Implementation
Hands-on Learning Feature
Proof of Learning NFT
Customized Roadmaps
Coding Leagues Integration (P2P)

Note: Please consider adoption and/or maintenance milestones at the end of your project.

Milestone
Deliverables
Timeline
Risks
USD proposal

1 - MVP
Phase 1 features
2 months
-
2000

Phase 2
Working on feedback and phase 2 features
2 months
-
2000

User adoption
Active users across platform
2 Months
-
1000

Total funding proposed: 5000
Team

Name
Role
Bio
Contact

Aryan Ghosh
Founder
My name is Aryan Ghosh, and I'm an accidental Entrepreneur, working for myself to build something great which can neither be disruptable. Providing exposure to the students and building a student community to grow together.
<EMAIL_ADDRESS>

Raghav Jindal
Developer
I am Raghav Jindal, an experienced and refined developer with comprehensive proficiency in the field of Blockchain development from writing, testing and deploying smart contracts on various chains along with Full stack - Web and App development, using technologies like - Flutter, React Js , Node Js, Database, Ui libraries, API
<EMAIL_ADDRESS>

Srikar Mks
Frontend developer
Advocate at The graph protocol
https://github.com/Srikarmk

Parth Verma
Blockchain developer
Freelance crossplatform blockchain developer
https://github.com/infoparth

We appreciate your proposal. After careful review we've decided not to proceed at this time. Please stay connected to our Twitter and working groups to stay on top of the latest developments in the ecosystem and new grant opportunities.


[BUG] Selecting Chapters making duplicate active behaviours on selected left nav items

🙁 Actual behavior
If I'm on home page and selected Home from Left navigation Bar - it highlights in grey as to show this selection item is active. But if I Select Chapters it should ONLY highlight Chapters as an active item of left nav bar - Currently it selects both (older nav item + Chapters item)

🙂 Expected behavior
On Selecting Chapters Navigation item, only that items should be highlighted in grey to show this item is active nothing else.
🔢 Steps to Reproduce the Problem

From Left nav, click Home link
Now Again from left nav, Click Chapters Link
Now Home, link should be in-active and only Chapters link should be highlighted.

I am a good web developer I can solve this issue very easily. Can you please assign this to me.

I want to work on this issue for WOC @Kathuria


[Bug] "no valid backup files were found" on BackBlaze storage

Documentation

[x] I acknowledge that I have read the relevant documentation.

Describe the bug
I am trying to set up a new mariadb instance from a backup, like the example from the documentation.
apiVersion: mariadb.mmontes.io/v1alpha1
kind: MariaDB
metadata:
  name: uk-merge-test
spec:
  username: test
  database: test

  image: mariadb:11.2
  imagePullPolicy: IfNotPresent

  volumeClaimTemplate:
    storageClassName: db-europe-longhorn-sc
    resources:
      requests:
        storage: 20Gi
    accessModes:
      - ReadWriteOnce

  service:
    type: ClusterIP

  nodeSelector:
    region: europe
    type: db

  bootstrapFrom:
    s3:
      bucket: xxx
      endpoint: s3.eu-central-003.backblazeb2.com
      region: eu-west-1
      prefix: yyy/
      accessKeyIdSecretKeyRef:
        name: mariadb-backblaze
        key: AWS_ACCESS_KEY_ID
      secretAccessKeySecretKeyRef:
        name: mariadb-backblaze
        key: AWS_SECRET_ACCESS_KEY
      tls:
        enabled: true
        caSecretKeyRef:
          name: backblaze-ca
          key: ca
    targetRecoveryTime: 2024-03-26T03:30:25Z

As seen in screenshot, backup files does exist, with exact timestamp even.
The S3 part from config is copied directly from the backup yaml file, which works, so that should also work fine.
Expected behaviour
Instance would start up and backup would be imported.
Debug information

Related object events:

mariadb-operator {"level":"info","ts":1711455940.049458,"msg":"starting restore"}
mariadb-operator {"level":"info","ts":1711455940.0496657,"msg":"configuring S3 backup storage"}
mariadb-operator {"level":"info","ts":1711455940.0636103,"msg":"obtained target time","time":"2024-03-26 03:30:25 +0000 UTC"}
mariadb-operator {"level":"error","ts":1711455940.2660177,"msg":"error reading getting target backup","error":"no valid backup files were found","stacktrace":"github.com/mariadb-operator/mariadb-operator/cmd/backup.glob..func2\n\t/app/cmd/backup/restore.go:54\ngithub.com/spf13/cobra.(*Command).execute\n\t/go/pkg/mod/github.com /spf13/cobra@v1.7.0/command.go:944\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\t/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:1068\ngithub.com/spf13/cobra. (*Command).Execute\n\t/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:992\nmain.main\n\t/app/cmd/controller/main.go:361\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:267"}

Just to add some more informations, I encountered a similar issue when trying to restore a backup from s3 in my database.
After digging through the code, it seems that the restore operations does not take the "prefix" into account when looking for viable backup files.
Mainly it checks that the file is named a certain way with a recongnizable pattern, and on some s3 setups the prefix is part of the name. This makes the pattern matching fail, hence no backup is considered "valid" in the end.
Culprit seems to be here: https://github.com/mariadb-operator/mariadb-operator/blob/5be8360b730bdb55a7677fc7e14e41cef79162c9/pkg/backup/backup.go#L69
Where it checks if the string starts with "backup", but does not take into account that the filename may begin by a defined prefix.
@Danielss89 I solved the issue by removing the "prefix" attribute in by backup configuration for now. Or you could copy the requested file at the root of your bucket, which is like removing the prefix.

I've proposed a fix for that, see: #524

Hey there everybody! Thanks for reporting, the investigation and the PR! 🙏🏻
Indeed, we have an issue with the prefixes, we will submit a patch for this in v0.0.28. For the time being, please refrain from using the S3 prefix.


select current()

IoTDB> select current()
+----------------------+
|                    current()
+----------------------+
|2022-03-16 22:52:29
+----------------------+

Coverage increased (+0.009%) to 65.353% when pulling 1936baedb4b83cd2c5581b29fe6950af32c642d6 on RYH61:zz into d29ef70755bfbb1993e644f4c45b88ef71c0d2c8 on apache:master.


Add Morgan Middleware

Morgan is an HTTP logger middleware that can be used in expressjs or vanilla servers.
By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖
⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

Duplicate of #746


num_frames value must be greater than 0 when training on own dataset

Hello, I'm having an issue when trying to run the training on my own dataset using Google Colab.
I created a folder for the dataset inside the data folder, and 2 subfolders : train and test, and put a separate folder for each video sample with all the frames in ".png" format (as specified in the README).
When I run the training, I have this error :
/usr/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88
  return f(*args, **kwds)
run.py:40: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  config = yaml.load(f)
Use predefined train-test split.
Training...
  0% 0/10 [00:00<?, ?it/s]/usr/local/lib/python3.6/dist-packages/torch/nn/functional.py:2423: UserWarning: Default upsampling behavior when mode=bilinear is changed to align_corners=False since 0.4.0. Please specify align_corners=True if the old behavior is desired. See the documentation of nn.Upsample for details.
  "See the documentation of nn.Upsample for details.".format(mode))
/usr/local/lib/python3.6/dist-packages/torch/nn/functional.py:1332: UserWarning: nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.
  warnings.warn("nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.")
Traceback (most recent call last):
  File "run.py", line 81, in <module>
    train(config, generator, discriminator, kp_detector, opt.checkpoint, log_dir, dataset, opt.device_ids)
  File "/content/first-order-model/train.py", line 50, in train
    for x in dataloader:
  File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/dataloader.py", line 623, in __next__
    return self._process_next_batch(batch)
  File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/dataloader.py", line 658, in _process_next_batch
    raise batch.exc_type(batch.exc_msg)
ValueError: Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/dataloader.py", line 138, in _worker_loop
    samples = collate_fn([dataset[i] for i in batch_indices])
  File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/dataloader.py", line 138, in <listcomp>
    samples = collate_fn([dataset[i] for i in batch_indices])
  File "/content/first-order-model/frames_dataset.py", line 154, in __getitem__
    return self.dataset[idx % self.dataset.__len__()]
  File "/content/first-order-model/frames_dataset.py", line 113, in __getitem__
    frame_idx = np.sort(np.random.choice(num_frames, replace=True, size=2))
  File "mtrand.pyx", line 1120, in mtrand.RandomState.choice
ValueError: a must be greater than 0

Did I miss something ?

I guess one of your folders is empty.

Thanks for the quick answer !
For some reason, colab were deleting some of my files, it's fixed.


In Primary-Remote cluster mode,  pilot support distribute AuthorizationPolicy to envoy in remote cluster

Describe the feature request
In Primary-Remote cluster mode,  pilot should support distribute AuthorizationPolicy to envoy in remote cluster
Describe alternatives you've considered
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Additional context

not bug


How can I get the Point List or Polygon Object by a LineString.buffer() in GEOSwift?

In MKMapView, I want to detected the Tap Action in whitch side(line) of a Polygon. MKMapView Instance may have only One Polygon. So here's my idea is that compute every side of the polygon to a little polygon by buffer method of LineString Instance in GEOSwift Framework.It means that every two points convert to a rentangle Ploygon.When user touched(Tap),checked the touch point if one little polyon is contained. In this way, it can compute which side of the big Polygon touch by user. However,I can get the Points of LineString.buffer(),so i can not make a little polygon. have any other method can solve my Problem ths~~
link here : https://stackoverflow.com/questions/56140939/how-can-i-get-the-point-list-or-polygon-object-by-a-linestring-buffer-in-geosw

You could do something like this:
    let line = LineString(points: [Coordinate(x: 1, y: 0), Coordinate(x: 1, y: 10)])!
    let bufferedLine = line.buffer(width: 1)
    let polygon = bufferedLine as! Polygon
    let points = polygon.exteriorRing.points

Note that the resulting polygon has rounded end caps. GEOS supports different end cap styles, but that functionality isn't exposed in GEOSwift right now.

Since I haven't heard back, I'm going to assume this answered your question. Feel free to reopen this issue if that's not the case.


Swift 3.0

Built off @sharplet's open PR for 2.3 support
Do the minimum set of changes to support Swift 3.
There are other improvements we can make like:

using Any instead of AnyObject (JSONSerialization returns this now)
Adopt a more Swify API by not ignoring so many first args.

Open question(s):

Now that we have URLRequest, should we still support NSURLRequest and NSMutableURLRequest?

Hello, any updates on this PR?

@Eke We need to wait for #92 before merging this, but in the meantime you should be able to reference this branch swift-3.0 in your dependency manager to use this version

@jakecraige Thanks for info !

Hello, can you please update podspec dependencies for Argo and Result ?

Hey folks, any update on this getting merged? Is there any work which could be contributed to this PR to get it closer to ready?

@jakecraige @tonyd256 I've pushed a few more commits removing some unnecessary casts and updating our error handling to use the new LocalizedError and CustomNSError protocols. I think this should be about ready to merge!

👍  (can't approve through review since GH says this is "my" PR)


path_provider completely broken. Deprecates depending libraaries too. error GC9768DF9: Undefined name 'FOLDERID_printHood'.

I've been trying to work with path_provider for a week now. I initially came to know of it through the hive_flutter package, which gave me constant errors while runtime, such as-
/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.1.0/lib/src/folders.dart:122:34: Error: Undefined name 'FOLDERID_printHood'.
  static String get printHood => FOLDERID_printHood;
                                 ^^^^^^^^^^^^^^^^^^
/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.1.0/lib/src/folders.dart:125:39: Error: Undefined name 'FOLDERID_printersFolder'.
  static String get printersFolder => FOLDERID_printersFolder;
                                      ^^^^^^^^^^^^^^^^^^^^^^^

I narrowed down this bug to one of the dependencies of hive_flutter; path_provider, and specifically path_provider_windows. I tried countless methods to fix this like-

Delete and redownload flutter sdk
Run my project in another directory
Running flutter clean ; flutter pub get everytime before running my app
Changing my minskdversion to 21
etc.

Please help me through this. I don't see any reason for this specific error to be occuring. My flutter doctor is-
[√] Flutter (Channel stable, 3.0.1, on Microsoft Windows [Version 10.0.22000.675], locale en-IN)
[√] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.1.0)
[!] Android Studio (not installed)
[√] VS Code (version 1.67.2)
[√] Connected device (3 available)
[√] HTTP Host Availability

You are using old, incompatible versions of path_provider_windows and win32. You just need to flutter pub upgrade to update your transitive dependencies.

You are using old, incompatible versions of path_provider_windows and win32. You just need to flutter pub upgrade to update your transitive dependencies.

I did, but it still gives me the same errors :/

Ah, I missed that the case is wrong on those constants. That's not what is actually in the package.
So the actual issue here is that you edited files in your pub cache and now they are wrong. You need to fix them, or delete your pub cache to get fresh copies.
You should never, ever edit files in your pub cache.

Oh! Must have happened when I was refactoring some functions. My bad.
Thanks!
On Tue, Jun 7, 2022 at 3:10 PM stuartmorgan @.***>
wrote:

Ah, I missed that the case is wrong on those constants. That's not what is actually
in the package
https://github.com/flutter/plugins/blob/main/packages/path_provider/path_provider_windows/lib/src/folders.dart#L122-L125
.
So the actual issue here is that you edited files in your pub cache and
now they are wrong. You need to fix them, or delete your pub cache to get
fresh copies.
You should never, ever edit files in your pub cache.
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/105377#issuecomment-1148438471,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVE5ZICH73ZV374XJSQLW4LVN4KJFANCNFSM5X4KQ44Q
.
You are receiving this because you authored the thread.Message ID:
@.***>


adding attribute in assemblyInfo.cs to make tests run sequentially

#189

This pull request is now managed with CodeReviewHub. Refresh.


We should move to a better back end

Currently our Resources back end is in a Google Spreadsheet. Any thoughts on a better data store?

We're going to do this is two stages. I'm closing this issue and opening an issue for each phase - changing the website's API call to call one of our netlify functions and moving our data from a google sheet to a database.


Manage virtual env automatically

Instead of manually having to create a virtual env just to install dbt and then specify the path to dbt_executable_path. Wouldn't it be neat if this was done easier and automatically. Something similar to PythonVirtualenvOperator.
This would make this operator also runnable in Google Cloud Composer where installing dbt in the same environment as Airflow is a headache since it conflicts with a lot of packages, also having a custom Airflow image with the dbt_venv environment in there is impossible.
Also maybe this should be implemented in the CosmosDag level since I suppose is a feature that will be needed in the future for other authoring interfaces since we can't guarantee that they will not have any conflicts with airflow python packages.

This is actually a very good idea and not that cumbersome to implement since the skeleton is already defined here for the PythonVirtualenvOperator. It also makes it possible for teams that dont have direct access to the airflow infrastructure to run this library. Can you create a PR for that ? otherwise I may do it once my workload reduces

Great idea! There's another PR that's already separating out the execution methods (to rename local and add docker & Kubernetes). It could be worth holding off until that PR's merged, because that'll establish how to add operators for different execution methods.

@jlaneve alright, once the new release with this new change is deployed, I'll work on this then ! Thanks for telling us


Make combinators compatible with non-copy input types

I'm implementing a parser for vcards, and lines can be folded as follow:
this is line
another line
  with continuation
folding can happen ev
 ery
 w
 here

which when unfolded gives
this is line
another line with continuation
folding can happen everywhere

To sumerize, if you encounter "\r\n ", consider that you haven't changed line.
Nothing really annoying but i want to use stock combinators on unfolded lines and i don't want to excessively allocate.
Furthermore, RFC 6350 warns you:
Note: It is possible for very simple implementations to generate
improperly folded lines in the middle of a UTF-8 multi-octet
sequence.  For this reason, implementations SHOULD unfold lines in
such a way as to properly restore the original sequence.

So i went from &str to &[u8]
My solution is to create my own input type which stores the unfolded lines as an u8 slice and a vector of ranges that maps valid data (everything except "\r\n ")
Because of the inner vector, it is non-copy and a lot of things just don't compile anymore.
I cloned nom and fixed what has stoped working (basically adding .clone() calls in the culprit combinators)
My case is peculiar, but i think it could useful to allow non-copy type as input.
I realise that it is certainly not a priority, that it might have performance impacts and that it will need careful testing.
If this issue is deemed of interest, I'll try to contribute a PR as I'm the one needing it.

hello,
which combinators had missing clone() calls?

closing this for now


changing property file configuration

The way the configuration currently works is way to complex for the deployment (there needs to be tons of files in the git of the various apps, plus some files manually inserted, etc.), here's a proposal for a more simple system:

the lib reads the system property io.bdrc.auth.propfile.path (which will be set in the systemd files of buda-base, or could be overwritten in some test environment)
the lib reads the file path which is the value of the property and reads properties from it

and that's all... so there would be just one file instead of two.
Example of property:
io.bdrc.auth.propfile.path=/etc/iiifpres/auth.properties

Sounds good!

Fixed as of commit 16101f6 - Note : there is no obvious need to pass a properties object instead of a file path in the init method of AuthProps

there is: not reading the same file twice in a row for no reason

well... it's only at service startup :). I can change that in a new release.

I know yes, no emergency but please do that

Version 0.4.0 is on the way !

Version 0.4.0 is now in production for all servers

thanks!


Was not able to exactly reproduce the numbers from the paper

Hello Kuang-Huei Lee,
thank you for realizing the code. I think your method is quite interesting and I want to use it to propose some additional improvements. I ran the code with specified parameters, however was not able to reproduce the exact numbers from the paper. I would really appreciate if you can realize the per-trained models along with the code.

Hi, many people were able to reproduce similar results, either in their published works, feedback in this repo, or privately informed me. I myself also cloned the code from this repo and run it multiple times, and were also to reproduce the results.
I think either your training or evaluation setting may has problem. I would need to see the results of your experiments, commands, and data to help you debug.


New layout per image

What feature or change would you like to see made?
Currently the viewer only displays layout by series.
MRI doctors, for example, prefer to view all the images in the series, not one by one.
Why should we prioritize this feature?
This functionality is used in several dicom viewer market and mr doctors.

can you share some videos of what other viewers have done?

Hi, yes, I will send to you tomorrow.
Do you know C++?
thinking about how to convert my post-processing workstation to OHIF. I'm thinking Vessel mode.

I'm not following up on your request, can you elaborate more?

Hi,  See this snapshot I can select the layout of images within the series I selected. In MRI exams, it is more important to view images than series at times. Make sense for you ?Rgds,Enviado do meu iPhoneEm 13 de out. de 2023, à(s) 16:07, Alireza @.***> escreveu:
I'm not following up on your request, can you elaborate more?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

I think you missed putting the snapshot

No, i put a jpg image.Enviado do meu iPhoneEm 16 de out. de 2023, à(s) 12:11, Alireza @.***> escreveu:
I think you missed putting the snapshot
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

I cannot see this at the moment. I will close it for now, but please reopen the issue once you have additional information.


make the default cache last one year

Signed-off-by: Jacob Saur<EMAIL_ADDRESS>

the TODO was slightly prophetic


16-bit integer division issue with Ceedling that works with Unity

I have been running Unity based unit tests for a few months now using a simple Makefile.
I am trying to move to using Ceedling but one of my test that passed on Unity with Makefile now fails with Ceedling :
  int16_t a = 4864;
  int16_t b = 1080;
  int16_t c = 1000;
  int16_t d = 4442;
  int16_t e = 1100;
  int16_t res = a + (b - c) * (d - a)/(e - c);
  TEST_ASSERT_EQUAL_INT16(4526, res);

Any idea what could cause this issue ?

What compilers or compiler flags did you use in those two test runs: Unity vs. Ceedling?
The "devil" might hide in the signed integer division:
(b - c) * (d - a)/(e - c) = 80 * (-422) / 100 = (-33760) / 100
Note that signed integer division in C89 is implementation-defined:

If either operand is negative, whether the result of the / operator is the largest integer less than the algebraic quotient or the smallest integer greater than the algebraic quotient is implementation-defined, as is the sign of the result of the % operator.

Whereas C99 seems to have chosen the FORTRAN way of truncation towards zero.
See:
What is the behavior of integer division?

Thanks for the information. My Makefile defines -std=gnu99 as compiler flag.
For Ceedling, I have the following in my configuration :
:flags:
  :test:
    :compile:
      :*:
        - -std=gnu99

Should it be enough to get the same behavior on both ?
I should add that I am running Unity / Makefile locally on my Machine (through CygWin) and Ceedling in the madsciencelab docker container.

If you don't mind checking, :flags is a seldom-used feature with Ceedling. I believe it's working, but you can verify by calling ceedling verbosity[4] test:all and verifying that the flag IS getting added during each compilation step.
If it is, I'd be curious to see which version of gcc is being run on each platform. It's possible there is a difference there?

Oh, you are right, it seems that the options are not actually passed to gcc.
Sorry for that. Could you tell me what the preferred way is to pass arguments to gcc with ceedling ? And what is the flag: feature suppose to do if it does not work like I expected it ?

I believe you're using it correctly. I'm wondering if that Ceedling feature is broken. I'm going to try it over here and see if I can figure out what is happening...

Oh, you are right, it seems that the options are not actually passed to gcc.
Sorry for that. Could you tell me what the preferred way is to pass arguments to gcc with ceedling ? And what is the flag: feature suppose to do if it does not work like I expected it ?

On my system, using Ceedling 0.29.1 and 0.30.0 it's working with the :flags snippet you have above. One thing to be careful of is to use compile instead of compiler, but you already have that correct. Another thing people commonly mess up is the dash-space-dash notation for listing the arguments... but you have that correct too.
On each compile step (not link), it's putting the -std=gnu99 directly after gcc in the full command line.
Double check the yaml file notation for the :flags:, double-check that the flag definitely isn't getting inserted?
I'm getting docker fired up so that I can try it on the madsciencelab as well.

After looking at the verbose output again, it seems that the std argument is indeed passed but not at all stages :
Test 'test_temp_monitor.c'
--------------------------
> Shell executed command:
'gcc -E -MM -MG -I"test" [...] "build/temp/_test_temp_monitor.c"'
> Produced output:
_test_temp_monitor.o: build/temp/_test_temp_monitor.c \
 /usr/local/bundle/gems/ceedling-0.29.1/vendor/unity/src/unity.h \
 /usr/local/bundle/gems/ceedling-0.29.1/vendor/unity/src/unity_internals.h \
 @@@@unity.h temp_monitor.h @@@@temp_monitor.h

> Shell executed command:
'gcc -E -I"test" -I"test/support" -I"." [...] "test/test_temp_monitor.c" -o "build/test/preprocess/files/test_temp_monitor.c"'

Compiling test_temp_monitor.c...
> Shell executed command:
'gcc -std=gnu99 -fshort-enums -w -Wall -mno-ms-bitfields [...] -g -c "test/test_temp_monitor.c" -o "build/test/out/c/test_temp_monitor.o" -MMD -MF "build/test/dependencies/test_temp_monitor.d"'

Linking test_temp_monitor.out...
> Shell executed command:
'gcc "build/test/out/c/test_temp_monitor_runner.o" "build/test/out/c/test_temp_monitor.o" "build/test/out/c/unity.o" "build/test/out/c/temp_monitor.o" "build/test/out/c/cmock.o" -o "build/test/out/test_temp_monitor.out"'

Maybe should I add the options for the other stages via the :flags: section ?

You can if you like. That first call is using gcc to generate dependencies. It's not actually compiling anything. So I don't think it should matter for this situation?
That brings us back to your original problem, though: We've proven that you're compiling for gnu99 for both platforms, but you're seeing a difference in behavior.
I'm wondering if the issue is when it gets this far:
(-33760) / 100

The number -33760 isn't a legal int16_t value... it's overrun.
What happens if you update the line to look like the following. I would expect it to become consistent across platforms, since it forces both platforms to upcast the multiply and divide to int32_t 's which can handle the full numbers, before downcasting the result back to int16_t
int16_t res = a + (int16_t)( (int32_t)(b - c) * (int32_t)(d - a)/(e - c) );

oh, I tried switching to int32_t. The same result. I think compiler converts operands to int32_t quietly.

I tried it also and got the same error on my side.

What is the failure you're getting?
  int16_t a = 4864;
  int16_t b = 1080;
  int16_t c = 1000;
  int16_t d = 4442;
  int16_t e = 1100;
  int16_t res = a + (b - c) * (d - a)/(e - c);
  // 4864 + (1080 - 1000) * (4442 - 4864) / (1100 - 1000)
  // 4864 + (80) * (-422) / (100)
  // 4864 - 33760 / 100
  // 4864 - 337
  // 4527
  TEST_ASSERT_EQUAL_INT16(4526, res);

It seems like the answer should be 4527 as the divide in C truncates instead of rounds if we're using C99?

The issue I have is that my previous setup with Unity / Makefile give me 4526 so I assumed I would get the same with Ceedling inside docker.
As both systems build with std=gnu99, I don't really see why there is a difference.
My local Makefile setup uses GCC 9.3.0 while the docker image seems to be using GCC 6.4.0. Maybe there is something going on here...

So, it looks like the newer GCC 9.3.0 gives you Non-C99 behavior?

I guess it's the other way around : GCC 9.3.0 gives me what @mvandervoord showed is the right C99 behavior.
It's GCC 6.4.0 that should have given me 4527 from the start.
Any reason as to why such an old GCC version is being used in the docker image of ceedling ?

With gcc version 9.2.0 (MinGW.org GCC Build-20200227-1) I am getting the valid C99 result 4527

I agree. It's strange that there is a difference here. But I also agree that it's most likely caused by differences in the compiler. I can't imagine how Ceedling would effect this (once we were sure we're passing the same flags, anyway).
I don't have a good answer for why the madsciencelab is using such an old version of gcc. I've made myself a note to check that out.

Nathan, you said that

I have been running Unity based unit tests for a few months now using a simple Makefile.

And you've been getting 4526 (ASSERT with 4526 passed). And:

My local Makefile setup uses GCC 9.3.0 while the docker image seems to be using GCC 6.4.0.

So, that means that GCC 9.3.0 (local Makefile setup) gives you 4526, not the other way around. Am I missing something?

Oh yes, sorry you're right.
I'll see if I can test other GCC version (maybe an update, not sure which GCC version is the latest).

BTW, what machine (CPU) you use to compile your local Makefile setup? Is it standard Intel?

The Makefile runs within CygWin on a Windows 10 Intel based machine

Weird... I have GCC 9.2.0 and am getting 4527:

"Expected 4526 Was 4527"

I did an additional test : with Cygwin calling directly gcc -std=gnu99 on a simple main.c file with the integer division code, I do get 4527.
But my Makefile running the unit tests with Unity gives 4526
So it's definitely not an issue with Ceedling, but still a strange behavior.
I'll try building a very small Makefile to test that again without Unity...

I don't have any experience with standalone Unity. Does Unity take GCC options from the Makefile? Or it has some separate config file?

Nathan, could you list here your Makefile?

Alright, I can't believe why I'm seeing.
I'm really sorry guys, there is absolutely nothing wrong here except me.
The unity tests I was running with my Makefile setup were written by hand and I just noticed that the test that included the computation was missing from the Runner.c file. So when I was running my tests locally I was seeing no issue with my ASSERT only because the test was not actually executed...
Thank you very much guys and please me once again.

No problem. We've all made similar mistakes.
I'm glad it makes sense in the end. I always worry when we can't find a root cause.
Shameless plug: This is a reason to use Ceedling, in that it automatically makes runners for you. :)


[en] Add stop, previous, clear playlist intents

These have been removed from here https://github.com/home-assistant/intents/pull/2063 to make it more managable.

@OzGav I think you forgot to push the fixes, I can't see anything new, so I can't review anything new :D

I am still a github noob and I was working on the wrong branch. Fixed now (I thnk!)

Just gently checking in as to whether there is any news?

@synesthesiam in the context of 2024.6, will you consider this PR too?

I'm torn on this. Maybe @jlpouffier will have more thoughts?
First, I'm hesitant to have both "pause" and "stop" intents for media players since it's not always clear how these are different. Sometimes, you can resume from a stopped state; sometimes, you can't. It's confusing, and so I've avoided it by only including "pause" :see_no_evil:
Second, we need to be careful about introducing too many intents since this puts a translation burden on language leaders, as well as a maintenance burden in HA. Our original goal was to cover the "most common" voice assistant use cases, but there's no formal definition of what this means.
However we define it, I think we have a problem right now with intents requiring code inside HA and the sentences not being sharable in a blueprint style. So we can't have a set of community-supported intents that could get promoted to "official" status given enough use :slightly_frowning_face:
What do you think?

I wasn't across the desire to only have the "most common" intents so I approached this by creating intents for all the media player service calls. I help out with the Music Assistant project and we have shared custom sentences that cover all of these (including a form of area awareness). I then thought to bring these across to core and so here we are. If HA will remain only supporting this subset of calls that is OK we will just amend our docs to advise everyone of this fact and that they should use the supplied sentences or create their own.
As for pause and stop you are correct. In MA "stop" will stop playback and clear the queue whereas pause just stops playback

I agreed with @synesthesiam unfortunately.
Out of the 3 new intents proposed, I think only "Previous" makes sense to add to core for now.
It's simple and when I think about it, since we have Next, why not have Previous? This won't add too much of a burden on our translator, and the area targeting logic is already in place for Next. We just need to copy it.
Stop colliding with pause too much - some languages already added sentences to "Stop the playback" for the "Pause" intent.
I think for a voice-specific interface, the only thing that matters for the user is to stop the playback now (ie. Pause it).
Anything more specific (Clearing the queue, etc. Needs to be done via a UI component for now)

This discussion revives an older idea/question of mine: should (custom) integrations be allowed to define their own intents/sentences? So when loading the intent set for the default conversation agent, should we allow each integration to register its own set?
What do you think @synesthesiam @jlpouffier ?

FYI there is a plan to move the MA Integration out of HACS and into core sometime this year... Not sure how/if that changes anything?

OK PR pared back to just the media_previous_track service call

Merge conflict resolved

@OzGav please resolve the merge conflicts so we can finally merge this

@tetele I don't see any merge conflicts. I do see a "Change Requested" but when I click on "See Review" it doesn't take me to anything that is unresolved? I am not sure what to do from here although I have moved it out of draft again.

I've approved the PR, but i will ask @synesthesiam to take a final look before merging, as this is a new intent.

Looks good, thanks!


Change refs to docker/docker to moby/moby

Related issues (optional)
Fixes #2868

Closed in favor of #2879 :)


KAFKA-15098 Allow authorizers to be configured in ZK migration

Remove the check on authorizers when starting ZK brokers with ZK migrations enabled.
This patch also adds an integration test that would have caught this.

Test failures are the same as on trunk (left over thread)