Images are not of consistent format

Almost all images served by OpenBazaar clients are JPEG with JFIF standard 1.01. There are a few exemptions we have noticed, as detailed below:
 root@api:~/scraper/scraper/images# file *.jpg | sed 's/.*\.jpg//' | sort | uniq -c
      1 : JPEG image data
      1 : JPEG image data, EXIF standard, baseline, precision 0, 4360x633
      1 : JPEG image data, JFIF standard 1.00, comment: "LEAD Technologies Inc. V1.01"
  17486 : JPEG image data, JFIF standard 1.01
     36 : JPEG image data, JFIF standard 1.02
      1 : PNG image data, 128 x 128, 8-bit/color RGBA, non-interlaced
      1 : PNG image data, 1424 x 920, 8-bit/color RGBA, non-interlaced
      1 : PNG image data, 1800 x 1004, 8-bit colormap, non-interlaced
      1 : PNG image data, 1800 x 1200, 8-bit colormap, non-interlaced
      1 : PNG image data, 1918 x 800, 8-bit colormap, non-interlaced
      1 : PNG image data, 1920 x 1281, 8-bit colormap, non-interlaced
      1 : PNG image data, 1920 x 1341, 8-bit colormap, non-interlaced
      1 : PNG image data, 1920 x 960, 8-bit colormap, non-interlaced
     41 : PNG image data, 500 x 500, 8-bit/color RGB, non-interlaced

The image format is not restricted by the server, anyone using a script or other method of saving images directly to the server can save them in formats that don't match the ones the client uses.


Do not use generator for jobs need to be run in pool

As generators are lazy, in context of pool exceution it will return
immediately and exceptions can not be caught as expected.

I was testing the STORE_FAIL_ON_ERROR = False flag, I have 4 storage nodes(with graphite-web and carbon running), one relay node, and a separate master graphite-web node.
If i shutdown one of the storage node, and query the master graphite-web /metrics/find?query=*, I still get HTTP 500 returned, which body contains the detail: connection refused to the storage ndoe.
Depending on the REMOTE_RETRY_DELAY and FIND_CACHE_DURATION parameters, refresh may return successfully, but after the retry dealy or cache duration, I get HTTP 500 again.
I check the code and find that as RemoteFinder.find_nodes is a generator, exceptions in this function can not be found by Store.wait_jobs

This seems reasonable to me

Codecov Report

Merging #2350 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #2350      +/-   ##
==========================================
+ Coverage   79.54%   79.54%   +<.01%
==========================================
  Files          85       85
  Lines        8897     8899       +2
  Branches     1901     1901
==========================================
+ Hits         7077     7079       +2
  Misses       1558     1558
  Partials      262      262

Impacted Files
Coverage Δ

webapp/graphite/finders/remote.py
99.34% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Please add a comment in the code explaining why you don 't use a generator, else in ~6 month somebody will try to switch back to a generator without knowing why it wasn't one in the first place :)

updated

👍


sync issue with Dexie.Syncable

My application (using dexie-syncable) fails to sync after a while. Reason seems to be that the client falls behind with submitting its changes to the server and ends up having a growing list of remoteBaseRevsions array on its node in the _syncNodes indexedDB table.
The effect is that the local application retrieves remote changes as it should, but it falls behind in syncing local changes to remote.  A workaround for me has been to manually edit the indexedDB data in _syncNodes table and set node.remoteBaseRevisions = [{remote: node.appliedRemoteRevision, local: node.remoteBaseRevisions[0].local}]. After that, the client starts syncing all local changes and everything gets in sync again.
Need to pinpoint the issue. One issue could be the non-atomic SyncNode.prototype.save() that saves entire node from memory rather than saving changes only.
For me, this seems to be reproducable when having multiple clients connected and each updates the database for each sync call.
I noticed that the length of the remoteBaseRevisions toggle between 2 and X, were X is an ever growing number. A restart of the client makes it stop toggling. This indicates that the issue might have to do with SyncNode.prototype.save().

I have the same issue 🤔 Did you manage to fix it?


Report the number of peers connected to

First of all, I love this exporter; super useful for my Grafana dashboard!
So right now the exporter is only reporting the number of seeders/leechers returned by each tracker you're connected to. However these two numbers are not necessarily equal to the number of peers you're downloading from and seeding to (e.g., a tracker could report 10 seeders but only 5 of them could actually be uploading to us for whatever reason).
So I suggest the exporter reports those two numbers as well (peersSendingToUs and peersGettingFromUs as returned by Transmission's API). Happy to submit a PR if this sounds interesting.

If you are interested to have these numbers then feel free to send a PR :)

If you are interested to have these numbers then feel free to send a PR :)


docs: fix public_folder greedy match for _ rendered

Summary
There's a rendering issue where the _ is greedily matched in public_folder here:

Test plan

validate the test branch preview.

A picture of a cute animal (not mandatory but encouraged)

Deploy preview for netlify-cms-www ready!
Built with commit 92f642c7e96cf95280b20f0cd6e8248bf10032ab
https://deploy-preview-1611--netlify-cms-www.netlify.com

Deploy preview for cms-demo ready!
Built with commit 92f642c7e96cf95280b20f0cd6e8248bf10032ab
https://deploy-preview-1611--cms-demo.netlify.com


feat: Support pyproject.toml

TOML support was only available for either Pipfile or Poetry project. This commit reworks the load_toml method so that it can support also setuptools and flit as build engines.
In addition to that, the function has some tests for it :)

Thanks @ItachiSan for the PR


Ncore hostane changed

The hostname of Ncore was changed from ncore.cc to ncore.pro.

The hostname of Ncore was changed from ncore.cc to ncore.pro.


Connection refused backtrace suppression / exception handling

What is the recommended way to catch when the connection to the Logstash endpoint is refused?  I'd really like to be able to catch this and just locally log "CONNECTION REFUSED" rather than display 17 lines of backtrace that aren't going to help me.
You could set the log level for the appropriate logger to CRITICAL but obviously this would remove all log messages not just the stack trace (logging.getLogger('LogProcessingWorker').setLevel(logging.CRITICAL)).
A better solution could be to try catch known network exceptions (like connection refused and timeout) and log those without stacktrace. If you are interested, feel free.


add tools buildspec

Motivation
to utilize build-aws.sh for building the tools container.
Have you read the Contributing Guidelines on pull requests?
Y
Test Plan
build myself on codebuild.
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/libra/website, and link to your PR here.)

/land


Add Support for Custom Prompts Folder and Selector in UI

Hi,
I'd love to see a feature that lets users create a folder for custom prompts in the current working directory. These prompts should be in Markdown format (.md) and selectable via a dropdown in the UI.
Key Features:

Custom Prompts Folder: Let users store prompts in a specific directory.
UI Selector: Add a dropdown to switch between these prompts.
Variable Support: Allow using variables like {{TASK}} in the prompts. For each {{VAR}}, create an input field in the UI.

Use Case:
This would make it super easy to switch between different prompts for various tasks or projects. For instance, someone working on multiple projects can have specific prompts for each and switch between them easily. The variable support would allow users to dynamically adjust prompt content based on their needs.
Example:

Folder Structure:
./prompts
├── readme_prompt.md
├── doc_prompt.md
└── general_prompt.md

Prompt File Content:
Before proceeding with the request, read the following documents:
- [README.md](./README.md)
- [Documentation](./docs)

Task: {{TASK}}

UI Implementation:
When selecting a prompt with {{TASK}}, an input field labeled "TASK" appears in the UI to enter the specific task dynamically.

Benefits:

Customization: Create tailored prompts for different tasks.
Efficiency: Switch between prompts quickly without manual changes.
Flexibility: Use variables like {{TASK}} to dynamically change prompt content.

Thanks for considering this feature!

feels like stuff relevant to the extension configuration/data should be stored under .vscode

Closing as duplicate of https://github.com/saoudrizwan/claude-dev/issues/136


jerrinot's initial submission

Check List:

[x] Tests pass (./test.sh <username> shows no differences between expected and actual outputs)
[x] All formatting changes by the build are committed
[x] Your launch script is named calculate_average_<username>.sh (make sure to match casing of your GH user name) and is executable
[x] Output matches that of calculate_average_baseline.sh

Execution time: around 5.5s on the ccx33 instance. it's better with just 4 threads, I suspect it's due to hyperthreading which I assume is disabled on the testing machine. Thus this submission uses whatever Runtime.getRuntime().availableProcessors() returns.
Execution time of reference implementation: loooong :)

This initial submission is aiming to exploit instruction-level parallelism: Each thread pulls from multiple chunks in each iteration. This breaks nice sequential access, but a CPU gets independent streams so it can go bananas with out-of-order processing.
There are optimization opportunities left on the table, this is to give me some feeling of how it may perform on the testing box.
Credits:

@mtopolnik - for many conversations we have had in the last 2 weeks!
@merykitty - for the amazing branch-less parser
@royvanrijn - for the hashing-as-you-go idea

Hey @jerrinot, welcome to the party! 00:03.409, nice!


Cloaking Telescope

I have the setting cloak_telescope turned on. However, when I use telescope.builtin.find_files, the values aren't cloaked. This is my config:
return {
        "laytan/cloak.nvim",
        config = function ()
                require('cloak').setup({
                        enabled = true,
                        cloak_character = '*',
                        -- The applied highlight group (colors) on the cloaking, see `:h highlight`.
                        highlight_group = 'Comment',
                        -- Applies the length of the replacement characters for all matched
                        -- patterns, defaults to the length of the matched pattern.
                        cloak_length = nil, -- Provide a number if you want to hide the true length of the value.
                        -- Wether it should try every pattern to find the best fit or stop after the first.
                        try_all_patterns = true,
                        cloak_telescope = true,
                        patterns = {
                                {
                                        -- Match any file starting with '.env'.
                                        -- This can be a table to match multiple file patterns.
                                        file_pattern = '.env*',
                                        -- Match an equals sign and any character after it.
                                        -- This can also be a table of patterns to cloak,
                                        -- example: cloak_pattern = { ':.+', '-.+' } for yaml files.
                                        cloak_pattern = '=.+',
                                        -- A function, table or string to generate the replacement.
                                        -- The actual replacement will contain the 'cloak_character'
                                        -- where it doesn't cover the original text.
                                        -- If left emtpy the legacy behavior of keeping the first character is retained.
                                        replace = nil,
                                },
                        },
                })
        end
}```

What branch of Telescope are you using?
As the readme states in the comment, the feature required for implementation is not yet in v0.1.x.

Oops, I thought I didn't have a telescope version specified. Apparently I did. Thanks!

I don't know if it makes sense not specifying the version as the branch exists for a reason (probably).
I hope the commit will be merged into 0.1.x at some point until then using master directly might be an option.


Add coil element layout across coils

Given that this paper is about comparing coils, an obvious question when interpreting B1+ and B1- results is: how are the Tx and Rx coils distributed for each coil? We should gather this information from each site (whenever possible, given that some are proprietary), and create a figure with this. Example of layout figure:

We could use the same color coding to display coil arrangement. For example, Tx elements in red, Rx in blue and Tx/Rx in purple.
Ideally, we would display the STL file in the notebook for interactive 3D view of each coil layout.
List of sites to generate a model from:

MGH/MNI: https://pubmed.ncbi.nlm.nih.gov/37439129/
CRMBM: 8ch Tx/Rx (Rapid Biomedical)
MPI: 24ch Tx/Rx (MRItools)
MSSM: 4ch Tx 22ch Rx + 4ch Tx 18ch Rx (Custom)
NTNU: Same as MPI
UCL: Same as CRMBM

👉 Centralized document with added information

@jcohenadad Just to double-check. This is the manuscript?
So I can mention title and co-authors, when I reach out to manufacturers. I will start when I come back from vacation end of July.

Yes, it is.

So I can mention title and co-authors, when I reach out to manufacturers

it is better if I'm the point of contact with manufacturers-- these are very sensitive information that they shared and I prefer that they are not under the impression that I distributed it widely

Before I continue, this is for the coil in line # 2 and 4. Does that serve the purpose? They are CAD models so we can turn and shift and modify later.
It takes me some time to create them though, but it's the only way that I can think of.

Before I continue, this is for the coil in line # 2 and 4. Does that serve the purpose?

Yes, that’s what I had in mind. We should sit down together so I can explain the fine details of how to display the elements.
One strange thing however, is that line #2, which is CRMBM, is an 8ch TxRx, which looks different than the what you showed

@jcohenadad I meant line # 2 in the centralized document. Or do we need only models for the ones you mentioned above?

@jcohenadad I meant line # 2 in the centralized document. Or do we need only models for the ones you mentioned above?

Why are you modeling line #2 of the centralized document? It is not needed— see the list:
MGH/MNI: https://pubmed.ncbi.nlm.nih.gov/37439129/
CRMBM: 8ch Tx/Rx (Rapid Biomedical)
MPI: 24ch Tx/Rx (MRItools)
MSSM: 4ch Tx 22ch Rx + 4ch Tx 18ch Rx (Custom)
NTNU: Same as MPI
UCL: Same as CRMBM

CRMBM: 8ch Tx/Rx (Rapid Biomedical)

MGH/MNI. I had to doctor the Rx array to fit the human body model. Coil 3D model from Nibardo.

Changes:
-White background
-continuous conductors
-human body model with higher resolution. I haven't found a fast way to make the human model smoother, it might take a day maybe more. I personally think it's fine, but up to you.

Much better! Yes, I agree the human model looks fine as is. I would just make it lighter so it contrasts better with the coil elements.
Also, would it be possible to have the coil elements appear as 3D wires, as opposed to as a flat surface? They would appear more clearly (eg: we don't see the upper most element very well depending on its orientation)

Grey gives a good contrast, and is skin colour neutral.
3D wires would take me a day. I thickened the surface which serves the purpose, I hope.

Great! Would you be able to make the gray much lighter?

How is this?

This is MSSM:

Yes, that's purple, in their MRM paper they are TR elements.

maybe we should pick another blue or purple, to better distinguish the two (I find them very close in intensity). Maybe a slightly lighter blue?

How is this?

Here the paper figure. Let me know if you want any changes.
paper figure.pdf
a) MPI: 24ch Tx/Rx (MRItools), NTNU: Same as MPI
b) CRMBM: 8ch Tx/Rx (Rapid Biomedical), UCL: Same as CRMBM
c) MSSM: 4ch Tx 22ch Rx + 4ch Tx 18ch Rx (Custom)
d) MGH/MNI: https://pubmed.ncbi.nlm.nih.gov/37439129/
red: Tx elements, blue: Rx only elements, purple: TR elements

excellent, thank you @honzink.

can you simply output each sub-figure as a separate file (I will create the figure myself in Keynote)
can you increase the brightness of the blue element (to make it easier to distinguish blue from purple)
can you provide a figure of the MNI/MGH coil without the red elements? I'll try to re-create them myself with slightly thinner feature (to not hide the Rx elements)

How is this blue?

How is this blue?

much better, thanks!

Here the four subfigures:
MRI_tools.pdf
MSSM_.pdf
neuropoly.pdf
rapid.pdf

@honzink for archiving purpose (eg: reproduce/modify figure in the future), I'd like to keep all figure sources inside a centralized location. Can you please point us to the location of the files with which you produced those figures? Thanks

Hi @honzink, one of the coil owners/developers has raised a concern about the display of the coil elements of their coil. See: https://docs.google.com/document/d/160YWLPuc6Rean6-BpXsHqRidOXrypX9Yt4fW89LzXPo/edit?tab=t.0#:~:text=superiorly.  Could you-,check,-it again against
Could you follow up?

I copied the figure sources to duke:
\duke.neuro.polymtl.ca\public\jan\paper_figure

There is another comment regarding a coil, I'm tagging you both on the google doc to simplify exchanges.

@evaalonsoortiz you tagged the wrong Jan, it should be<EMAIL_ADDRESS>:)
I would suggest to send the respective coil figures to the commenters, so they can indicate in a sketch the changes they want to minimize a back and forth.

@honzink I found this coil config below under Figures/Coils/CAD_files/MSSM/try3.SLDPRT, but it does not seem to correspond to the MSSM layout shown here https://github.com/spinal-cord-7t/coil-qc-code/issues/77#issuecomment-2321737127:

Can you please clarify what are all the SLDPRT files found here:
oils/CAD_files
├── CRBMB
│   ├── ODU cable holder.STL
│   ├── coil12.SLDPRT
│   ├── coil12_thick_conductor.SLDPRT
│   ├── housing_scanner_side.stl
│   ├── leiterbahn.stl
│   └── ~$coil12_thick_conductor.SLDPRT
├── MGH MNI
│   ├── Coil_elements_20Rx-thick-wires (1).igs
│   ├── Coil_elements_8Tx-20Rx.igs
│   ├── coil mgh mni 1.SLDPRT
│   ├── coil mgh mni.SLDPRT
│   └── ~$coil mgh mni 1.SLDPRT
├── MPI
│   ├── C-Spine_2022_4_coilonly copie.stl
│   ├── MRItools.SLDPRT
│   └── ~$MRItools.SLDPRT
├── MRI_tools.pdf
├── MSSM
│   ├── Magnetic Resonance in Med - 2016 - Zhang - 7 Tesla 22‐channel wrap‐around coil array for cervical spinal cord and brainstem.pdf
│   ├── try1.SLDPRT
│   ├── try2.SLDPRT
│   ├── try3.SLDPRT
│   ├── ~$try1.SLDPRT
│   └── ~$try2.SLDPRT
├── MSSM_.pdf
├── coil3.SLDPRT
├── human smooth.SLDPRT
├── human smooth2.SLDPRT
├── human smooth3.SLDPRT
├── human.IGS
├── human.SLDPRT
├── male_highprecision.SLDPRT
├── male_highprecision.iges
├── male_highprecision_body.SLDPRT
├── neuropoly.pdf
├── old
│   ├── coil2
│   │   ├── paper_coil2.IGS
│   │   └── paper_coil2.SLDPRT
│   ├── coil4
│   │   └── coil4.SLDPRT
│   ├── coil5
│   │   └── Magnetic Resonance in Med - 2019 - Rietsch - Development and evaluation of a 16‐channel receive‐only RF coil to improve 7T.pdf
│   └── coil9
│       ├── coil9.SLDPRT
│       └── nihms-698231.pdf
└── rapid.pdf

"try2" seems to be the correct file for MSSN, but let's wait for @honzink to clarify the meaning of all files, so we can document and do some cleanup


Help Provision: Tab with content (just in case)

Hi there

This "play" is for anyone who might need help with this. I was able to have this working after looking at the source code on this repo and it just meets my needs. The code is just for demo, needs cleanup.
https://play.tailwindcss.com/RywGznSO8m
Notes:
The "tabs4tabs" holds on the tab names. There is an extra added hidden tab, so that the last tab is not having a "block" edge.
The "tabs4content" hold the contents for each of the tabs.
When a tab is Active...
Add class > [--tab-bg:hsl(var(--b2))] & tab-active
Remove class > [--tab-border-color:transparent] & hidden
If tab position = 1, then tabs4content.RemoveClass("rounded-tl-box") else tabs4content.AddClass("rounded-tl-box")
For all In-Active Tabs - execute reverse of above.

Thank you for the example!
Moving this to the Discussions.


allow function passed to useObservable

Description
In response to - https://github.com/elastic/kibana/pull/146638/files#r1035809203
It would be nice to be able to useObservable(observable$.pipe(...)) without creating a new observable on each render so I'm suggesting supporting useObservable(() => observable$.pipe(...))
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as before)

Checklist

[x] Read the Contributing Guide
[x] Perform a code self-review
[x] Comment the code, particularly in hard-to-understand areas
[x] Add documentation
[ ] Add hook's story at Storybook
[x] Cover changes with tests
[x] Ensure the test suite passes (yarn test)
[x] Provide 100% tests coverage
[x] Make sure code lints (yarn lint). Fix it with yarn lint:fix in case of failure.
[x] Make sure types are fine (yarn lint:types).

It seems that if observable$ will change, it will not re-.subscribe() inside the useObservable? Which I think should still work.
Alternatively, instead of adding this to useObservable you could wrap your call sites in useMemo, wdyt?
useObservable(useMemo(() => observable$.pipe(...)))

You could have a local helper:
const useObservableStatic = lazy => useObservable(useMemo(lazy));

and then:
useObservableStatic(() => observable$.pipe(...))

One thing that also comes to mind, is that the Rx operator chaining .pipe(...) maybe better should be in the controller, not in the React components, so that .pipe(...) appear inside React code as little as possible.

One thing that also comes to mind, is that the Rx operator chaining .pipe(...) maybe better should be in the controller, not in the React components

I agree with this strategy


(Multiple locations) Move "find by name" filters more prominent

Note: This is what I mean by a "find by name" filter:

In the Program admin section, it's the "Programs" menu, in the Organizations admin page, it's the "Organizations" menu, and in the Countries admin section, it's the "Countries" menu.
Issue
As an administrator trying to find specific Users / Programs / Organizations / Countries in the Admin Lite UI, the first thing I'm going to want to do is search by keyword, but currently these filters aren't super-easy to find. I have to go to the bottom of the sidebar to find the very last filter.
I am inclined to look for a search box right above the list of whatever it is I'm searching -- similar to "Find an indicator" on the Program page, or how we've placed the "Filter programs" widget immediately above the list of programs in the Programs and Roles tab.

Acceptance criteria
In each of the four Admin sections, the following things are true:

[ ] 1. I can find the searchable multi-select immediately above the list of things I'm looking for.

[ ] 1.1. Above or next to the search box is the label "Find a [User/Program/Organization/Country]:

[ ] 2. I no longer see the "find by name" multi-select in the sliding filter panel.

Note from Jenny: In the case of Users and Programs, we'll need to figure out where to put the searchable multi-select, relative to the Bulk Actions row. I'm inclined to sandwich it in between the Bulk actions row and the list, stretching the full width of the list, similar to "Find an indicator" on the program page.
Housekeeping (where applicable)

[ ] Unit test/s written
[ ] i18n strings included
[ ] Is accessible to people using screen readers

Please also ensure that any drop down menus in the filter panel don't cover up or hide the Apply buttons


Search is broken do recent deployment in production

What

Search is broken do recent deployment in production @stephanegigandet

Product page is broken as well. @g123k can you see it in debug ?

List of things that changed in production: https://github.com/openfoodfacts/openfoodfacts-server/releases/tag/v1.5.0

thanks @monsieurtanuki


[Task] Generate tern definitions for installed libraries

Hello @arunvjn !
Can I work on this issue , please ?
Could you provide more details, please ?


[SPARK-40885] Sort may not take effect when it is the last 'Transform' operator

What changes were proposed in this pull request?

The following codes:
      Seq((20, 30, "partition"), (15, 20, "partition"),
        (30, 70, "partition"), (18, 40, "partition"))
        .toDF("id", "sort_col", "p")
        .repartition(1)
        .sortWithinPartitions("p", "sort_col")
        .write
        .partitionBy("p")
        .parquet(f.getAbsolutePath)

When the 'Sort'+'partitionBy' operator is used, because 'partitionBy' will generate a new Sort("partition_col"), the logical plan is as follows:
Sort("p")
  Project("id", "sort_col", "p")
    Sort("p", "sort_col")
      Input

However, due to ` org.apache.spark.sql.catalyst.optimizer.EliminateSorts' will prune the operators irrelevant to the output, which will cause 'Sort ("p", "sort_col")' to be pruned, but in fact it should take effect.
This causes Sort to fail in various scenarios, as shown in the following SQL:
set spark.hadoop.hive.exec.dynamici.partition=true;
set spark.hadoop.hive.exec.dynamic.partition.mode=nonstrict;

// this sql sort with partition filed (`dt`) and data filed (`name`), but sort with `name` can not work
insert overwrite table sort_table partition(dt) select id,name,dt from test_table order by name,dt;

The scenario covered by this issue is that 'Sort' is the last 'Transform' operator of the job. When there are other 'Transform' operators after the 'Sort', the Sort should not be effective.
Why are the changes needed?

fix bug
Does this PR introduce any user-facing change?

No
How was this patch tested?

add new UT.

Can one of the admins verify this patch?

Should the outer Sort("p") better not be added in the first place, as the inner Sort("p", "sort_col") provides this order already? See #38358.

Should the outer Sort("p") better not be added in the first place, as the inner Sort("p", "sort_col") provides this order already?

+1, we should figure out why this was happening. cc @allisonwang-db @ulysses-you

The reason is convertEmptyToNull added a new project on the top of the original plan, then the output ordering of the plan does not match the required ordering of dynamic partition.
https://github.com/apache/spark/blob/90d31541fb0313d762cc36067060e6445c04a9b6/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/V1Writes.scala#L72-L87
This issue should only affect partition column who is string type. We should use the original plan to get the output ordering directly.

The given example has requiredOrdering with ["p"] and outputOrdering with ["p", "sort_col"]. Therefore, isOrderingMatched(requiredOrdering, outputOrdering) should be true, but returns false.
The reason is requiredOrdering with ["p"] has SortOrder.deteministic = false, which makes isOrderingMatched (and semanticEquals) return false:
https://github.com/apache/spark/blob/90d31541fb0313d762cc36067060e6445c04a9b6/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Expression.scala#L262-L263
Interestingly, after isOrderingMatched returns false, the SortOrder with ["p"] in requiredOrdering has deteministic = true.
Even with deterministic = true, semanticEquals returns false because canonicalized == other.canonicalized is false, just because the exprId differ in id, not jvmId:
https://github.com/apache/spark/blob/90d31541fb0313d762cc36067060e6445c04a9b6/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/namedExpressions.scala#L275-L280

We should use the original plan to get the output ordering directly.

Projection does not modify outputOrdering, in fact Project extends OrderPreservingUnaryNode:
https://github.com/apache/spark/blob/90d31541fb0313d762cc36067060e6445c04a9b6/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/LogicalPlan.scala#L208-L210
So Project(projection, plan).outputOrdering is already identical to plan.outputOrdering, as suggested.

It's much less complicated..  just after pull out empty2NullPlan, p becomes empty2null(p) so output ordering (p) does not match required ordering empty2null(p).

But val outputOrdering = query.outputOrdering, empty2NullPlan is not involved in outputOrdering:
https://github.com/apache/spark/blob/ff66adda3ca3762b8c71b14acbd6da00c5508a2e/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/V1Writes.scala#L85
However, requiredOrdering incorporates empty2NullPlan.output:
https://github.com/apache/spark/blob/ff66adda3ca3762b8c71b14acbd6da00c5508a2e/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/V1Writes.scala#L81-L84
I think that should simply read:
val requiredOrdering = write.requiredOrdering

@allisonwang-db can you elaborate on mapping write.requiredOrdering to the projected columns that you introduced in f98f9f8566243a8a01edcaad3b847bbd2f52305b? Was that existing code moved into V1Writes, or was that logic added.
https://github.com/apache/spark/blob/ff66adda3ca3762b8c71b14acbd6da00c5508a2e/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/V1Writes.scala#L81-L84

I had another deeper look into this issue. The V1Writes rule introduced in Spark 3.4 adds the empty2null to all nullable string partition columns:
https://github.com/apache/spark/blob/7f3b5987de1f79434a861408e6c8bf55c5598031/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/V1Writes.scala#L70-L94
The modified V1WriteCommand then has a modified write.requiredOrdering but the old write.query.outputOrdering, which then do not match any more. In FileFormatWriter, the outer sort will be added because of that mismatch:
https://github.com/apache/spark/blob/7f3b5987de1f79434a861408e6c8bf55c5598031/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/FileFormatWriter.scala#L172-L194
The inner Sort will be optimized away because it is logically not needed. Result is:
*(1) Sort [p#39 ASC NULLS FIRST], false, 0
+- *(1) Project [id#30, sort_col#31, empty2null(p#32) AS p#39]
   +- ShuffleQueryStage 0
      +- Exchange RoundRobinPartitioning(10), REPARTITION_BY_NUM, [plan_id=56]
         +- LocalTableScan [id#30, sort_col#31, p#32]

Either FileFormatWriter gets the ability to see that whatever empty2null references is part of the ordering so it does not want to add the outer Sort.
Or, FileFormatWriter and the V1Writes rule do not expect any ordering when no bucketing spec is given.
Why would you want to sort the partition by the partition columns when there are no bucket spec and bucket sort?
--- a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/FileFormatWriter.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/FileFormatWriter.scala
@@ -140,10 +140,16 @@ object FileFormatWriter extends Logging {
       statsTrackers = statsTrackers
     )

-    // We should first sort by dynamic partition columns, then bucket id, and finally sorting
-    // columns.
-    val requiredOrdering = partitionColumns.drop(numStaticPartitionCols) ++
-        writerBucketSpec.map(_.bucketIdExpression) ++ sortColumns
+    // Only require order when bucket spec is given
+    val requiredOrdering = if (writerBucketSpec.isEmpty) {
+      Seq.empty
+    } else {
+      // We should first sort by dynamic partition columns, then bucket id, and finally sorting
+      // columns.
+      partitionColumns.drop(numStaticPartitionCols) ++ writerBucketSpec.map(_.bucketIdExpression) ++
+        sortColumns
+    }
+
     // the sort order doesn't matter
     // Use the output ordering from the original plan before adding the empty2null projection.
     val actualOrdering = plan.outputOrdering.map(_.child)
--- a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/V1Writes.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/V1Writes.scala
@@ -172,8 +172,10 @@ object V1WritesUtils {
     // Static partition must to be ahead of dynamic partition
     val dynamicPartitionColumns = partitionColumns.drop(numStaticPartitionCols)

-    if (SQLConf.get.maxConcurrentOutputFileWriters > 0 && sortColumns.isEmpty) {
-      // Do not insert logical sort when concurrent output writers are enabled.
+    if (SQLConf.get.maxConcurrentOutputFileWriters > 0 && sortColumns.isEmpty
+      || writerBucketSpec.isEmpty) {
+      // Do not insert logical sort when concurrent output writers are enabled
+      // or no bucket spec exists.
       Seq.empty
     } else {
       // We should first sort by dynamic partition columns, then bucket id, and finally sorting

Then, the query is:
*(1) Project [id#37, sort_col#38, empty2null(p#39) AS p#46]
+- *(1) Sort [p#39 ASC NULLS FIRST, sort_col#38 ASC NULLS FIRST], false, 0
   +- ShuffleQueryStage 0
      +- Exchange RoundRobinPartitioning(10), REPARTITION_BY_NUM, [plan_id=56]
         +- LocalTableScan [id#37, sort_col#38, p#39]

The redundant outer Sort breaks in-partition order when spilling occurs, similar to #38358 (SPARK-40588).
See SPARK-41914.
Avoiding that Sort will fix SPARK-41914 and SPARK-40885.

This is fixed by SPARK-41959 / #39475

@zzzzming95 please test that #39475 fixes the issue for you.

This can be closed as the issue has been fixed in https://github.com/apache/spark/pull/37525#pullrequestreview-1275234100

Hello @EnricoMi @zzzzming95  Is this issue fixed? If so how do I make sure I include this fix in Spark 3.4? I'm using Databricks 13.2 version(which provides Spark 3.4.0) and still facing this issue where the last sortByPartition is overriden by partitionBy sort columns in the physical plan resulting in complete ignoring of sortByPartition sort columns. Any help is much appreciated here. TIA.

@abhishekukmeesho you can report the bug to Databricks directly. The fix was indeed merged to 3.4, but not sure if you hit the same issue or not.


Toggling filters before state change has completed yields persistent 'extra' ngrams

Steps to replicate: Search 4 ngrams, then rapidly toggle between log/lin and rank/freq without letting ngrams load beforehand
Thanks Dave!

fixed by adding dumpIrrelevant() function which checks for current valid uuids, removes all elements classed with invalid uuids, and adds colorid option back into the available pool (availableColors)


⚠ Bofrost.fr has degraded performance

In cacde6b, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1454 ms

Resolved: Bofrost.fr performance has improved in 433bb10 after 6 minutes.


Add CMB predictions

Add CMB observables beyond lensing to CCL, as combined probed analyses form LSST will include them. These predictions can be directly output from CLASS, we just need to link them in the right way.
Suggested by @dodelson.

Wow, what fast service! I'm hooked
Sent from my iPhone
On Jul 24, 2018, at 4:34 PM, elisachisari <notifications<EMAIL_ADDRESS>wrote:
Add CMB observables beyond lensing to CCL, as combined probed analyses form LSST will include them. These predictions can be directly output from CLASS, we just need to link them in the right way.
Suggested by @dodelsonhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_dodelson&d=DwMCaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=1sg686L92HgxpQF5wXl0sz3VthEo02F_vNwrcDNjAdw&m=mz9PISEH4bywwH-449ByuSORjo43BfgDoCwABUhq93U&s=c0DxnN2Lo-ORngMD0Ef0nxpPPnC5_GgcsaW6TkVcDsE&e=.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_LSSTDESC_CCL_issues_428&d=DwMCaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=1sg686L92HgxpQF5wXl0sz3VthEo02F_vNwrcDNjAdw&m=mz9PISEH4bywwH-449ByuSORjo43BfgDoCwABUhq93U&s=8GA7s7PvcHKRYiac8A7xBFKG_mUsSSkTLVPuSMO-6S0&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AKP8XGbD32Rsrz3ingoR8wIfISmujmYyks5uJ4S2gaJpZM4VeQI8&d=DwMCaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=1sg686L92HgxpQF5wXl0sz3VthEo02F_vNwrcDNjAdw&m=mz9PISEH4bywwH-449ByuSORjo43BfgDoCwABUhq93U&s=DkAuI9y3PydQRUvNvToCIT3vpPIBPk-w5SUdKgCSiqc&e=.

Should we also seek to offer something more general than CLASS, given we are moving away from that as a core dependency? I do not do CMB work, so I am uncertain how feasible this is.

I think for CMB primary that's perfectly fine. The only thing we would probably want to add explicitly in CCL are auto- and cross-correlations with the secondary anisotropies (ISW, tSZ, kSZ, maybe CIB? CMB lensing is already there)

It might be useful at this early stage to consider timing. In des chains, we are having problems running with cmb as each sample can take up to 20 sec
Sent from my iPhone
On Jul 24, 2018, at 4:52 PM, David Alonso <notifications<EMAIL_ADDRESS>wrote:
I think for CMB primary that's perfectly fine. The only thing we would probably want to add explicitly in CCL are auto- and cross-correlations with the secondary anisotropies (ISW, tSZ, kSZ, maybe CIB? CMB lensing is already there)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_LSSTDESC_CCL_issues_428-23issuecomment-2D407548045&d=DwMCaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=1sg686L92HgxpQF5wXl0sz3VthEo02F_vNwrcDNjAdw&m=uSjOYU3gF4LjGG5e4IbVxUtdtaKhAUk-Tt_J64KSSeI&s=Lejg-jcvh7_vP_rRNxlv1qkBzE13RNn5XNCJQBK8ehI&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AKP8XLZRsg7f97-5FW0Hap-2D9JKfTH7izVTks5uJ4kMgaJpZM4VeQI8&d=DwMCaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=1sg686L92HgxpQF5wXl0sz3VthEo02F_vNwrcDNjAdw&m=uSjOYU3gF4LjGG5e4IbVxUtdtaKhAUk-Tt_J64KSSeI&s=viLtQeOeEIb0Xlnlbmh3PifnJDh9kENR8vtjm34KBfE&e=.

Mmh, is this because you're asking for both CMB and P(k) at low z at the same time and it takes too long to solve the perturbation equations? Otherwise CMB people should encounter the same issues, I guess.

Yes i think you're right, and part of solving that is choosing settings in, e.g. Camb optimally
Sent from my iPhone
On Jul 24, 2018, at 4:57 PM, David Alonso <notifications<EMAIL_ADDRESS>wrote:
Mmh, is this because you're asking for both CMB and P(k) at low z at the same time and it takes too long to solve the perturbation equations? Otherwise CMB people should encounter the same issues, I guess.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_LSSTDESC_CCL_issues_428-23issuecomment-2D407549645&d=DwMCaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=1sg686L92HgxpQF5wXl0sz3VthEo02F_vNwrcDNjAdw&m=RC4mfwuSjhHBU6J7QMLAcOC6bEP9drntT87TFhrk5jQ&s=Tggqav5RX3k17mTF4X93MXVf_9aMijGho6q1Sl_LyVk&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AKP8XGoAPsxL-5FCkewCokNh8ReQj81A5Wks5uJ4pDgaJpZM4VeQI8&d=DwMCaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=1sg686L92HgxpQF5wXl0sz3VthEo02F_vNwrcDNjAdw&m=RC4mfwuSjhHBU6J7QMLAcOC6bEP9drntT87TFhrk5jQ&s=J95vvnBfJC4ASMXoZIsJ2ZntuwF4xAojTb_MNPELf3I&e=.

Reupping this issue. We discussed this in the context of firecrown a bit today. The basic options are to

Enable CCL to produce the proper CMB predictions.
Only call CLASS from python outside of CCL and then feed the things we need back into CCL. This relates to the 2D power spectrum work @damonge is doing in #511

This issue is currently being worked on by @chrgeorgiou , first PR #739 in progress

What is the plan here?
If you are going to input distances etc from CLASS or CAMB, you should know that these are being called in python now. So instead of making a bunch of new arguments to the Cosmology object, you should have a single switch that says to use the boltzmann code produced quantities.

@chrgeorgiou @damonge

Yeah, from my understanding of what Christos is doing it's not to make a bunch of new arguments but more like a single switch like you said, but he can clarify more.

The main idea of my work is to split the theory calculations and observables calculations of CCL into two distinct parts, so that if someone wants to calculate only observable quantities he can do so without having the need to define a cosmology. The ultimate goal is to be able to use CCL with the Cobaya sampler, without having to go through CCL's theory calculations. For more information you can ask David-Alonso or Antony Lewis.
This would not change the functionality of CCL but simply extend it.

I don't follow @chrgeorgiou.

However, the proliferation of arguments to the Cosmology object in your PR is problematic for sure.

We can discuss this in detail in the next telecon, but I think this is the right way to go. We may want to create a separate constructor for cosmologies that receive distances/growth/pks directly, but I wouldn't tie things solely to the two boltzmann solvers we have right now, since the whole point of this is to make CCL cosmology-agnostic when needed.

(this is also off-topic with regards to the point of this issue, BTW. Christos hasn't started implementing this yet, and it will be done in a different PR).

Ahhh ok. I am totally fine with creating a small number of classes, say 2, to support this.

@damonge would we say this issue is resolved at this point?

I think so. We don't need CCL to return CMB-only power spectra. There are cross-correlations we will want to compute (e.g. ISW), but those are already in the making.


add args validation

use qcloud_arg as args struct tag
add args field nil validation
change args field type to pointer

LGTM, Merged

Codecov Report

Merging #5 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master       #5   +/-   ##
=======================================
  Coverage   80.57%   80.57%
=======================================
  Files           9        9
  Lines         175      175
=======================================
  Hits          141      141
  Misses         21       21
  Partials       13       13

Impacted Files
Coverage Δ

cvm/instance.go
66.66% <ø> (ø)
:arrow_up:

vpc/vpc.go
66.66% <ø> (ø)
:arrow_up:

clb/lb.go
55.55% <ø> (ø)
:arrow_up:

clb/wait.go
76.47% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Nested one-to-one create fails to set nested foreign key properly

Waterline version: 0.11.1
Node version: v4.4.0
NPM version<EMAIL_ADDRESS>Operating system: Ubuntu

Ok, maybe I'm doing this wrong or something changed in further along in the Sails food-chain but here's my issue: only one side of my one-to-one relationship is saving the foreign key, the other side is null in mysql.
/**
* Sighting.js
*/

module.exports = {
attributes: {
    count: {
      type: 'integer',
      required: true
    },
    sample: {
      model: 'sample'
    }
  }
};

/**
* Sample.js
*/

module.exports = {
  attributes: {
    latitude: {
      type: 'float',
      required: true,
      max: 90,
      min: -90
    },
    longitude: {
      type: 'float',
      required: true,
      max: 180,
      min: -180
    },
    sighting: {
      model: 'sighting'
    }
  },
};

//SampleController

data = {
  latitude: 53,
  longitude: 118,
  sighting: {
    count: 975
  }
};

Sample.create(data).exec(function (err, newInstance) {
  //newInstance looks ok here, but in database sighting.sample is <null>
});

Is it no longer safe to create a pair of one-to-one objects at the same time?
This worked way back in an early version of<EMAIL_ADDRESS>

Hi @jvanalst if this ever worked for you, it was due to some lower level setup you did in MySQL.  Waterline has never supported automatic one-to-one associations.  See the docs for more info on the matter.


Integrate PostgreSQL 16 Support in Django Cookiecutter

Description
I propose to add PostgreSQL 16 as a selectable option for the database setup within the Django Cookiecutter project template. This update would necessitate adjustments to Docker configuration files, database connectivity settings, and potentially updating version-specific dependencies to ensure compatibility. Incorporating PostgreSQL 16 will enable users to leverage the latest improvements in database functionality, performance enhancements, and security features offered by the most recent version of PostgreSQL.
Rationale
The integration of PostgreSQL 16 into the Django Cookiecutter template is essential to keep the template up-to-date with current database technologies, providing users with the best possible tools for their projects. This addition will cater to developers looking to use the latest database features and optimizations in their new projects, enhancing the template's appeal and utility. Furthermore, staying current with database versions can improve application security and performance, aligning with best practices in software development and deployment.

Sounds good, assuming the version of Django and psycopg we use support it (I didn't check).
Want to send us a pull request? You can probably find the one for Postgres 15 as an example.


connection.copy is assigning tx to store

connection.copy function is creating copy of connection c and putting "Store:   c.TX", is it correct?
In some cases its creating copy with store as nil, which causes "invalid memory address or nil pointer dereference" error in later steps.

That seems to be a typo. :)

@hbpatre Can you make a PR to fix it?

Fixed with #80.


Capability to process only first row of each sheet

I understand if this can't be implemented because it defeats the purpose of streaming, but is there a means of processing the first row of each worksheet? Looks like you can't call workSheetReader.skip() within the row processing handler for instance that might allow for early break out of streaming once the first row of every worksheet has been processed. I am working with very large files where only the first row needs to be considered for initial processing and it's fine if there is no means of parsing only the first row.

I've found calling workSheetReader.abort() instead of workSheetReader.skip() within the row handler achieves what I wanted to achieve more or less. Thank you for developing this module by the way!

skipping the worksheet will just read past that sheet and look for the next in the zip stream, so the file stream must be read anyway.
if you need any rows from the sheet you will need to still handle the row events, just process the first row event and return from the function for the remaining rows.
you should not use workSheetReader.abort() as it will only abort the stream at the point it has reached and could already be in the middle of processing rows in the xml.  You can not rely on anything once you call abort().  Using workSheetReader.skip() actually calls the skip function in the zip processor so absolutely none of the sheet will be received by the xml handler


PLASTIC SURGEON: PED NOT LOADING/SHOWING BUG???

SURGEON PED NOW ISN;T LOADING REGARDLESS WHAT I AM TRYING TO FIX IT. I HAVE TRIED MULTIPLE LOCATIONS TO MAKE SURE ITS NOT MLO ISSUE ETC AND STILL WONT LOAD. ONLY TEXT LOADS???

Here is my code for it
{
type = "surgeon",
coords = vector4(-1859.99, -350.21, 53.74, 145.24),
size = vector3(5, 5, 5),
rotation = 45,
usePoly = false,
showBlip = true,
points = {
vector3(298.84417724609, -572.92205810547, 43.26),
vector3(296.39556884766, -575.65942382812, 43.26),
vector3(293.56317138672, -572.60675048828, 43.26),
vector3(296.28656005859, -570.330078125, 43.26)
}
},

THIS IS NOT SUPPORT.


ISO 8601 support

These changes add new functions, isoweekdayLong and isoweekdayShort, as well as tests for both functions.  The purpose of the functions is to return the long and short weekday names when using ISO 8601 ordered day numbers from isoweekday.
Also, a small change to configure.ac to correct a syntax failure when executing configure.  The error was noted with aclocal 1.15 and autoreconf 2.69.  No testing was done with other versions of these tools.

@milancurcic 881219e may not be needed if you are moving away from autotools to cmake.  I didn't notice this change until I'd already committed to my fork and submitted the PR.
0f29b21 was intended to bring my fork up to date (in an effort to avoid the previous) and I didn't intend it to be included in this PR...I'm still a bit clumsy with github.
Thank you very much for datetime-fortran!

Thanks @tcanich, I have reviewed this and all looks OK. :+1:
About the build system, my plan was to keep both autotools and cmake as valid build options.

About the build system, my plan was to keep both autotools and cmake as valid build options.

bold move!

@zbeekman I am curious about your comment - anything I am not aware of? I was convinced that autotools and cmake are completely independent of each other and can co-exist happily, no?

Yes they certainly can, but now you have two build systems to update and
keep in sync... I didn't mean to alarm you, but I find that one build
system is a PITA enough to maintain as it is already, let alone two!
On Wed, Jan 4, 2017 at 3:54 PM Milan Curcic<EMAIL_ADDRESS>wrote:

@zbeekman https://github.com/zbeekman I am curious about your comment -
anything I am not aware of? I was convinced that autotools and cmake are
completely independent of each other and can co-exist happily, no?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/wavebitscientific/datetime-fortran/pull/43#issuecomment-270483809,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAREPELnjSVBYTtC63OcQJfsRQwbPTSGks5rPAcdgaJpZM4LaP3E
.

@zbeekman OK, thanks, I thought that was what you had in mind.
I doubt that we will be adding many more source files to datetime-fortran in the future so maintaining this should be easy. If it turns out not to be, we will abandon autotools.


MQA is downloaded instead of normal FLAC

If the track has an mqa version, it will be downloaded in mqa format, even if "HiFi" is selected in the download settings.

my problem is similar, when you download a supposed MQA and a FLAC and compare both files and it turns out that they are both the same file, what happened with MQA, because they removed the MQA download support in Tidal Downloader?
a supposed MQA
`Format                                   : FLAC
Format/Info                              : Free Lossless Audio Codec
File size                                : 27.4 MiB
Duration                                 : 3 min 58 s
Overall bit rate mode                    : Variable
Overall bit rate                         : 962 kb/s
Album                                    : Spirit Of The Hawk
Album/Performer                          : Leo Rojas
Part                                     : 1
Part/Total                               : 1
Track name                               : Der einsame Hirte
Track name/Position                      : 8
Track name/Total                         : 12
Performer                                : Leo Rojas
Recorded date                            : 2012
Copyright                                : (P) 2012 Sony Music Entertainment Germany GmbH
Cover                                    : Yes
Cover description                        : cover.jpg
Cover type                               : Cover (front)
Cover MIME                               : image/jpeg
Audio
Format                                   : FLAC
Format/Info                              : Free Lossless Audio Codec
Duration                                 : 3 min 58 s
Bit rate mode                            : Variable
Bit rate                                 : 952 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 44.1 kHz
Bit depth                                : 16 bits
Compression mode                         : Lossless
Stream size                              : 27.1 MiB (99%)`
normal FLAC
`Format                                   : FLAC
Format/Info                              : Free Lossless Audio Codec
File size                                : 27.4 MiB
Duration                                 : 3 min 58 s
Overall bit rate mode                    : Variable
Overall bit rate                         : 962 kb/s
Album                                    : Spirit Of The Hawk
Album/Performer                          : Leo Rojas
Part                                     : 1
Part/Total                               : 1
Track name                               : Der einsame Hirte
Track name/Position                      : 8
Track name/Total                         : 12
Performer                                : Leo Rojas
Recorded date                            : 2012
Copyright                                : (P) 2012 Sony Music Entertainment Germany GmbH
Cover                                    : Yes
Cover description                        : cover.jpg
Cover type                               : Cover (front)
Cover MIME                               : image/jpeg
Audio
Format                                   : FLAC
Format/Info                              : Free Lossless Audio Codec
Duration                                 : 3 min 58 s
Bit rate mode                            : Variable
Bit rate                                 : 952 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 44.1 kHz
Bit depth                                : 16 bits
Compression mode                         : Lossless
Stream size                              : 27.1 MiB (99%)
`

who, deceives us? TIDAL or the Tidal Downloader?
that is the question i ask myself? there should be an option for those who defend and love MQA
I think there should be an option if you want to convert your file to MQA FLAC in Tidal Downloader

what are you using to play MQA files?

what are you using to play MQA files?

I don't listen or download mqa files, I hate mqa :)
But I have two players that can decode them: USB Audio Player PRO on android and Roon on PC.


On WSL, I am unable to make a project using the arm toolchain.

I can't complete this project with the current version. However, on the old version from two months ago, this project could be successful.

Hi @phuoctan4141
Thanks for reporting this, we will look into it.

Hi @phuoctan4141
Did you mean TARGET=cortex_m_corstone_300 instead TARGET=cortex_m_generic?
The TARGET=cortex_m_generic is just meant to build the micro lib and then link this to the application outside of TFLM.
So it has no support for building any unit test or example test within TFLM.
For that the TARGET=cortex_m_corstone_300 could possible be used instead.
So I don't think this has ever worked:
make -j 4 -f tensorflow/lite/micro/tools/make/Makefile OPTIMIZED_KERNEL_DIR=cmsis_nn TARGET=cortex_m_generic TARGET_ARCH=cortex-m0plus  hello_world
You can also see the tests for these targets:
https://github.com/tensorflow/tflite-micro/blob/main/tensorflow/lite/micro/tools/ci_build/test_cortex_m_corstone_300.sh
https://github.com/tensorflow/tflite-micro/blob/main/tensorflow/lite/micro/tools/ci_build/test_cortex_m_generic.sh

Could you elaborate on this project?
It looks like you are using CMake. The internal examples in TFLM does not use CMake.

I could fix all program. Thanks for your support.


Use span name table instead of materialized view

This switches span name and service name lookups to use a table instead of a materialized view.  This change will fix #1360
Change limit logic to limit on a set of trace IDs instead of limiting on the provided collection first. In pracitce this didn't make a noticiable difference in the results but it seems like the intended logic.

merging tomorrow unless someone says not too cc @openzipkin/cassandra

please hold @adriancole
would like to check this.

@michaelsembwever no problemo

This looks good. It's a shame that MV didn't work out, but i can't see a way around it compared to the simplicity of a manually denormalised table.
Am updating the stress yaml files appropriately for the schema change.
Looking into compatibility too. I see no incompatibility, although the MV should be dropped, and make sure the table gets created within an existing keyspace.

Stress results
Very rough runs on a dual-core laptop.
15k partitions entered into each table over 5 minutes, in parallel.
Stress yaml profiles were used from the project according to their documentation.

This problem can be addressed, if need be, on the schema proposed here by re-introducing the DeduplicatingExecutor (see the previous cassandra storage code).

The stress tests are interesting in that they (potentially) show that the schema proposed here is slower than the existing materialised view. I did not expect this. I wonder if some of the complexity and its latency to the materialised view is hidden from these results. I have no objections to accepting the new schema and any (potentially) small lost in performance.

I pushed my commit to this branch containing the updates to the stress yaml profiles.
I didn't actually mean to push it to your fork. I had no idea I could do that…

@michaelsembwever thanks for updating the stress yaml profiles and running a comparison test.  It is indeed interesting to see the results of the stress test.  Really wish the MV worked as well, especially given it appears to perform better as well.  I will review the DeduplicatingExecutor code and get this rebased today or tomorrow at the latest.
Thanks for the detailed review and comments!

Rebased the latest upstream changes on master.  Also added the deduper on writes writes on trace_by_service_span and span_name_by_service.
I think the only outstanding thing to address is the schema changes.  Given that this is still marked experimental do we want to start maintaining schema change sets?  If thats what is preferred I will pull the table/view changes out to a separate file.

I will review the DeduplicatingExecutor code…

Let's leave the DeduplicatingExecutor out for now.
Feel free to squash my additional commit into your commit, I would appreciate having just one commit in the branch before merging.

Regarding the schema change. Is the preference to create a new CQL that contains the drop/add statements?

Check out how the Schema class in the old cassandra storage dealt with upgrades.

I don't think we should be dealing with upgrades at this point. One of the reasons we merged earlier was under the assumption that this is experimental. With that in mind, there should be no expectations around schema upgrade logic (that tends to very much clutter the code when in place)

@llinder @michaelsembwever @abesto I think there's something wrong with our circleci or something as the cassandra3 tests skip. This led me to merge on false-green. Today, I noticed locally that the tests fail, which is bad, so I reverted this commit and the associated cleanups.
https://github.com/openzipkin/zipkin/commit/10b855231a6736552cf1e01064fdea3afa9704bc
sorry about the confusion. Once it is working locally, please raise another PR. Probably best to start by reverting the revert commit above, so you can start with cleanups applied.

I will review the DeduplicatingExecutor code…

Let's leave the DeduplicatingExecutor out for now.

Regarding the schema change. Is the preference to create a new CQL that contains the drop/add statements?

Check out how the Schema class in the old cassandra storage dealt with upgrades.
Albeit a poorman's approach I still suspect it's a good enough approach for us here.

Thanks for the detailed review and comments!

Please squash my additional commit into your commit, I would appreciate having just one commit in the branch before merging.

One of the reasons we merged earlier was under the assumption that this is experimental.

+1

I'm not too sure what happened with this merge, but it did not include my commit.

Re-created in https://github.com/openzipkin/zipkin/pull/1392


Burger menu causes crash under Wayland (Fedora 36)

Lagrange version: 1.13.4 (release branch from git)
SDL version: SDL2-2.0.22
Wayland compositors tested: gnome-shell 42.0, Sway 1.7
On Fedora 36, wayland is the default driver for SDL2, even if it's not yet the default on other distributions. So either ./lagrange or env SDL_VIDEODRIVER=wayland ./lagrange crash whenever you click on the burger menu. Or I should say, the window closes, but the program keeps running, unresponsive, in the background.
The Fedora-packaged lagrange (1.2.1) also crashes the same way.
'env SDL_VIDEODRIVER=x11 ./lagrange` works fine.
Here's the output from stderr:
Lagrange: A Beautiful Gemini Client
[FontPack] 20 fonts available
[window] renderer: opengl (accelerated)
[Text] subpixel offsets: 4
[Text] 845 font variants ready
[window] max texture size: 16384 x 16384
[window] supported texture format: SDL_PIXELFORMAT_ARGB8888
[window] supported texture format: SDL_PIXELFORMAT_ABGR8888
[window] supported texture format: SDL_PIXELFORMAT_RGB888
[window] supported texture format: SDL_PIXELFORMAT_BGR888
[window] supported texture format: SDL_PIXELFORMAT_YV12
[window] supported texture format: SDL_PIXELFORMAT_IYUV
[window] supported texture format: SDL_PIXELFORMAT_NV12
[window] supported texture format: SDL_PIXELFORMAT_NV21
[Text] subpixel offsets: 4
[Text] subpixel offsets: 4
[Text] 845 font variants ready
[GmRequest] URL: gemini://gemini.circumlunar.space/
[Text] subpixel offsets: 4
[Text] 845 font variants ready
[Text] subpixel offsets: 4
[Text] 845 font variants ready
[window] renderer: software
[Text] subpixel offsets: 4
[Text] 845 font variants ready
[newPopup_Window] 11272 μs
wl_display@1: error 1: invalid arguments for<EMAIL_ADDRESS>
I could probably produce a core dump (by sending SIGQUIT to the hung process), if it would help.

After reading closed bug reports on this, I tried using the -DENABLE_POPUP_MENUS=NO to cmake. It now works correctly. If you want to close this, that's fine; I should probably report it to the Fedora packager.

wl_display@1: error 1: invalid arguments for<EMAIL_ADDRESS>
It looks like SDL's Wayland support is still incomplete.
This is also mentioned in the "Known issues" section on the homepage:

The environment variable SDL_VIDEODRIVER=wayland can be used to force SDL to use Wayland instead of X11. However, SDL does not have full support for Wayland at the moment. You should set the Lagrange CMake build option ENABLE_POPUP_MENUS to NO. If there are issues with resizing windows, also set ENABLE_RESIZE_DRAW to NO.

Reported as https://bugzilla.redhat.com/show_bug.cgi?id=2135123 .

Ah, I've not been noticing since

I accidentally switched to X11 on my Fedora box a few months ago
my Lagrange window is normally big enough the menu does not pop up

Can repro, will adjust the settings, thanks!

For those following along, this will be fixed in Fedora/EPEL together in the 1.14.2-2 update: https://bodhi.fedoraproject.org/updates/?search=1.14.2-2&packages=lagrange


[FEATURE] Tangent vertex attribute

I'd like to be able to store tangents in my tmf files.
Storing tangents in a serialized mesh format is a way to avoid expensive computation at runtime. Hence reducing load time. In fact  glTF specifies tangents as a standard field for their model file format. Quoting https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#meshes-overview

XYZW vertex tangents where the XYZ portion is normalized, and the W component is a sign value (-1 or +1) indicating handedness of the tangent basis

Those look very much like a normal (with the one additional +1 -1 component).

Which API representations for tangents would be easier to work with? One where w is represented as a bool denoting handedness or as a float with value of either -1 or 1? The representation on disk will be the same, and any performance difference negligible. I don't know the use cases for tangents look like exactly, so it is hard for me to envision which would be more ergonomic to use.

170bf3197fd2f0b23074649e7afbab98637d637f adds support for setting/getting tangent arrays on a mesh and saving them to disk (reading is partially implemented). Current API representation of Tangent is tuple ((float, float, float), float). I am still looking for feedback on this API representation of tangents.

fee157aa296ad845e02ec3a6b4a4731c339828d4 adds support for reading tangents from disk. After tangent triangle segment will be added, this feature will be complete.

ac53b94a689316993130687694abff1f93e336af adds support for saving and loading tangent triangle index arrays. This feature is complete, and I am just waiting for more input on the current API.

I noticed there is no way to read the value of HandenesType (also, I think it should be spelled Handedness). Maybe add a get() method or make the field pub?

I've done the following on the fork I use
impl From<FloatType> for HandenesType {
    fn from(value: FloatType) -> Self {
        HandenesType(value)
    }
}
impl From<HandenesType> for FloatType {
    fn from(value: HandenesType) -> Self {
        value.0
    }
}

HanenessType being a struct was an oversight on my part (something temporary that I forgot to remove).  HanenessType  was supposed to be entirely internal (just a normal float to the consumer of the API), as a way to make functions signatures more clear. Now it is just an alias for FloatType, which is an alias for either f32 or f64, depending on feature flags set.

Since there are no more comments, I assume the current API is OK.


Unable to get all values for State property in legacy_properties()

Expected Behavior
I'm trying to scrape a website and for every element I'm trying to read the legacy properties. I'm interested in the State property.
The Inspect tool shows the following values:

I'm expecting to get the following value:
expanded, focusable (0x100200)
Actual Behavior
Instead of the above output, I'm only getting the following output:
1049088
which is decimal for 0x100200
Short Example of Code to Demonstrate the Problem
import pywinauto

parent = uia_element_info.UIAElementInfo()

for child in parent.children():
	currentNode = controls.uiawrapper.UIAWrapper(child)
	print(currentNode.legacy_properties()['State'])

Output:
1049088
Specifications

Pywinauto version: 0.6.8
Python version and bitness: 3.10
Platform and OS: Windows 10

Hi,
You might be misunderstanding the return value.
legacy_properties()['State'] should return the same value as IAccessible.accState.
https://learn.microsoft.com/en-us/dotnet/api/accessibility.iaccessible.accstate
https://learn.microsoft.com/en-us/windows/win32/api/oleacc/nf-oleacc-iaccessible-get_accstate
It is Object State Constants, an integer value that represents a combination of bit flags, so to determine if it is focusable or expanded, you sould add another twist.
https://learn.microsoft.com/en-us/windows/win32/winauto/object-state-constants
https://chromium.googlesource.com/chromium/deps/perl/+/refs/heads/main/c/i686-w64-mingw32/include/oleacc.h
# Constants
STATE_SYSTEM_SELECTED = 0x2
STATE_SYSTEM_FOCUSABLE = 0x100000
STATE_SYSTEM_EXPANDED = 0x200

# state
node_state = 1049088

# determining
is_selected = bool(STATE_SYSTEM_SELECTED & node_state)  # False
is_focusable = bool(STATE_SYSTEM_FOCUSABLE & node_state)  # True
is_expanded = bool(STATE_SYSTEM_EXPANDED & node_state)  # True

I hope this helps.


0.6.0 Release

Let's merge these two before release:

https://github.com/kubernetes-incubator/kompose/pull/454
https://github.com/kubernetes-incubator/kompose/pull/557

https://github.com/kubernetes-incubator/kompose/pull/557 has been merged.

and so has #454 let's do a release!

closing since https://github.com/kubernetes-incubator/kompose/pull/582 is merged


feat: Adding optional trivia to tokens.

This PR adds optional trivia to tokens. Since Boogie is used as a back-end for other programming languages which might need tree-to-tree transformation (such as Dafny), it is handy to have a way to store the leading and trailing trivia in each token.
Just added tests for a functionality that makes it possible to "borrow trivia" from one token to another token.

I don't need this anymore.


fix leveldown build

This is great, thanks @KGibb8!
Electron wouldn't come up on npm start which I tracked down to leveldown and it turns out it was the same issue as here: https://github.com/Level/leveldown/issues/239
This postinstall script to rebuild leveldown does the trick and it's working now, thanks again :)

I'm lucky enough to experience all of the windows issues @KGibb8 !


Categorize class compilation errors for PageProcessor

Minor comments, otherwise looks good

Travis seems to be acting up. Ran tests on my laptop and they succeeded.


Enable doNotStrip when doing development/debugging within Android Studio

The updated logic automatically detect when running within Android Studio, and enable doNotStrip in order to keep around the debug symbols.

So far so good, it nicely hits breakpoints where I set them.
It did show something in the log about there not being symbols though so this may work simply because we're running from withing Android Studio and Android Studio thus has access to the source.
Unfortunately the log disappeared before I could grab it and I can't find where it's hidden now :)

One thing I think we should add, not 100% related to this, but is adding a .gitignore entry so our assets folder is there but its contents is not added to git.

One thing I think we should add, not 100% related to this, but is adding a .gitignore entry so our assets folder is there but its contents is not added to git.

@BastiaanOlij I've added the .gitignore entry in the assets directory.

@akien-mga The second commit addresses the comment made in https://github.com/godotengine/godot/pull/42980/files/37d515e99c2da449397511cbc9b25fee84dd66fc#diff-d06617966387fb7135d4af8cf52217b94e7a4c658c6ed9f259bbf8cd801e31d5.
Let me know if it should still be squashed into a single commit.

@m4gr3d mentioned in chat as well but just to have it on the PR. If the binary project file does not exists shouldn't err != ERR_FILE_NOT_FOUND be enough to ignore the error and load the text version of the file? I still think the change is valid because if the file can't be read due to other reasons it would be good to just report it and then attempt to load the text version as a fallback especially in the editor.
But sounds to me like it's giving the wrong error on a missing file?

@m4gr3d The second commit should have been in its own PR, it's not related to enabling doNotStrip on Android builds in any way.
For the Android doNotStrip change I'm waiting for a decision from the Android team on what to merge as there's also #46880 which seems to build on top of it, it's not sure which should be merged.
The other change is a core fix which is not linked to Android buildsystem.

@akien-mga I'd merge this (after @m4gr3d moves the second change into its own PR) and then ask @thebestnom to rebase his PR.
They are related but different :)
The second fix from Fredia is pretty important to run Godot directly from Android Studio (I think I got stuck on this as well)

@m4gr3d The second commit should have been in its own PR, it's not related to enabling doNotStrip on Android builds in any way.
For the Android doNotStrip change I'm waiting for a decision from the Android team on what to merge as there's also #46880 which seems to build on top of it, it's not sure which should be merged.
The other change is a core fix which is not linked to Android buildsystem.

@akien-mga The second commit is related because the first commit enables to run Godot projects from Android studio (I'm doing a write up describing the process to be soon added to the Android docs), but the issue resolved by the second commit prevents that from working. So the first commit by itself is broken by the issue addressed in the second commit.
It can be split if you still think it should.
PR #46880 builds on top of this, so like @BastiaanOlij mentioned, this should be merged so that @thebestnom can rebase #46880.

The second commit is related because the first commit enables to run Godot projects from Android studio (I'm doing a write up describing the process to be soon added to the Android docs), but the issue resolved by the second commit prevents that from working. So the first commit by itself is broken by the issue addressed in the second commit.

Alright, but the second commit is still fixing an unrelated issue which does happen to affect Android Studio debugging, but would also affect running any project with a similar situation, i.e.:

project.binary exists but can't be opened
project.godot exists and you want to fall back to it instead of aborting

The fact that project.binary exists but can't be opened is a bug and should likely be investigated as such. This commit works it around (bug still present, but doesn't prevent starting the game), but it should still be debugged, and a dedicated PR would be a cleaner way to have this reviewed by people familiar with this very core aspect of the engine's code (used by all platforms, not just Android).

I removed the second commit and create a separate PR for it: https://github.com/godotengine/godot/pull/47065

Alright, but the second commit is still fixing an unrelated issue which does happen to affect Android Studio debugging, but would also affect running any project with a similar situation, i.e.:

project.binary exists but can't be opened

This is not an issue (at least as far as I'm aware). I described the use-case where we encountered the issue in https://github.com/godotengine/godot/pull/42980#discussion_r594759905_. Since it's a development use-case, the project.binary is not generated and we rely on project.godot.
A possible issue would be why ERR_CANT_OPEN is returned when the file is not present instead of ERR_FILE_NOT_FOUND, but regardless I think the fallback fix is still worth having.

Thanks!

Cherry-picked for 3.3.


UIs should prevent users from confusing org-namespaces with organization names

We saw evidence of a user using kubectl-gs with the --organization flag and a value like org-orgname. So instead of the organization's name, the organization's namespace name has been applied to the flag.
We should be able to prevent this on two levels:

Prevent organization names from starting with the prefix org- on the Management API level
If the value of any --organization flag in any kubectl-gs command starts with org-, present an error to the users.

Error message:

The organization name specified with --organization must not start with org-. Hint: organization namespaces start with org-, but organization names do not.

Tasks

[x] Internal announcement
[ ] Add kyverno policy to prevent creation of an Organization CR with name prefix org-
[ ] Check if organizations exist that have names matching org-*
[ ] If necessary, do organization migrations for the customer
[ ] Update documentation to state that prefixing an organization name with org- is not allowed

kubectl-gs

[ ] Modify kubectl gs template organization to restrict the name
[ ] Modify kubectl gs gitops add organization to restrict the name
[ ] Modify all commands that offer an --organization flag, so that an error is printed if the value starts with org-

Happa

[ ] Add organization namespace as a column to the list of organizations
[ ] Show organization namespace in organization details page

Notes from refinement:

we could have a policy in Kyverno to prevent organization CRs with names prefixed by org- from being created
check if there are existing organizations with names starting with org- and decide what to do about them in case we find some

see if we can replace them and migrate resources
in case we manage to eliminate all organizations with names starting with org-, modify kubectl-gs to show an error when creating an org template with name prefixed by org-
improve error messages in kubectl-gs in case an organization name starting with org- is provided

Re "Inform everyone that we want to introduce this change": posted an internal announcement.

@marians are you okay with closing this? This one is nearly 2 years old, without any one working on it

yes, indeed


[BEAM-10917][BEAM-12810] Reverting #15185

Cherry-picking #15402 (which reverts #15185)

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Pinging @udim, or @tvalentyn who filed the bug.

LGTM. +1 for release manager to do the merge.

why was this reverted?

I follow the Jira links and it seems it was BEAM-12808 ?

No the current Jira's mentioned in the PR are correct (one of them had an incorrect duplicate marker).
Context for reverting is in the original PR - https://github.com/apache/beam/pull/15185

BEAM-12808 was dupe of BEAM-12810, one was for master, other for cherrypick, both seem to be about the revert?

https://issues.apache.org/jira/browse/BEAM-12808 is a totally different issue that is unrelated to this change.

gotcha - PR title BEAM-12810 is not accurate?

Current state looks correct :)


Split out support library dependency

Split Xtendroid into xtendroid and xtendroid-support, where the latter can use the Android support libraries.

The latter should be useful for projects supporting lower api levels. I always try to provide support friendly versions of the same implementations, but I lump them together.
We should create a new subproject, with a new manifest declaring a lower minimum api level.

@Buggaboo I've managed to remove the dependency on the support library, while still being able to support the support library! It's done using ClassUtils to search the hierarchy of a class using reflection and string comparisons instead of instantiating types. For example, here's how I support the RecyclerView.
There's one thing I cannot fix though, which is the BgLoader which was importing the support version of the AsyncTaskLoader class, which I have changed to the non-support version. Not sure what the best fix for this is...

Hiya, good job!
BgLoader contains two implementations iirc, BgSupportLoader? and BgLoader, these can be separated right?

Yes, but we would then need a whole other project and artifact for the version with support library, e.g. xtendroid-support. Seems like a lot of trouble for just the Loader...
On 14 February 2017 20:07:50 GMT+02:00, Jasm Sison<EMAIL_ADDRESS>wrote:

Hiya, good job!
BgLoader contains two implementations iirc, BgSupportLoader? and
BgLoader, these can be separated right?
--
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub:
https://github.com/tobykurien/Xtendroid/issues/120#issuecomment-279787045

--
tobykurien.com | @tobykurien

To be honest, with the advent of okhttp, volley, etc. etc. I don't think anyone uses Loaders anymore in combination with network i/o.
I think it's actually easier to use your own Looper anchored to the Application (singleton) to queue (incoming) messages, and deliver them when there is a context object, from onResume.
I won't mind if you dropped the implementation altogether, i.e. git rm ....

That's not necessary because the current implementation works with the standard Loader. I have adjusted the FragmentWithLoader example.
On 14 February 2017 20:34:10 GMT+02:00, Jasm Sison<EMAIL_ADDRESS>wrote:

To be honest, with the advent of okhttp, volley, etc. etc. I don't
think anyone uses Loaders anymore in combination with network i/o.
I think it's actually easier to use your own Looper anchored to the
Application (singleton) to queue (incoming) messages, and deliver them
when there is a context object, from onResume.
I won't mind if you dropped the implementation altogether, i.e. git rm ....
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/tobykurien/Xtendroid/issues/120#issuecomment-279794247

--
tobykurien.com | @tobykurien


Embedded survey-poll-quiz in visual container

fixes #852

Add styling for embedded survey/poll/quiz.

tested with direct display but no border around the quiz, possible code needs to be modified


support for null ordering when sorting

Is your feature request related to a problem?
many sort implementations will allow the user to specify nulls first or nulls last, but this seems to be missing from daft.
Describe the solution you'd like
df.sort(
    by=col("a"),
    descending=True,
    nulls_first=False
)

Describe alternatives you've considered
No response
Additional Context
No response
Would you like to implement a fix?
No

any thoughts on when this will be prioritized? Many operations in pyspark include a sort operation with nulls_first (even for things that appear to not need a sort).


[Suggestion] Support for Custom Item Tiers?

There could/should be support for Custom item tiers like the Void Lunar items from BubbetsItems unless there already is support for that and it uses specific internal tier labels.

Agreed. Currently, tiers are hard-coded, and unknown tiers are ignored. Not entirely sure how to make it user friendly (how does the end user know what the internal name of the modded tier is), but definitely a feature I would like in this mod.


[FEATURE REQUEST] Allow to provide custom function to skip focusser on document click.

Our project uses some non-standard controls, which do not satisfy your check for control tags (button, input etc), that leads to some bugs.
So we need a function( provided as a parameter or as method on controller, which could be overriden by another directive), which would take event object and return boolean value skipFocusser.
Looking forward for your reply, thx.

We have to use company level opensource components, which implemented via non-control tags( divs, spans, etc) So, then user clicks on such divs we have to remove focus from focusser.
So we need a way to provide function, which will detect is clicked dom-element control or not

Maybe this will help you out Wiki. You can see if the select is open or not with a callback function?
As the repo has a lot of bugs I don't see a good case to create a new feature for this. Maybe you can try stackoverflow if people have done something like this with the library.

Case not in open\closed status.
When user clicks our-company-select, ui-select closes, but stay focused via focusser. So, when user press enter, ui-select become open. I need to prevent that behavior.


Auto enroll keys in UKI mode without removing the microsoft ones

Replacing the platform keys with your own can end up bricking hardware on some machines, including laptops, making it impossible to get into the firmware settings to rectify the situation. This is due to the fact that some device (e.g GPU) firmware ([OpROMs](https://en.wikipedia.org/wiki/OpROM)), that get executed during boot, [are signed using Microsoft 3rd Party UEFI CA certificate](https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface/Secure_Boot#Microsoft_Windows).

(From the arch docsSecure_Boot#Using_your_own_keys)
Some systems signs 3rd party firmware with the microsoft keys (e.g. machines without a iGPU).
sbctl has flags that should keep the microsoft keys around (https://man.archlinux.org/man/sbctl.8) so that the system is not bricked when we enroll our keys.
Let's try these commands to see if we can enroll the Kairos keys without removing the Microsoft ones.
Ideally, we shouldn't even need to enter "Setup mode" since we are only appending keys to the db.

Manually tested this on my own pc, extending my existing certs with the Kairos DB key and cert and it appended them + Microsoft default certs

In your case, you were booted in an already trusted system with secureboot enabled, when you enrolled the keys, right?

From a setup mode machine:

Import our keys: sbctl import-keys --directory /tmp/keys
Create GUID: sbctl create-keys
Enroll our keys + Microsoft keys: sbctl enroll-keys -m -c -a

This results in a secureboot enabled machine with:

PK from kairos
KEK from MS
DB from MS

Which results in:

Able to boot kairos with SecureBoot enabled
Able to boot ubuntu (upstream iso, non touched, directly from Canonical) with SecureBoot enabled

So it seems that we can generate a proper mix of our certs and Microsoft crets which should result in the OpRoms being to be verified.
Should try this with something that has a OpRom AND the posibility of disabling SecureBoot via a jumper int he motherboard or something

According to the sbctl docs on this, just having the UEFI CA from Microsoft in there should fix any issues with OpRoms: https://github.com/Foxboron/sbctl/wiki/FAQ#option-rom
If there is Option ROM in your bootchain there are two ways one can solve this:

    Enroll the Microsoft Corporation UEFI CA 2011 file.
    Read the checksums from the TPM eventlog.

I added the option to not auto-enroll keys in systemd-boot:
-       data := fmt.Sprintf("default %s\ntimeout 5\nconsole-mode max\neditor no\n", finalEfiConf)
+       data := fmt.Sprintf("default %s\ntimeout 5\nconsole-mode max\neditor no\nsecure-boot-enroll manual\n", finalEfiConf)

and added the extra cmdline rd.immucore.securebootdisabled . I then reset the keys in qemu and indeed sbctl now sees it in setup mode:
[root@fedora kairos]# sbctl status
Installed:	✗ sbctl is not installed
Setup Mode:	✗ Enabled
Secure Boot:	✗ Disabled
Vendor Keys:	none

When I try to enroll the keys (without  importing any), I get this:
Found OptionROM in the bootchain. This means we should not enroll keys into UEFI without some precautions.

There are three flags that can be used:
    --microsoft: Enroll the Microsoft OEM certificates into the signature database.
    --tpm-eventlog: Enroll OpRom checksums into the signature database (experimental!).
    --yes-this-might-brick-my-machine: Ignore this warning and continue regardless.

Please read the FAQ for more information: https://github.com/Foxboron/sbctl/wiki/FAQ#option-rom

and with the additional flag:
[root@fedora kairos]# sbctl enroll-keys --yes-this-might-brick-my-machine -a -f -i -p db
open /usr/share/secureboot/GUID: no such file or directory

After running Itxaka's commands above, it works:
[root@fedora kairos]# sbctl status
Installed:	✓ sbctl is installed
Owner GUID:	b57a5790-eab3-4436-a6b5-0fd063bc12e6
Setup Mode:	✓ Disabled
Secure Boot:	✗ Disabled
Vendor Keys:	microsoft

sbctl import-keys --directory keys/ expects the various keys in subdirectories so I had to prepare the dir accordingly.

This image should now enroll the microsoft keys: https://github.com/kairos-io/osbuilder/releases/tag/v0.200.8


is it possible to apply an advanced filters?

Hi,
is it possible to apply an advanced filter in the last version of the client?
for example I would like to set the same object filter as in this REST call
https://$user:$Apikey@api.softlayer.com/rest/v3/SoftLayer_Account/getVirtualGuests.json?objectMask=mask[tagReferences[tag]]&&objectFilter={"virtualGuests":{"tagReferences":{"tag":{"name":{"operation":"in", "options":[{"name": "data", "value": ["=tagA","=tagB”]} ] } } } } }}
but I did not find a way how to set the "options" in the Ruby API filter
Regards

Yes it is, check out the example used here:

https://github.com/softlayer/softlayer-ruby/blob/master/lib/softlayer/VirtualServer.rb#L241-L250

Ha!  Thanks.  You beat me to it.

thank you very much :)


Provide the ability to zero padding bytes and return &[u8]

Issues like this one demonstrate that it is sometimes useful to access the bytes of a type which cannot implement AsBytes. In these cases, it should be sound to:

Recursively zero any inter-field padding bytes
Provide access to the bytes of the object as &[u8]

We would need to teach KnownLayout to be able to zero padding, e.g.:
pub unsafe trait KnownLayout {
    fn zero_padding_and_get_bytes(&mut self) -> &[u8];
}

The only requirement for a type supporting this operation is that we know where its padding bytes are. The public API for this type could be in KnownLayout. This would be new for us, as KnownLayout is currently #[doc(hidden)], and all other planned uses of KnownLayout involve only #[doc(hidden)] items. Alternatively, we could be slightly over-conservative and provide it on FromZeroes.
Open questions

What if we want to copy from a &T (which we can't modify) into a buffer while initializing any padding bytes in the destination like musli-zerocopy does? See this discussion.
fn zero_padding_and_get_bytes(&mut self) -> &[u8] doesn't allow the type system to "remember" that a value has had its padding zeroed. Perhaps we could introduce a witness type and introduce a method like:

fn zero_padding(&mut self) -> &mut AsBytesWitness<Self>
AsBytesWitness would provide field projection into any field, but would only provide direct mutable access to fields which are AsBytes (as writing to these fields cannot introduce uninitialized bytes)

Related & prior art

https://github.com/rust-lang/rfcs/pull/3605

Mentoring instructions

[ ] In the macro_util module, add a function with the signature const fn sort<const N: usize>(nums: [usize; N]) -> [usize; N]
[ ] In KnownLayout, add an associated constant FIELD_OFFSETS_ASCENDING: &[usize]
[ ] In the custom derive for KnownLayout, initialize FIELD_OFFSETS_ASCENDING using the previously-added sort function
[ ] In KnownLayout, add a method: fn zero_padding_and_get_bytes(&mut self) -> &[u8]
[ ] In the custom derive for KnownLayout, implement zero_padding_and_get_bytes by:

...iterating over each field (TODO: How to do this in the same order as FIELD_OFFSETS_ASCENDING?)
...calling zero_padding_and_get_bytes on each field
...using size_of_val to get the size of the field
...using the size of each field combined with the offset of the following field to determine the range containing inter-field padding
...zeroing each range of padding bytes

I just realized that KnownLayout may not have the necessary context. In particular, we support deriving KnownLayout on all Sized types, even those that are not repr(C), and even those whose field types are not KnownLayout. The "not repr(C)" thing we might be able to work around by querying for field offsets, but without the ability to recursively descend into each field type, we have no way of knowing where padding is inside of individual fields.

I suspect default-repr enums are going to render this strategy a non-starter, since we cannot reason about the size of their discriminants. Given that, do we still want to proceed with #1223?

I suspect default-repr enums are going to render this strategy a non-starter, since we cannot reason about the size of their discriminants. Given that, do we still want to proceed with #1223?

Discussed offline. Given this concern, and given the likelihood of freeze stabilizing in the medium-term, we're going to hold off on this issue for now. We may still do it - I'm not closing it - but we're not going to make any attempt to be forwards-compatible with it.


1694: added stipulations to program electives causes 500 error in Django admin

What are the relevant tickets?
https://github.com/mitodl/mitxonline/issues/1694
Description (What does it do?)
Add validations to the Program Django Admin page to display error messages instead of throwing a 500 error if the requirements tree contains misconfigurations.
How can this be tested?

Ensure you have a couple courses created in your MITx Online instance.
Click "ADD PROGRAM" from http://mitxonline.odl.local:8013/admin/courses/program/
Define the title and readable ID to be anything unique.
Expand the "Required Courses" section.
Change the Operation from "All of" to "Minimum # of".
Verify that the Value field is displayed.
Enter 1 in the Value field.
Delete the Elective Courses section.
Change the Title to "Elective Courses".
Add a course to the Elective Courses section.
Verify that the program can be saved.
Select the program saved during step 11.
Change the Value field to 2.
Verify that the program cannot be saved because the value is larger than the number of courses in the Elective Courses section.
Change the Value field to be empty.
Verify that the program cannot be saved if the Value field is empty.
Change the Value field to be 1.
Change the Title field to be empty.
Verify that the program cannot be saved if the Title field is empty.
Set the Title field back to "Elective Courses".
Add a nested operation to the Elective Courses section by selecting "Add requirement".
Change the nested operation Type from "Course" to "Operator".
Verify that the program cannot be saved if the Title of the nested operation is blank.
Set the Title field of the nested operation to "Elective stipulation".
Verify that the program can be saved if the Title of the nested operation is filled in.
Add a course to the nested operation by clicking "Add course".
Change the "Operation" field in the nested operation to "Minimum # of".
Set the Value field of the nested operation to 2.
Verify that the program cannot be saved if the nested operation's Value field's value is larger than the number of courses in the nested operation.
Change the Value field of the nested operation to be blank.
Verify that the program cannot be saved if the nested operation's Value field's value is empty.
Set the Value field of the nested operation to 1.
Set the Title field of the nested operation to be blank.
Verify that the program cannot be saved if the Title of the nested operation is blank.
Set the Title of the nested operation back to "Elective stipulation".
Verify that the program can be saved.

Created a new issue for the problem that Anna mentioned in her comment, https://github.com/mitodl/mitxonline/issues/1757


Fix floating-point edge case in payload conversion

Change JSONNode to ValueNode in order to use floating point checks
Added type checker unit tests

test comment

hey tide retrigger plz


haskellPackages.fft: unmark broken

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

done and rebased onto haskell-updates

@ofborg build haskellPackages.fft

@SuperSandro2000 It looks like the test suite failed for fft on x86_64-linux in ofborg:
https://github.com/NixOS/nixpkgs/pull/233884/checks?check_run_id=14058426877
I wonder if this is an expected error?  (In which case, you could mark the package as dontCheck and create an issue upstream about the incorrect error.)

I can reproduce that when merging this branch into haskell-updates, building directly on this branch works. There is no error so I am not sure what I should tell upstream
Float
dft idem 1D              : +++ OK, passed 1000 tests.
dftRC/CR idem  1D        : +++ OK, passed 1000 tests.
dftRC dft 1D             : +++ OK, passed 1000 tests.
dht idem 1D              : +++ OK, passed 1000 tests.
dft idem 2D              : +++ OK, passed 1000 tests.
dft idem 2D/2            : +++ OK, passed 1000 tests.
dft idem 2D/2'           : +++ OK, passed 1000 tests.
dftRC/CR idem  2D        : +++ OK, passed 1000 tests.
dftRC dft 2D             : +++ OK, passed 1000 tests.
dftRC dft 2D/2           : +++ OK, passed 1000 tests.
dht idem 2D              : +++ OK, passed 1000 tests.
dft idem 3D              : +++ OK, passed 1000 tests.
dft idem 3D/2            : +++ OK, passed 1000 tests.
dft idem 3D/2'           : +++ OK, passed 1000 tests.
dft idem 3D/3            : +++ OK, passed 1000 tests.
dft idem 3D/3'           : +++ OK, passed 1000 tests.
dft idem 3D/3''          : +++ OK, passed 1000 tests.
Double
dft idem 1D              : +++ OK, passed 1000 tests.
dftRC/CR idem  1D        : +++ OK, passed 1000 tests.
dftRC dft 1D             : +++ OK, passed 1000 tests.
dht idem 1D              : +++ OK, passed 1000 tests.
dft idem 2D              : +++ OK, passed 1000 tests.
dft idem 2D/2            : +++ OK, passed 1000 tests.
dft idem 2D/2'           : +++ OK, passed 1000 tests.
dftRC/CR idem  2D        : +++ OK, passed 1000 tests.
dftRC dft 2D             : +++ OK, passed 1000 tests.
dftRC dft 2D/2           : +++ OK, passed 1000 tests.
dht idem 2D              : +++ OK, passed 1000 tests.
Test suite test-fft: FAIL
Test suite logged to: dist/test/fft-<IP_ADDRESS>-test-fft.log

@SuperSandro2000 Thanks for reporting this.
I went ahead and marked it unbroken and disabled the test suite in fc8620b7cf4 in https://github.com/NixOS/nixpkgs/pull/236431.
My guess is that the tests have recently started failing because of https://github.com/nick8325/quickcheck/issues/359, but it is just a problem in the fft test suite.  However, I wasn't able to find an issue tracker for fft, so I could even find anywhere to report it :-|

Thanks!