Fix Windows start of background process

I still have to configure my environment in order to have a running websocket service (do you have a very simple example from A to Z?), but this should work.

What do you mean configure? the apache proxies or the C5 configs?
I need to add the proxies but afterwards i can start the websocket server and configure it from /index.php/dashboard/system/environment/graphql Is this not working for you?

But i think after installing the package we are working here and this https://github.com/lemonbrain-mk/graphql_websocket_sample you just can go to /index.php/dashboard/system/environment/graphql click "Refresh GraphQL Schema" then you should have the possiblity to put websocket server to on -> click save -> click "start this websocket server"

What do you mean with configure? the apache proxies or the C5 configs?

I needed a sample application, and https://github.com/lemonbrain-mk/graphql_websocket_sample looks perfect! Thanks!!

I just tested this package on Windows (with youre sample package), and everything works fine!

Amazing: Thanks a lot for your effort. On the concrete5 slack I also created a channel for discussion #graphql_api_websocket . At the moment, i have really a lot to do, but we created the first real life project with it and i'm looking forward to work more with this package,


fix(nodebuilder): Use test node for tests instead of New

Fixes issue with this test not using in-memory keyring.

Codecov Report

Merging #1350 (d442b82) into main (90bd741) will decrease coverage by 0.49%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1350      +/-   ##
==========================================
- Coverage   55.33%   54.83%   -0.50%
==========================================
  Files         178      178
  Lines       10692    10692
==========================================
- Hits         5916     5863      -53
- Misses       4193     4250      +57
+ Partials      583      579       -4

Impacted Files
Coverage Δ

nodebuilder/state/keyring.go
0.00% <0.00%> (-56.87%)
:arrow_down:

libs/keystore/map_keystore.go
80.95% <0.00%> (-4.77%)
:arrow_down:

share/eds/byzantine/bad_encoding.go
65.00% <0.00%> (-3.00%)
:arrow_down:

share/eds/byzantine/pb/share.pb.go
32.88% <0.00%> (-1.97%)
:arrow_down:

share/ipld/get.go
91.24% <0.00%> (-1.39%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Invalid Date in IE 11

Description of the Issue and Steps to Reproduce:
Basically, calling moment() in Internet Explorer 11 gives an 'Invalid Date'. If I pass new Date() to moment(new Date()), it behaves as expected. My guess is that the constructor passes in NaN to new Date(NaN), like so, and this is giving this unexpected behavior.
Please include the values of all variables used.
var now = moment();
console.log(now);
// Should dump out 'Invalid Date'

var now = moment(new Date());
console.log(now);
// Should dump out whatever the local time is

Environment:
Internet Explorer 11 on Windows 10.
It is worth mentioning that I am using moment.js from a CDN through require.js and do not have any localization libraries loaded.
If you are reporting an issue, please run the following code in the environment you are using and include the output:
console.log((new Date()).toLocaleString()) // Actually returns 'Invalid Date'
console.log((new Date()).getTimezoneOffset()) // 240
console.log(moment.version) // 2.18.1

EDIT: I updated the instances of 'Moment' to 'moment' for clarity.

That's not how to construct a moment object.  You should be doing something like:
var now = moment();  // lower-case

var now = moment(new Date());  // this works too, but is redundant.

My apologies, I should have mentioned that I am using requirejs, and I happened to call it Moment instead of moment. Regardless, that still doesn't change the fact that the behavior of moment() is giving me different behavior than moment(new Date()). I resorted to using the "redundant" version of it since that's the one that works.

If you can reproduce it in a jsfiddle or similar, please do.  Everything is working fine for me.
Reading your original question again, you said you expected moment() to return an invalid date, but it should not.  It should return the current local time, identical to moment(new Date()).

Yeah, sorry, what I meant was, under normal circumstances, I expect it to give me valid output (which it does in Chrome, Edge and Firefox), but it did not do it in Internet Explorer 11. However, I was working on putting together a small snippet to reproduce the error, and I could not reproduce it, so I think we're in the clear here. I am guessing it was a problem with some other library (possibly a weird interaction with some really old HaXe output that I am in the process of replacing). Anyway, thanks for getting back to me! If I can reproduce it with JUST moment.js, I'll open a new thread with better details, and reference this one.

Yesterday I met new Date("2018-03-29 17:25:2") under IE11 for Invalid Date. Firefox and Google Chrome are normal. I don't know if it is the same as your problem. The solution is to replace "-" with "-". Changed to "/" to become new Date("2018/03/29 17:25:2"). I have poor English and I don't know if you can read it. Sorry.

@smileheart2 Fixed it for me as well, IE11.

replace "-" with "-".

What's the difference?

I think he want to say, replace '-' with '/'

Oh yeah. Maybe they'll edit that.

For me (and I'm guessing also for OP) the issue was with the native Date API, as it wasn't able to parse the date from my String which had DD-MMM-YYYY format.
consider:
var dateStr = "23-Apr-1990"; var date = new Date(dateStr); //Invalid in IE but works in Chrome
And basically this was the root of the issue.
Workaround for me was to replace "-" with " ", st:
var dateStr = "23-Apr-1990".replace(/-/g,' '); var date = new Date(dateStr); //Works properly in all browsers I checked


Server Crash with Mekanism

Forge Version
<IP_ADDRESS>60
Galacticraft Version
<IP_ADDRESS>4
Log or Crash Report
crash report
Reproduction steps
Unsure. This became an issue after updating Galacticraft from <IP_ADDRESS>0.
I was pointed to this line when I opened an issue on Mekanism

i have the same problem when i loaded an old save , I needed to update from <IP_ADDRESS>0. to <IP_ADDRESS>4 in order for galaxy space update to work


Add README to sample source directories to redirect to sample README

For customers discovering our sample source under test/samples, we should add a simple README that points back to the samples/README.md with text similar to:
Source files in this directory are written as tests from which samples are extracted.
They are not intended to be viewed directly, but make sure our samples compile and work correctly.
See our [list of samples](../../samples/README.md) for more explanation about how to use this client library.

Hi @heaths, If this issue is still open can you plz assign it to me?

Automated with:
$sampleSourceDir = Get-ChildItem sdk | Join-Path -ChildPath Azure.*/ | Get-ChildItem -Directory | Join-Path -ChildPath test*/samples -Resolve
$sampleDirs = $sampleSourceDir | ForEach-Object {
    if ($sampleDir = $_ | Split-Path -Parent | Split-Path -Parent | Join-Path -ChildPath 'samples*' -Resolve) {
        $relativeDir = $sampleDir | Resolve-Path -Relative | ForEach-Object { $_.Substring(1) -replace '\\', '/' }
        [pscustomobject]@{
            SourceDir = $_
            SampleDir = $sampleDir
            Uri = [Uri]::new("https://github.com/Azure/azure-sdk-for-net/tree/main$relativeDir")
        }
    }
}

foreach ($dir in $sampleDirs) {
@"
Source files in this directory are written as tests from which samples are extracted.
They are not intended to be viewed directly and help ensure our samples compile and work correctly.
See our [list of samples]($($dir.Uri)) for more explanation about how to use this client library.
"@ | Set-Content ($dir.SourceDir | Join-Path -ChildPath 'README.md') -Encoding utf8
}


Update to include Heroku deploy steps

@lee-40square Thanks a lot for this, I'm not a heavy user of Heroku so I really appreciate your help.

No problem. Every little bit helps. Is there anything more you need from me or is this good to go?

All good, thanks again! Merging :smiley:.


Add a "buckProjects" configuration to the OkBuckExtension

Allows optionally only listing a set of projects to convert to buck. There are cases when some projects should not be converted to buck.
Also creates a symlink 'plugin' to buildSrc to allow ./gradlew plugin:publishToMavenLocal for local testing of changes
Only sets properties from bintray.properties file if it exists

@kageiit Thanks for your contribution! But I don't see where to exclude sub modules out, and actually I don't understand why we need exclude some modules out, could you please give me more explanation?

Its more of a "include" instead of exclude.
A perfect example would be having multiple apps/modules in a repo some of which are not compatible with buck maybe due to R.id issue or they have to use "-" in their project name.
This will let anyone to atleast use buck for the apps/modules that are compatible and slowly convert the rest of them over to make them compatible with buck.
I will fix the build issue. its happening because of missing bintray.properties. maybe can just add an empty one

You convinced me.
I have another question(I'm not quite good at groovy), you set toBuck = project.subprojects in extension's constructor, wouldn't toBuck always be all sub project? Or when we set it in build.gradle, it will rewrite the default value?

I will probably rename toBuck to buckProjects when i fix this build. Its a better name
toBuck = project.subprojects is the default behavior. i.e it analyzes all subprojects the way you have it right now. But if user chooses to change that, they can set it to rewrite the default value

In addition, this change itself showcases the use case for the buckProjects option. The buildSrc (which is now mirrored via plugin) is a groovy project. But all groovy projects also apply the java plugin internally by default.
OkBuck will try to process groovy project and fail. This is another valid use case when in repositories, there can be multiple projects which have groovy/scala sub projects in addition to regular android sub projects and we need to specify which projects OkBuck needs to run on.

Great job! Thanks!


Fix background color issue when using autocompletion to fill out the waitlist form on the landing page

@whalewalker  thanks for spotting that, you have been assigned

@CeoFred, there are two possible solutions to address the issue mentioned above:

Disable the autocomplete feature for the form.
Develop a CSS file and apply browser-specific styling to it.

 Fix background color issue when using autocompletion to fill out the waitlist form on the landing page


sites returning http code 404 cant be checked (again)

If a site returns content, but as a 404, its not possible to add it to "to-be-checked" list.
Even if the sites returned content changes, it wont trigger a "change" as long the returncode is still 404 .
Also, there is no "preview" available.
It might be nice if all errorcodes would be handled the same, so even if there is a 500, if its different content returned, the "changed" would be triggered.
https://example.com/322321

Already solved :)
See this option under [request] in [edit]


Fix images on auto in download app example page

Related issues
Closes #2243
Description
Following the issue explained in #2243:
(1) I made some tests and it appears that the bug described in the issue only happens on a specific occasion: when your computer is set to 'Light mode' and you use the 'Auto color mode' on the page.
(2) If your your computer is set to 'Dark mode' and you use the 'Auto color mode' on the page the it works perfectly fine, probably because 'Dark mode' is enabled by default.
=> I made a fix in CSS for (1)
=> I also made an additional piece of code (see comment) for (2) as defensive CSS.
Motivation & Context
Prevent having both light and dark images in  'Auto color mode'.
Types of change

Bug fix (non-breaking which fixes an issue)

Live previews

https://deploy-preview-2261--boosted.netlify.app/docs/5.3/examples/download-app/

Checklist
Contribution

[x] I have read the contributing guidelines

Accessibility

(na) My change follows accessibility good practices; I have at least run axe

Design

(na) My change respects the design guidelines defined in Orange Design System
[x] My change is compatible with a responsive display

Development

[x] My change follows the developer guide
(na) I have added JavaScript unit tests to cover my changes
(na) I have added SCSS unit tests to cover my changes

Documentation

(na) My change introduces changes to the documentation and/or I have updated the documentation accordingly

Checklist (for Core Team only)

(na) My change introduces changes to the migration guide
(na) My new component is well displayed in Storybook
(na)My new component is compatible with RTL
[x] Manually run BrowserStack tests
[x] Manually test browser compatibility with BrowserStack (Chrome >= 60, Firefox >= 60 (+ ESR), Edge, Safari >= 12, iOS Safari, Chrome & Firefox on Android)
[ ] Code review
(na) Design review
(na) A11y review

After the merge

[ ] Manually launch Percy tests

Defensive CSS was removed as requested.
A PR has been opened on Bootstrap's side to update color-form-js.
The plan here is to keep the CSS fix presented in the current PR to allow the example page to work correctly.
->it the js fix is not ok for Bootsrap: keep our CSS fix.
->it the js fix is ok for Bootsrap: keep our CSS fix until the js fix is merged in Boosted repository.


Showing AcceptDialog with Exclusive flag in edited scene steals input events from editor, effectively freezing it (DisplayServer regression)

Godot version
v4.0.dev.calinou [97034939f]
System information
Windows 10
Issue description
In a scene with an AcceptDialog (and presumably any of it's derived types), making it visible with the Exclusive flag enabled stops the editor from taking input events. This is, of course, what the flag is supposed to do, but the dialog can't be dismissed after this happens either.
(Haven't bothered to check if the weird window corruption you see in the video has been reported, by the way.)
https://user-images.githubusercontent.com/56076033/145272219-79b8821a-a3aa-4e5a-a48f-73991924e8e0.mp4
Steps to reproduce

Make a scene with an AcceptDialog node.
Ensure its Exclusive flag is on.
Toggle its Visible flag.
Notice how the editor isn't frozen (UI still reacts to window size changes), but inputs do nothing.

The reproduction project already includes a scene with an AcceptDialog set up, you can open the scene and make the dialog visible to reach the same result.
Minimal reproduction project
AcceptDialog Freeze Repro.zip

Turns out this could be a duplicate of #51362. Not sure if worth keeping open.

Duplicate of https://github.com/godotengine/godot/issues/51362 (same cause).


Fix uses of MustParse* on non-constant input

What this PR does / why we need it:
This PR systematically replaces all uses of MustParse functions with non-constant input with their Parse equivalent, except in one case where the containing function does not have an error return. We add a warning comment there instead.
2 of these in particular may allow a user who is able to create a HostedCluster to cause the HostedCluster controller to panic-loop. Specifically the following 2 fields are not validated by the API server on admission, and are parsed with MustParse:

HostedCluster.Spec.Networking.APIServer.AdvertiseAddress
HostedCluster.Spec.Networking.ClusterNetwork.CIDR

Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

@mdbooth - would you also open an OCPBUG ticket for this and retitle this PR to include it please?

@mdbooth - would you also open an OCPBUG ticket for this and retitle this PR to include it please?

Sure. This was originally just going to be a drive-by, but I guess it's large enough for it now.

@mdbooth - would you also open an OCPBUG ticket for this and retitle this PR to include it please?

Sure. This was originally just going to be a drive-by, but I guess it's large enough for it now.

Thanks! Yeah unless its something really small, we require a Jira ticket ( 3. in https://hypershift-docs.netlify.app/contribute/#creating-a-pull-request)

@mdbooth Let me know when the Jira ticket was sent in order to continue with the process.

/jira refresh

/jira refresh

/approve

fwiw the IPNet net.IPNet MarshalJSON/UnmarshalJSON should prevent bad input from passing beyond API persistence. Still this is good, thanks!
/lgtm


Pin textclassifier dependencies

django-textclassifier doesn't have pinned deps
https://github.com/agjohnson/django-textclassifier/blob/v1.0/setup.py
An update in nltk broke the package
https://github.com/nltk/nltk/issues/2312

So, a fix was released just now https://pypi.org/project/nltk/#history.
But we should pin the dependencies from the other package

I'm fine pinning here for now 👍


Use Menu in shell

Don't use the PrintWriter
Manage printWriter locally
Rearrange Shell
Rename method

With #443 I did not notice that processors already has three or four other shells.  They have been updated to use the library classes added back then.  The semantics of the printWriter have changed a little and I hope that nothing depends on it.  It is now local to the CluShell which is the only one that was using it among these.


Update loadmess.c

hi, can you please describe here the issues regarding this version, so we can discuss it here?

I have no idea about how implement the defer method without breaking determinism. actually, the defer method is implemented using a clock function, so [loadmess @defer 1] is equal to [loadmess] --> [delay 0]. the delay time is set to 0 ms. using the delay time equal to 0 the loadmess defered is put at the scheduling but in the same logical time. this seems the most elegant solution. there are at least three strategies: leave things as are now, delete the defer method, think to other solutions. the solution that I was thinking about was to write a queue with a two-level priorities and to bind all the loadmess with this queue. however it opens several questions: e.g. you have asynchronous events. finally, I delete a pointer what was useless. this allows to remove the "hammer/file.h" dependence. I tried it successfully on OSX.

what do you think @derekxkwan ?


MakeMKV won't find the mainfeature

[x] I have checked the wiki
[x] I have searched for similar issues

Describe the bug
If MakeMKV is the source, move_files() still doesn't know which file is the main feature.
The Main file is moved inside the extra folder.
Still working on a way to find the main feature without having to sort via track length, but A.R.M may have to use that. I can't think of any other way to do it.
To Reproduce
Steps to reproduce the behavior:

Rip disc with MakeMKV settings
Wait for file move to finish
All files go into the 'extra' folder

Environment
[Debian 11]
[v2.6.0]
Log file
..... Add later.....

I've experienced this issue as well. As far as I've seen there's no logic to actually select the main feature from multiple files, it just gets moved into extras with everything else. Will take a deeper dive when I do the logic refactor.

I did add some simple logic, but I removed it as it caused more issues with the file move system.
More than likely, we will have to revert to using file sizes as the main feature. Like is already done with skiptranscode
https://github.com/1337-server/automatic-ripping-machine/blob/3326ec63f458a9a79ccb05c724befb958fd07b33/arm/ripper/main.py#L141

The biggest pain here is accounting for non-theatrical editions included on the disk. Blade Runner and LOTR/The Hobbit special edition disks are good examples of this. It's not a super hard problem, just an annoying edge case to handle.
I think sorting by title length in ascending order will work. If the next file is as long or longer than the theatrical release time, rename the next file with the movie name, put the current file in the extras folder, then break out of the loop. Otherwise, put the current file in the extras folder and continue. If there's no next file then error out.
This should work, as I've never heard of an instance where a director's cut was less than the length of the theatrical cut.

@1337-server and I have an ongoing convo about testing in discussion #148.

Pushed more changes for testing, currently i have managed...
For dvds it respects the mainfeature even if its already halfway through processing - it deals with it in post. But even triggering this to happen is hard as handbrake should be dealing with dvd's
For bluray there is no way to stop it copying the files when the disc gets decrypted, but the other versions will be delete when A.R.M starts post processing.

Awesome! Again, sorry for the lack of a log.
I think that even if we can manage the auto delete of duplicate files, that
saves a lot of time having to fix that. Rock on, good work! Happy to start
testing this as soon as I can get things updated. I'll backup my configs
this time. ;)
On Mon, Apr 18, 2022, 21:54 1337-server @.***> wrote:

Pushed more changes for testing, currently i have managed...
For dvds it respects the mainfeature even if its already halfway through
processing - it deals with it in post. But even triggering this to happen
is hard as handbrake should be dealing with dvd's
For bluray there is no way to stop it copying the files when the disc gets
decrypted, but the other versions will be delete when A.R.M starts post
processing.
—
Reply to this email directly, view it on GitHub
https://github.com/1337-server/automatic-ripping-machine/issues/143#issuecomment-1101941677,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFJ3TTPICHOHI2P6LXGZ66LVFYN6RANCNFSM5RVXLWUQ
.
You are receiving this because you commented.Message ID:
@.***>

Thanks!
That would be great, I know the solution isn't ideal. I am looking into a way of only ripping the “main” track with Blu-rays, but the only way currently to manage it from MakeMKV that I'm aware of is length. So the longest file = mainfeature, but I'm not sure if this is always true.
I need to dig more into the MakeMKV forums when I have time, and see if they have a feature already built in for it that's hidden away somewhere.


Fix spacing on wishlist item partials

The Issue
The spacing gets wonky after the staff message field when the staff message is missing. When the staff message is there, it gets weird after the price field.

Reproducing the issue
Both of these can be seen at https://project-playtime-staging.herokuapp.com/. You can reproduce locally by adding items with and without a long staff message.
Task
In short, make this look reasonable. The staff message, the number/priority/price, and the management tools should all be on separate lines. It might make sense to hide the "Staff Message" label when the staff message is missing; I'll leave that to your artistic discretion.
The partial can be found at app/views/wishlist_items/_wishlist_item.html.erb.

Hey @leesharma - I'd be happy to make the edits you've suggested!

@alanunruh Awesome! 👍

Has this been resolved? If not, I'll be more than happy to work on it.

Hey @jtruong2 - yes I’m still working on this. I’ve had some things pop up over the past week (sorry). I’ll wrap up what I’ve worked on and submit a solution shortly.

@leesharma  - So sorry for the delay! I've becoming increasingly busy and thus have not been able to complete this pull request. I'll withdraw as I know I'm impeding process.
@jtruong2 - Please feel free to take this.
I'll keep my eyes on this project if time permits as I'd love to contribute. All the best!!

@leesharma I have a branch with a fix ready for this. Just need account permissions to push the branch and make a PR.


Proper alignment in name and price of product

Feature Description:

Add proper margin and padding between name and price of product in every product card.

Add ScreenShots:

Record:

I have read the Contributing Guidelines.
I'm a GSSOC'24 contributor.
I have starred the repository.

I would like to work on this issue. Please assign me this issue under GSSoC' 24 to contribute to this project


Logger does not output its name?

I was expecting something like:
myapp - this is a log

when I did:
var log = require('loglevel');
var logger = log.getLogger('myapp');
logger.log('this is a log');

Basically, my application is supposed to work in both browser and Node JS environment.
While your library is perfect in browser environment, I need the file name or the logger name to be output for the sake of the Node JS environment too, can this be done?

Yep, that's by design. Sadly, as soon as you start doing anything dynamic (like changing log output) at the moment when the log method is called, you need to add a wrapper layer around the built-in console methods, and if you do that you don't get perfect stack traces any more. Every message appears to get from your logging wrapper instead, not directly from the log.error() line in your code.
You can do this anyway if you like though, it's just not bundled automatically because of that issue. There's a loglevel-message-prefix plugin you can add that can do things like this, see https://github.com/NatLibFi/loglevel-message-prefix. Note that I'm not the maintainer of that, if you've got questions or problems with using that you'll have to ask over there.

yeah, the perfect stacktrace is something I'm always after, sad that we can't have everything, perfect stacktrace and filename/ logger name.
I actually tried to write a wrapper around console.log myself so I understand what you're saying :smile:


beanstalk_worker.rake - Rails Environment Inclusion

The rails environment should not be required directly in the beanstalk_worker.rake file.
beanstalk_worker.rake, line 8:
require "#{Rails.root}/config/environment"

If done so, the rails environment will be loaded each time we use a rake task. Even if its not necessary.
And you need to remove this line if you are deploying an application for the first time (unless the database is already present).
The same task functionality could possibly be achieved by calling rails built-in environment rake task on top of the beanstalk_worker task.
beanstalk_worker.rake, line 16:
task :beanstalk_worker => :environment do

The rake task is deprecated since 0.5.10 and will be removed in the next release


Allow use of DigitalOcean URN

Pulumi was stopping the DigitalOcean being set because it set it's
own "urn" to that field. This commit changes "urn" in the DigitalOcean
schema to be "doUrn" so that we can use that DigitalOcean URN
Fixes: #82

@pgavlin / @justinvp this has been updated now


Parse path better allow trailing /

https://lunarpunk-festival.npub.pro/author/npub1q9mfvl56uje98qklyk32q3cekp4ex8mljfx0zd2qkxcqv8n0gu0qk73vv7
and
https://lunarpunk-festival.npub.pro/author/npub1q9mfvl56uje98qklyk32q3cekp4ex8mljfx0zd2qkxcqv8n0gu0qk73vv7/
should both work fine.

Done


Automated cherry pick of #9904: [wip]Notification Subscription

Cherry pick of #9904 on release/3.7.
#9904: [wip]Notification Subscription

Codecov Report

Merging #9906 (8fded8c) into release/3.7 (0ff3997) will increase coverage by 2.08%.
The diff coverage is 7.84%.

@@               Coverage Diff               @@
##           release/3.7   #9906       +/-   ##
===============================================
+ Coverage         5.98%   8.07%    +2.08%
===============================================
  Files              848     107      -741
  Lines           131795   12993   -118802
===============================================
- Hits              7887    1049     -6838
+ Misses          123206   11824   -111382
+ Partials           702     120      -582

Flag
Coverage Δ

aFlag
8.07% <7.84%> (+2.08%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/apigateway/handler/auth.go
0.00% <0.00%> (ø)

pkg/apigateway/handler/auth_totp.go
0.00% <0.00%> (ø)

pkg/apigateway/handler/idp.go
1.84% <0.00%> (ø)

pkg/apigateway/handler/misc.go
0.00% <0.00%> (ø)

pkg/apigateway/handler/resource.go
0.00% <0.00%> (ø)

pkg/hostman/diskutils/nbd/driver.go
0.74% <0.00%> (-0.01%)
:arrow_down:

pkg/hostman/diskutils/nbd/lvmutils.go
4.70% <0.00%> (-0.24%)
:arrow_down:

pkg/monitor/alerting/eval_context.go
34.25% <0.00%> (-2.75%)
:arrow_down:

pkg/util/bitmap/bitmap.go
38.23% <100.00%> (+3.86%)
:arrow_up:

pkg/hostman/system_service/lxcfs.go

... and 694 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #9906 (8fded8c) into release/3.7 (0ff3997) will increase coverage by 2.08%.
The diff coverage is 7.84%.

@@               Coverage Diff               @@
##           release/3.7   #9906       +/-   ##
===============================================
+ Coverage         5.98%   8.07%    +2.08%
===============================================
  Files              848     107      -741
  Lines           131795   12993   -118802
===============================================
- Hits              7887    1049     -6838
+ Misses          123206   11824   -111382
+ Partials           702     120      -582

Flag
Coverage Δ

aFlag
8.07% <7.84%> (+2.08%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/apigateway/handler/auth.go
0.00% <0.00%> (ø)

pkg/apigateway/handler/auth_totp.go
0.00% <0.00%> (ø)

pkg/apigateway/handler/idp.go
1.84% <0.00%> (ø)

pkg/apigateway/handler/misc.go
0.00% <0.00%> (ø)

pkg/apigateway/handler/resource.go
0.00% <0.00%> (ø)

pkg/hostman/diskutils/nbd/driver.go
0.74% <0.00%> (-0.01%)
:arrow_down:

pkg/hostman/diskutils/nbd/lvmutils.go
4.70% <0.00%> (-0.24%)
:arrow_down:

pkg/monitor/alerting/eval_context.go
34.25% <0.00%> (-2.75%)
:arrow_down:

pkg/util/bitmap/bitmap.go
38.23% <100.00%> (+3.86%)
:arrow_up:

pkg/hostman/system_service/lxcfs.go

... and 694 more

Continue to review full report at Codecov.

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


VPC: support fck-nat

I like using SST for my projects. However, for my personal projects, I don't need NAT in my VPC and I don't have the budget for it. I would like to create a VPC without adding any NAT gateways.

yeah this is a big one, we need to rethink this. i think we might need to have nat: false option and deploy all your stuff into a public subnet with ipv4 assigned

after exploring how we can do this here is what we ran intoif we let you create a VPC with no NAT - there basically is no way to put a lambda function in there unless the lambda function does not need internet accessso unfortunately the nat is necessary - that said you can set az: 1 so you only have a single NAT. if we incorporated https://fck-nat.dev/stable/ which is 10x+ cheaper would that be enough to fit in your budget?

In a similar situation, but with fargate.  My fargate costs would be pretty low, but managed nat was going to be at least 2x my container cost.
fck-nat seems like an excellent alternative.
Is there a way for us to spin up our own VPC using Pulumi and having resources provision into that?  Having the flexibility to do something like that would be nice, even if we have to "break out" of SST to accomplish it.

we updated sst.aws.Vpc with the initial work for this. It no longer creates a NAT by defaultwe haven't done this yet but we're going to allow options for nat: true (fck-nat) and nat: "managed" normal aws nat

@thdxr this is what i came up with so far and it works perfectly. there is one caveat where there is a circular dependency between the network interfaces and the public subnets and the public subnets can't get deleted on sst remove because it doesn't delete the network interfaces first.
so you need to manually delete the NI's but otherwise it works.
/// <reference path="../.sst/platform/config.d.ts" />

export function setupVPC(name: string) {
  // Use existing VPC for non-production stages
  if ($app.stage !== 'production') return sst.aws.Vpc.get(name, 'XXXXX')

  // Create a new VPC for production
  const vpc = new sst.aws.Vpc(name, {
    transform: {
      vpc: (vpc) => {
        vpc.enableDnsHostnames = true
        vpc.enableDnsSupport = true
      },
    },
  })

  // Create a security group for fck-nat instances
  const fckNatSg = new aws.ec2.SecurityGroup(`${name}FckNatSecurityGroup`, {
    vpcId: vpc.id,
    egress: [{ fromPort: 0, toPort: 0, protocol: '-1', cidrBlocks: ['<IP_ADDRESS>/0'] }],
    ingress: [{
      fromPort: 0,
      toPort: 0,
      protocol: '-1',
      cidrBlocks: ['<IP_ADDRESS>/0', vpc.nodes.vpc.cidrBlock],
    }],
  })

  // Create an IAM role for fck-nat instances
  const fckNatRole = new aws.iam.Role(`${name}FckNatRole`, {
    assumeRolePolicy: JSON.stringify({
      Version: '2012-10-17',
      Statement: [{
        Action: 'sts:AssumeRole',
        Effect: 'Allow',
        Principal: {
          Service: 'ec2.amazonaws.com',
        },
      }],
    }),
  })

  // Attach SSM policy to the role
  new aws.iam.RolePolicyAttachment(`${name}FckNatRolePolicyAttachment`, {
    policyArn: 'arn:aws:iam::aws:policy/service-role/AmazonEC2RoleforSSM',
    role: fckNatRole.name,
  })

  // Add inline policy for EC2 permissions
  new aws.iam.RolePolicy(`${name}FckNatPolicy`, {
    role: fckNatRole.id,
    policy: JSON.stringify({
      Version: '2012-10-17',
      Statement: [{
        Effect: 'Allow',
        Action: [
          'ec2:AttachNetworkInterface',
          'ec2:ModifyNetworkInterfaceAttribute',
        ],
        Resource: '*',
      }],
    }),
  })

  // Create an instance profile
  const instanceProfile = new aws.iam.InstanceProfile(`${name}FckNatInstanceProfile`, {
    role: fckNatRole.name,
  })

  // Set up fck-nat instances and routing
  $util.all([
    $util.output(vpc.nodes.publicSubnets),
    $util.output(vpc.nodes.privateSubnets),
    $util.output(vpc.nodes.privateRouteTables).apply((routeTables) =>
      routeTables.map((rt) => rt.id)
    ),
  ]).apply(([publicSubnets, privateSubnets, privateRouteTableIds]) => {
    // Create network interfaces and autoscaling groups for each public subnet
    publicSubnets.forEach((publicSubnet, index) => {
      const networkInterface = new aws.ec2.NetworkInterface(
        `${name}-nat-eni-${index}`,
        {
          subnetId: publicSubnet.id,
          sourceDestCheck: false,
          securityGroups: [fckNatSg.id],
        },
      )

      // Create launch template for fck-nat instances
      const launchTemplate = new aws.ec2.LaunchTemplate(
        `${name}FckNatLaunchTemplate-${index}`,
        {
          instanceType: 't4g.nano',
          imageId: 'ami-075a0093cd9926d44', // fck-nat AMI for us-east-1
          iamInstanceProfile: {
            name: instanceProfile.name
          },
          networkInterfaces: [{
            associatePublicIpAddress: 'true',
            deleteOnTermination: 'true',
            deviceIndex: 0,
            securityGroups: [fckNatSg.id],
          }],
          userData: networkInterface.id.apply(eniId =>
            Buffer.from(`#!/bin/bash
              echo "eni_id=${eniId}" >> /etc/fck-nat.conf
              service fck-nat restart
              `).toString('base64')
          ),
          updateDefaultVersion: true,
        },
      )

      // Create autoscaling group for fck-nat instances
      new aws.autoscaling.Group(
        `${name}FckNatASG-${index}`,
        {
          vpcZoneIdentifiers: [publicSubnet.id],
          launchTemplate: {
            id: launchTemplate.id,
            version: '$Latest',
          },
          minSize: 1,
          maxSize: 1,
          desiredCapacity: 1,
          instanceRefresh: {
            strategy: 'Rolling',
            preferences: {
              minHealthyPercentage: 100,
            },
          },
          tags: [
            {
              key: 'sst:stage',
              value: $app.stage,
              propagateAtLaunch: true,
            },
            {
              key: 'sst:app',
              value: $app.name,
              propagateAtLaunch: true,
            },
          ],
        },
      )

      // Create routes for private subnets in the same AZ
      privateSubnets.forEach((privateSubnet, privateIndex) => {
        $util.all([publicSubnet.availabilityZone, privateSubnet.availabilityZone])
          .apply(([publicAZ, privateAZ]) => {
            if (publicAZ === privateAZ) {
              const routeTableId = privateRouteTableIds[privateIndex]
              if (routeTableId) {
                new aws.ec2.Route(
                  `${name}-nat-route-${index}-${privateIndex}`,
                  {
                    routeTableId: routeTableId,
                    destinationCidrBlock: '<IP_ADDRESS>/0',
                    networkInterfaceId: networkInterface.id,
                  },
                )
              } else {
                privateSubnet.id.apply(id => {
                  console.warn(`Unable to create route for subnet ${id}. RouteTable not found.`)
                })
              }
            }
          })
      })
    })
  })

  return vpc
}

Linking to @mikexavier's implementation https://github.com/sst/ion/issues/571#issuecomment-2364027141

Releasing v3.1.36. Set nat: "ec2" to create enable NAT instanced using fck-nat AMIs.

@fwang shouldnt it use autoscaling group like i have above? with just ec2 instance if it becomes unhealthy it won't recreate


Could I cancel the request in an easy way like RxLifeCycle instead of cache the request in a collection?

Could I cancel the request in an easy way like RxLifeCycle instead of cache the request in a collection?

This is a general coroutine usage question and not specific to this library. Consider asking on StackOverflow or the Kotlin Slack coroutine channel.


issues when testing wikitext

Hi, I'm using the lighteval to test several benchmarks, but I met issues when testing the following 2 benchmarks:

lighteval|wikitext|0|0
helm|wikitext:103|0|0

When test wikitext, I got error
Traceback (most recent call last):   File "/group/ossdphi_algo_scratch_04/fuweiy/LLM/eval_v100/lighteval/run_evals_accelerate.py", line 97, in <module>     main(args)   File "/group/ossdphi_algo_scratch_04/fuweiy/LLM/eval_v100/lighteval/src/lighteval/logging/hierarchical_logger.py", line 144, in wrapper     return fn(*args, **kwargs)   File "/group/ossdphi_algo_scratch_04/fuweiy/LLM/eval_v100/lighteval/src/lighteval/main_accelerate.py", line 71, in main     requests, docs = create_requests_from_tasks(   File "/group/ossdphi_algo_scratch_04/fuweiy/LLM/eval_v100/lighteval/src/lighteval/tasks/lighteval_task.py", line 615, in create_requests_from_tasks     reqs = task.construct_requests(doc, ctx, doc_id_seed, cur_task_name)   File "/group/ossdphi_algo_scratch_04/fuweiy/LLM/eval_v100/lighteval/src/lighteval/tasks/lighteval_task.py", line 380, in construct_requests     LoglikelihoodRollingRequest(task_name=current_task_name, doc_id=document_id_seed, ctx=context)#LoglikelihoodRollingRequest(task_name=current_task_name, example_index=document_id_seed, request_index=0, context=context)  TypeError: LoglikelihoodRollingRequest.__init__() got an unexpected keyword argument 'doc_id'
I modified https://github.com/huggingface/lighteval/blob/main/src/lighteval/tasks/lighteval_task.py#L380 to LoglikelihoodRollingRequest(task_name=current_task_name, example_index=document_id_seed, request_index=0, context=context) ends up with Nan perplexity.
When run wikitext:103, I got error like
Traceback (most recent call last):   File "/group/ossdphi_algo_scratch_04/fuweiy/LLM/eval_v100/lighteval/run_evals_accelerate.py", line 97, in <module>     main(args)   File "/group/ossdphi_algo_scratch_04/fuweiy/LLM/eval_v100/lighteval/src/lighteval/logging/hierarchical_logger.py", line 144, in wrapper     return fn(*args, **kwargs)   File "/group/ossdphi_algo_scratch_04/fuweiy/LLM/eval_v100/lighteval/src/lighteval/main_accelerate.py", line 71, in main     requests, docs = create_requests_from_tasks(   File "/group/ossdphi_algo_scratch_04/fuweiy/LLM/eval_v100/lighteval/src/lighteval/tasks/lighteval_task.py", line 563, in create_requests_from_tasks     task_dict_items = [(name, task) for name, task in task_dict.items() if len(task.eval_docs()) > 0]   File "/group/ossdphi_algo_scratch_04/fuweiy/LLM/eval_v100/lighteval/src/lighteval/tasks/lighteval_task.py", line 563, in <listcomp>     task_dict_items = [(name, task) for name, task in task_dict.items() if len(task.eval_docs()) > 0]   File "/group/ossdphi_algo_scratch_04/fuweiy/LLM/eval_v100/lighteval/src/lighteval/tasks/lighteval_task.py", line 296, in eval_docs     self._docs = self._get_docs_from_split(self.evaluation_split)   File "/group/ossdphi_algo_scratch_04/fuweiy/LLM/eval_v100/lighteval/src/lighteval/tasks/lighteval_task.py", line 266, in _get_docs_from_split     docs.extend(as_list(self.formatter(item, self.name)))   File "/group/ossdphi_algo_scratch_04/fuweiy/LLM/eval_v100/lighteval/src/lighteval/tasks/tasks_prompt_formatting.py", line 2068, in wikitext_103     return Doc(task_name=task_name, query=line["text"]) TypeError: Doc.__init__() missing 2 required positional arguments: 'choices' and 'gold_index'
Commands I used are
python run_evals_accelerate.py --model_args="pretrained=gpt2" --tasks "lighteval|wikitext|0|0" --override_batch_size 1 --save_details --output_dir="tmp/" and python run_evals_accelerate.py --model_args="pretrained=gpt2" --tasks "helm|wikitext:103|0|0" --override_batch_size 1 --save_details --output_dir="tmp/"
Any advice on the issues? Thanks.

I'm investigating - it's likely that we missed changing the perplexity evals in our last refactor (before the release), so I'll add a patch for that - thanks a lot for the report!

Hi @clefourrier , I saw the PR and I tried the new code, however, I'm confused about the test results, for example, for GPT2, the result is 19.1188, which is not match with the result in GPT2 paper (29.41)

Task
Version
Metric
Value

Stderr

lighteval:wikitext:0
0
word_perplexity
19.1188
±
0.2441

byte_perplexity
1.7364
±
0.0034

bits_per_byte
0.7961
±
0.0028

and I also tested google/gemma-2b, the results are as follows, it's unreasonable that the perplexity is so bad.

Task
Version
Metric
Value

Stderr

lighteval:wikitext:0
0
word_perplexity
574.7692
±
17.9129

byte_perplexity
3.2812
±
0.0145

bits_per_byte
1.7142
±
0.0064

Did you have the corresponding test results? Thanks.

Hi!
It's very hard to reproduce this paper, as they don't describe precisely which subset of Wikitext they use (the raw form? the filtered form?) nor do they say (unless I missed it) if the perplexity they report is per word/byte or just average

However, I can confirm the mismatch with gemma2, investigating

I added more choices to make more explicit what each call is doing.
The Helm and Harness tasks use an aggregated version of the text at the document level, with the harness applying a normalisation preprocessing. The lighteval task uses the document as split in the dataset, so looks at the paragraph level rather than the document level, with no preprocessing.

Hi @clefourrier Thanks for your reply, I don't have other recommend models because seems that recent models didn't report wikitext results. Could you please help with the Gemma model? The results of gemma on wikitext is unnormal, thank you.

Thanks a lot for your message! It seems to come from situations when the perplexity is supposed to be computed on something longer than the context length, I'm investigating.

Hi @yangfuwei ,
Yes, it was.
Interesting bug on gemma-7b, I'll investigate again to see if I can reproduce, thanks!


Dockerize WSIMOD

This PR dockerize the execution of WSIMOD and adds a docker-compose file to facilitate local testing and deployment.
To be reviewed and merged after #38 , as it builds on top of it.
Closes #25

To test the code:
Without Docker
Just install WSIMOD and run wsimod docs/demo/examples/quickstart_demo.yaml. There should be a progress bar and a few files generated in results/quickstart_results.
With Docker
This is meant to run in DAFNI, so the file structure needs to be a little specific.

Create a folder to host your input data wherever you want.
Create a folder to host you output data wherever you want.
Copy docs/demo/data/processed/timeseries_data.csv to the inputs folder.
Copy docs/demo/examples/quickstart_demo.yaml to the inputs folder.
Create a .env file in the root directory of the project for docker-compose to read and put the following environment variables inside:

WSIMOD_SETTINGS={name_of_yaml_file_with_extension}
WSIMOD_INPUTS={root_directory_for_the_inputs}
WSIMOD_OUTPUTS={root_directory_for_the_outputs}

For reference, this is what I have, with the inputs and outputs in the same folder, the the yaml file called settings_new.yaml:
WSIMOD_SETTINGS=settings_new.yaml
WSIMOD_INPUTS=./scratch
WSIMOD_OUTPUTS=./scratch

Run docker-compose up

The output should be conceptually similar to the previous case, getting the same output files in the output folder.
@AdrianDAlessandro , @TinyMarsh , @tsmbland , @tg2414 , in case you want to try this.

Keeping aside the WSIMOD code, there're no files in the repo needed for DAFNI. The files I copy are just taken from the documentation/tutorials, using them as an example of how to run the tool. Neither the Dockerfile nor the docker-compose.yaml file need those files specifically, just some input files to run the model with as an example. Therefore, calling a settings file settings.yaml, settings_new.yaml or something_different.yaml is irrelevant as long as that name is passed to the container. In the instructions, that file is quickstart_demo.yaml. I've updated the expected contents of the .env file to reflect this.
Those input files (the settings as well as any required data file) will need to be provided by the user in DAFNI using the DAFNI web interface, so nothing for us to worry about.
About the error with numpy, that's very odd because I'm using exactly that version - pinned in the requirements.txt file -, with that particular base image, and it works without any problem. No idea where your problem might be coming from. What architecture does a Docker container see? It might be that for Python:3.11.5-alpine numpy does not exist for ARM processors?
On your last comment, you need to include explicitly the environment file to use if you need the environment variables in the docker-image.yaml file itself, which is the case. Without that section, docker-compose fails saying it cannot find "WSIMOD_INPUTS" and "WSIMOD_OUTPUTS"


Provide return link for integration

Similar to Studio, it would be nice if a system integrating the Editor could provide a return link to the editor via URL parameter which would then be shown to users when they are finished editing and when they would currently be stuck in a dead end (e.g. after starting the processing):

Which systems are allowed should be a configuration option in the editor configuration file so that you cannot generate an editor link which at the end will lead you to a malicious site. But this can be a very simple list of URL prefixes like ["https://opencast.org/", "https://university.edu/"].

I am not really sure whether the callback url should be an option in the config file. I think this should not be a problem, since URL parameters have a higher priority and the option in the file could be seen as a default value.
On the other hand, the list of allowed domains/prefixes should be configurable only in the file. Otherwise, this mechanism would not provide any protection.

Preview:

This is also an important feature for our institution, as users sometimes need to edit several videos in a row and want to go back to where they started. Or they may simply want to pick up where they left off before they started the editor.

I think Back to LMS is too specific as we don't know if the return link refers to a LMS. I would suggest to name it more generic, e.g. Back to previous system.

I agree with that. It would be even better to make the button name configurable. You could specify a name in the config file for each permitted URL or prefix. This name then would be displayed as button text:
"Tobira": "https://tobira.opencast.org" --> Button text = "Back to Tobira"
"ILIAS": "https://ilias.university.edu" --> "Back to ILIAS"

@Arnei, I think this can be closed since #1100 was merged.


[Feature Request] Provide Rust interop for cross platform msix packaging library

This is similar to Issue #366 = Provide C# interop for cross platform msix packaging library but for Rust.
If packaging had a WinRT API it could be projected to Rust via Rust/WinRT
The Window packaging API is COM
The cross-platform packaging API is C++
Neither is available to Rust developers in a natural way
Ideally the cross-platform API is given a WinRT form, and then it can be projected to Rust via Rust/WinRT, and other future languages as new projections are available

I would be interested if it happens. @DrusTheAxe my understanding is that the MSIX Core SDK FFI is relatively small, so a realistic approach might be to just write the bindings manually in an msix-sys crate, then make an msix-sdk crate with safe Rust API wrappers on top of the unsafe APIs.
Another thing that would be awesome to try is a specialized build of the MSIX Core SDK where OpenSSL is replaced either by Rust's native-tls, or rustls. If there is a recurrent theme in cross-platform projects, it is how painful it is to rely on OpenSSL. If I could stay away from it entirely as a hard dependency I'd be very happy!


JH7110 fixes

cc @pfarwsi  @kanakshilledar

@orangecms might need a rebase

I've omitted the DTIM memory node for now. We will get back to this in another PR. :)

Could you please check the title and the body of the "fix memory definitions" commit? Looks a little weird to me

Could you please check the title and the body of the "fix memory definitions" commit? Looks a little weird to me

What do you suggest changing it into?

I've changed the message title and added a reference to the memory map / manual, any feedback @ycsin ?

I've changed the message title and added a reference to the memory map / manual, any feedback @ycsin ?

The reference is nice to have, thanks for that
{board,dts}: JH7110: fix memory definitions looks unconventional, I'd do dts: jh7110: fix memory definitions instead
soc/starfive/jh71xx/Kconfig: add 64BIT -> soc: starfive: jh71xx: select 64BIT for SOC_JH7110 - we usually use :  instead of /, except for title that starts with subsys

I've changed the message title and added a reference to the memory map / manual, any feedback @ycsin ?

The reference is nice to have, thanks for that
{board,dts}: JH7110: fix memory definitions looks unconventional, I'd do dts: jh7110: fix memory definitions instead
soc/starfive/jh71xx/Kconfig: add 64BIT -> soc: starfive: jh71xx: select 64BIT for SOC_JH7110 - we usually use :  instead of /, except for title that starts with subsys

Okay, gotcha, will do that :)

done

LGTM @ycsin

I am fine with the rest of the changes. For passing the compliance can you please update the commit message to not have more than 75 characters in one line (here 76). For the dts: jh7110: fix memory definitions commit

Oh gosh... I just removed the commas. Pesky picky rules. xD


How to inject cookie/id within branch link before transported to app store from webpage?

Ok, here's the flow...
I have a cookie/id already created for the user, upon
first open of the webpage. It's persisted across visits.
There are a bunch of branch links all over the page
pointing to various different points within various
different mobile apps.
there's no registration on website.
I want to add/inject that cookie/id to all branch links on page
so that when user clicks link taking her to app store
and installs app or already has app and re-opens it,
their web activity can be joined with their app activity
within the analytics provider.
any guidance on this use case?
thanks.

@sirvon Thanks for the note.
There are 2 options here:

Use the web SDK to generate the links on page load with the dynamic content . This is the call to do it https://github.com/BranchMetrics/Web-SDK#createlink. You'll also need to init before making that call.
Dynamically structure a link using string formatting https://github.com/BranchMetrics/Branch-Public-API#structuring-a-dynamic-deeplink This way, you don't actually create the link until the user clicks it, but you tell us all the parameters you want embedded in it using the base64 encoded dictionary.

I hope this helps!

dynamically create the link.
niceee
thanks, it helps greatly


ovn_workload: Log creation of load balancers.

ocp-120-density-heavy scenario creates 5000 load balancers
during the "startup" phase.  It takes 3-4 hours and there
are no logs printed during that time.
Fix that by actually logging creation of load balancers.
Signed-off-by: Ilya Maximets<EMAIL_ADDRESS>

Looks good to me, thanks!


Update main.ini

fix bug: The unescaped single quote cause an eval exception when press 'Create Order' Button in english locale.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/PT-8491.
Please use this issue to track the state of your pull request.

hey @hoist1999
thanks for your contribution :+1:
will be merged soon and part of the next release


on ubuntu 20.04 python is not available

Hi there,
on ubuntu 20.4

$ python
is not available. Fixed it with this...

#!/usr/bin/env bash

action=$1
flag=$2
python=/usr/bin/python3 # python is no longer awailable on Ubuntu 20.04

shift

[ "$action" = "usage" ] && {
  echo "  Visualize tasks by due date:"
  echo "    due"
  echo "      default behaviour generates a list tasks due today or overdue"
  echo "      Optional argument (integer n) also shows tasks due in next n days."
  echo ""
  exit
}

[ "$action" = "due" ] && {
     $python $(dirname $0)/due.py "$TODO_FILE" $flag
}

I don not know if this is clever or not, but it works works for me,

@MAWSpitau, maybe you can fix this by installing python-is-python3.

Thanks for the tipp. Seems like its working!

I've just removed support for Python2 as it is now no longer supported, so you shouldn't need a workaround with the latest commit. Hope that helps!


Cash Object & Order

Great Work!
Cash Objects :
It's great you are able to capture the total value of the products paid for.
However I advice that you will need to be able to view Transactions, This would include the timestamp and items sold, total cost.
Order :
The current order shows the Product Name only, will be great to include the product Price, just so the customer knows what they paid for.
This would link with the new Transactions class, where you are able in future to link to a printer for receipt.

I'm closing this issue and referencing this to #21 which is baically tracking the same functionality, just without having to create yet another class that essentially isn't necessary and mostly confusing.
Thanks for the appreciation stil!!


sys.gettrace() is not being used anymore

Hi there,
While going through the course, I have noticed that the debugging mode in Pycharm doesn't activate the debugging mode in Flask anymore. However, if I replace the code below
https://github.com/talkpython/htmx-python-course/blob/d9cc19e8d898787cbbfa4b820339708a8350f923/code/ch4_app/ch4_final_video_collector/app.py#L50
with
    being_debugged = sys.monitoring.get_tool(sys.monitoring.DEBUGGER_ID) is not None

It now works again.
If maintainers approve of this change I will prepare a PR :) I can also keep it backward compatible.
What do you think?

Hey, I appreciate you looking into this. I'm running the latest PyCharm available, 2023.3.4, and it works as is.

And for printing it out when running directly (because there are no break points without the debugger):
being_debugged = sys.gettrace() is not None
print(f'{being_debugged=}')

Output:
being_debugged=False

What am I missing here?

Probably the Python version then.
After looking into it, it seems that this [1] issue is present in the newest Pycharm versions when using with Python 3.12 due to new monitoring API [2]. I just confirmed that sys.gettrace() works fine in 3.11.
[1] https://stackoverflow.com/questions/77624964/check-if-program-runs-in-debug-mode-in-pycharm-2023
[2] https://blog.jetbrains.com/pycharm/2024/01/new-low-impact-monitoring-api-in-python-3-12/

I see what I was missing! On Python 3.11 it works fine, but 3.12 it doesn't. I'll get it fixed across the course code samples, thanks!

Thanks again @ar-qun Should be fixed now.


Use HOMEBREW_PREFIX instead of hard-coded path

Context: on my laptop, $HOMEBREW_PREFIX  is set to /opt/homebrew. I guess, on others, it is set /usr/local


Shouldn't HTTP(S)_EXPOSE use ddev router ports?

I'm was trying to run a ddev project using ddev-varnish on another router_http_port/router_https_port than the default via the project's config.yaml and noticed that the varnish container hardcodes the 80/443 ports. After changing HTTPS_EXPOSE and HTTP_EXPOSE in docker-compose.varnish.yaml's environment to:
  - HTTPS_EXPOSE=${DDEV_ROUTER_HTTPS_PORT}:80,8026:8025
  - HTTP_EXPOSE=${DDEV_ROUTER_HTTP_PORT}:80,8025:8025

and restarting, varnish started working for this project.

It would be reasonable for this to automatically derive the dynamic ports being used by DDEV, but I'm not sure how ambitious we want to be here. Since the HTTP_EXPOSE stuff can change and the router_http_port can change based on DDEV config, it would require something actively to happen with the varnish docker-compose.varnish.yaml here. Not sure how easy that would be to do. Contributions welcome.

Updated title to reflect what I think you were saying, let me know if I got it right.


split up tests

This is a re-do of #1824 for post 0.13.
To reiterate, the goal here is to roughly group the tests by the functionality they are testing and separate them into a large number of files which should be possible to run entirely independently.  Again the way I have grouped these tests may not always make a lot of sense, it seems likely they'll get shuffled around more in the future (or before this gets merged) but this seems like a decent start.
There is still a major issue that I've so far been unable to resolve: a setfault in arrays.jl, which I've seen before when trying to split up the tests.  It sure looks to me like the fact that it segfaults is an enzyme bug, as I don't see any reason it should do that, especially merely as a result of being in a different file.
As of writing, everything else in here passes as expected for me (x86 linux).

open a mwe issue for each of these?

#1869 and #1870
(the former is clearly a real bug, the latter is just confusing error messages and probably not a bug)

I think we need to fix the segfault before this goes in.
Unfortunately I can't reproduce locally. Can you setup a tmate instance with it on it or something, and send me via slack

Ok.  I don't think I've ever let the segfaulting test run in CI/CD, let's see what that does first, I've just uncommented it.

Frankly that could take forever, there is quite a lot of stuff to get split up.  I'd like to get it in, but if you think it's going to be that difficult, I'll leave it to you (if this is indeed something you feel is worth doing).  Even if I did this piecemeal I wouldn't know when to do what.

maybe do like 3-4 in a first pass (and move out utils)?

Could we maybe just try to keep track of which tests are added between the PR going up and it being merged?  Would it really be that hard?

I mean sure if you want, but also bear in mind that moving everything together means it'll take longer to review.....which means another test PR might get in before then....necessitating another review...


update readme with steps to create the executable

Vs code settings too???

From: evam3illinois @.>
Sent: Wednesday, October 19, 2022 3:18:58 PM
To: grainger-illinois/CTCast @.>
Cc: Subscribed @.***>
Subject: Re: [grainger-illinois/CTCast] update readme with steps to create the executable (PR #45)
Merged #45https://urldefense.com/v3/__https://github.com/grainger-illinois/CTCast/pull/45__;!!DZ3fjg!_nS04Y8JjciEyn3atfNOnDgxa2Pem2x_u5CTpDvoSmNBUNPbTR3EuIr6fgqdRMoKzBZ5YSjCO3UoogDRDvFS_V4gO8I$ into staging.
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/grainger-illinois/CTCast/pull/45*event-7625030161__;Iw!!DZ3fjg!_nS04Y8JjciEyn3atfNOnDgxa2Pem2x_u5CTpDvoSmNBUNPbTR3EuIr6fgqdRMoKzBZ5YSjCO3UoogDRDvFSI-jTuq0$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ABCC52CA5MHPLG62OPFN4BTWEBJTFANCNFSM6AAAAAARJPFUDQ__;!!DZ3fjg!_nS04Y8JjciEyn3atfNOnDgxa2Pem2x_u5CTpDvoSmNBUNPbTR3EuIr6fgqdRMoKzBZ5YSjCO3UoogDRDvFSCgKyqCw$.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Yes, I have added some dependencies too to make it work. They are included on the commit.
Enviado desde Correohttps://go.microsoft.com/fwlink/?LinkId=550986 para Windows
De: Lawrence @.>
Enviado: miércoles, 19 de octubre de 2022 17:26
Para: @.>
CC: Manrique Sanz, @.>; State @.>
Asunto: Re: [grainger-illinois/CTCast] update readme with steps to create the executable (PR #45)
Vs code settings too???

From: evam3illinois @.>
Sent: Wednesday, October 19, 2022 3:18:58 PM
To: grainger-illinois/CTCast @.>
Cc: Subscribed @.***>
Subject: Re: [grainger-illinois/CTCast] update readme with steps to create the executable (PR #45)
Merged #45<https://urldefense.com/v3/__https://github.com/grainger-illinois/CTCast/pull/45__;!!DZ3fjg!_nS04Y8JjciEyn3atfNOnDgxa2Pem2x_u5CTpDvoSmNBUNPbTR3EuIr6fgqdRMoKzBZ5YSjCO3UoogDRDvFS_V4gO8I$> into staging.
—
Reply to this email directly, view it on GitHub<https://urldefense.com/v3/__https://github.com/grainger-illinois/CTCast/pull/45*event-7625030161__;Iw!!DZ3fjg!_nS04Y8JjciEyn3atfNOnDgxa2Pem2x_u5CTpDvoSmNBUNPbTR3EuIr6fgqdRMoKzBZ5YSjCO3UoogDRDvFSI-jTuq0$>, or unsubscribe<https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ABCC52CA5MHPLG62OPFN4BTWEBJTFANCNFSM6AAAAAARJPFUDQ__;!!DZ3fjg!_nS04Y8JjciEyn3atfNOnDgxa2Pem2x_u5CTpDvoSmNBUNPbTR3EuIr6fgqdRMoKzBZ5YSjCO3UoogDRDvFSCgKyqCw$>.
You are receiving this because you are subscribed to this thread.Message ID: @.***>
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https:/github.com/grainger-illinois/CTCast/pull/45*issuecomment-1284635985__;Iw!!DZ3fjg!5ZCiC1BsOBM3cjsQUWgR4VIesK327UJOFa59DBY06-k3eLrDOpx5phL8fK2vx8zV6rX8VFqfM4vb-rLSJcEoQvmCzA$, or unsubscribehttps://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/A23AZGYWJCJVM5MVRTMIDWTWEBYPZANCNFSM6AAAAAARJPFUDQ__;!!DZ3fjg!5ZCiC1BsOBM3cjsQUWgR4VIesK327UJOFa59DBY06-k3eLrDOpx5phL8fK2vx8zV6rX8VFqfM4vb-rLSJcFCHztiQg$.
You are receiving this because you modified the open/close state.Message ID: @.***>


MSFT:19767482 Add a NULL check for the source opnd while lowering CloneStr to avoid deferencing nullptr when we bailout from Simple JIT to Full JIT for loop bodies involving CloneStr optimization.

Recreating PR 6154 which was already approved.


In two stage model, will RPN's regression output, bbox_preds, be in the computation graph of downstream BBoxHead?

According to the following dataflow
1, (rpn_bbox_preds, anchor) -> proposals
2, (proposals, gt_bboxes) -> samping_results
3, (samping_results, target_gt_bboxes) -> target_delta
4, (BBoxHead's bbox_preds, target_delta) -> loss_bbox
It seems rpn_bbox_preds will recieve gradient from loss_bbox.backward(), and I do not seem any place in code base where proposals are detached. Am I missing something or it should be just like this?

I did some digging, as it turns out batched_nms in rpn_head breaks the computation graph so that bbox_preds in rpn_head won't receive gradients from downstream bbox_head. But I think it might be a good practice to explicitly detach proposals or detach targets in loss calculation in general.


telegram-0.9.26

Thank you for the contribution. It was merged directly as 25278632c1f2b27f0a64d763e1a90f55344fcf98 to keep commit history cleaner. Your contribution is still credited to you.


ui.scroll

Hello,
I have been testing ui.scroll for a couple of hours now. And I need some help with it I guess. If you could help me, I would really appreciate it. These are my points/questions to ui.scroll:
1.) Events
I couldn't find any documentation for events. I have a use cases where I need to remove/add from/to datasource. Eventually in a source code I found 'insert.item' event listener. In my application when I add new attachment, this attachment is broadcasted with 'insert.item' event into scroll.js like this:
$rootScope.$broadcast('insert.item', 1, attachment);
Unfortunately this doesn't work. This is the line that causes the issue:
https://github.com/angular-ui/ui-utils/blob/master/modules/scroll/scroll.js#L556
This code only works for $rootScope.$broadcast('insert.item', n, attachment); n >= 2
Is this a bug, or is this intentional, and the most important question, is this the right way to add newly created items to datasource or should I use reivision mechanism ?
Thanks

This fix doesn't worked for me. I'm just able to add items after the second position, as mentioned above.
How about you @char0n?

@pelizza I completly switched to http://binarymuse.github.io/ngInfiniteScroll/. Sorry cannot help you now ;]

The event based API for scroll updates was never documented and will be removed in the future. For now you can use the revision method on the datasource, or you can wait another couple of days for the new API to be published. See also #291


Log errors when listing repositories

We seem to have an issue with listing repos in the Oauth smoke test flow. This should provide us with more context about what is going on.
Summary
Provide a brief overview of the changes and the issue being addressed.
Explain the rationale and any background necessary for understanding the changes.
List dependencies required by this change, if any.
Fixes #(related issue)
Change Type
Mark the type of change your PR introduces:

[x] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 54.497% (-0.003%) from 54.5%
when pulling ee0f9aa7d92eef2b31dc74e9e74a15c793c3ecbd on repo-list-error-logging
into c9688e6e634e785fe1d420be38d75f3cc881dbfd on main.


DLL build

Added VisualStudio project for building Detours as a DLL.

We do not recommend distributing Detours as a DLL.  See this entry in the FAQ for the reasons why: https://github.com/microsoft/detours/wiki/FAQ#why-is-detours-packaged-as-a-static-library-detourslib-and-not-as-a-dynamic-link-library-say-detoursdll.
It is too easy to step on Detours itself.

Closing per feedback on distributing Detours.


[frontend] change checklist controls styles

This PR is intended to align the checklist controls on the side of the page with the mock up specs.
Here's how it looks after the changes:
Desktop:

Mobile:

Button's icon will be the same as the text.

Print button border doesn't need to change. Outlined variant take care of the border accross the application. We need to be consistent across the application.

The mockup has the icon being a different colour than the text. The icon is primary-500 and the text is primary-700

We are using MUI and should be consitent within the application. If the outlined variant style is one way then it should be the that way everywhere.


Error : Authorization Fingerprint is invalid and it is required

I am using Sandbox of Braintree GPAY. When I select a Card and click Continue from within the GPAY Popup; I get the following error :
"{"error":{"message":"Authorization fingerprint is invalid"},"fieldErrors":[{"field":"authorizationFingerprint","code":"93201","message":"Authorization fingerprint is required"}]}" in the following callback :
onLoadPaymentData
Does anyone have any idea around this bug ? Need help as it is stopping us ffrom going LIVE.
Following is my source code :
 <GooglePayButton               buttonColor="white"               buttonType="checkout"               environment="TEST"               paymentRequest={{                 apiVersion: 2,                 apiVersionMinor: 0,                 allowedPaymentMethods: [                   {                     type: 'CARD',                     parameters: {                       allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'],                       allowedCardNetworks: ['MASTERCARD', 'VISA'],                     },                     tokenizationSpecification: {                       type: 'PAYMENT_GATEWAY',                       parameters: {                         /*Based of this article https://developers.google.com/pay/api/web/guides/tutorial#tokenization I have added config specific to Braintree */                         gateway: 'braintree',                         'braintree:apiVersion': 'v1',                         'braintree:sdkVersion': '3.85.2',                         'braintree:merchantId': process.env.BRAINTREE_MERCHANT_ID,                         'braintree:clientKey': clientToken,                       },                     },                   },                 ],                 merchantInfo: {                   merchantId: 'SOME_ID',                   merchantName: 'SOME_MERCHANT_NAME',                 },                 transactionInfo: {                   totalPriceStatus: 'FINAL',                   totalPriceLabel: 'Total',                   totalPrice: total.toFixed(2),                   currencyCode: 'USD',                   countryCode: 'US',                 },               }}               onLoadPaymentData={(paymentRequest) => {                 debugger                 console.log(paymentRequest)               }}             />
Following is the Screenshot of the error : https://www.screencast.com/t/YahH1XRtZc2E

Hi @gpadbidri did you manage to resolve this issue in the meantime?

Closing due to inactivity


The screen flickers when using matplotlib to draw a continuous picture

Discussed in https://github.com/microsoft/vscode-jupyter/discussions/9427

 Posted by @ZionDoki
Originally posted by **ZionDoki** March 20, 2022
I took a reinforcement learning practice course in jupyter in VSCode.
The code tries to display the pygame screen in jupyter, but the screen flickers in VSCode, and the original Jupyter does not .

plt.figure(figsize=(4, 3))
display.clear_output(wait=True)

obs = env.reset()
print("run")
for t in range(TIME_LIMIT):
    plt.gca().clear()
    action = policy(obs, t)  # Call your policy
    # print(action)?
    obs, reward, done, _ = env.step(action)  # Pass the action chosen by the policy to the environment
    # print(reward)
    # We don't do anything with reward here because MountainCar is a very simple environment,
    # and reward is a constant -1. Therefore, your goal is to end the episode as quickly as possible.

    # Draw game image on display.
    plt.imshow(env.render('rgb_array'))

    display.clear_output(wait=True)
    display.display(plt.gcf())

    if  done:
        print("Well done!")
        break
else:
    print("Time limit exceeded. Try again.")

display.clear_output(wait=True)

Is there any way to fix this?
Thanks!

Need to discuss with @rebornix

@ZionDoki Not sure whether we can do anything about this.
The following line is forcing the UI to clear the output (i.e. forcing the output to be empty and we're adding the flag wait=True which causes an additional delay of waiting for the UI to get updated to be clear)
display.clear_output(wait=True)
As a result of the above wait, the UI will flicker.

Having the same issue, is the solution to compile the video and use a full on object like the ipython video object? My only issue with that is I cant watch the env "live/streaming"


Add support for mathml output, closes #110, #118

Enable by setting mathematical-format = mathml, mathematical-inline = true

The second commit is optional; I mentioned some details in #110. It would also be easy to tweak this PR to instead use plurimath over latexmath. That is, we have 3 options:

use latexmath -- 1st commit
use python-docutils' latex2mathml -- 2nd commit
use plurimath, the successor of latexmath -- I have a local commit for this, but it's not possible to test it until plurimath/plurimath#84 is fixed

MathML is due to be released and enabled by default in Chrome 109, so nudging again on this.

More info:

https://chromestatus.com/feature/5240822173794304
https://bugs.chromium.org/p/chromium/issues/detail?id=6606

Note, MathML already works on Firefox and Opera.

Hello, I tried using your patch, but could not get it to work with AsciiDoctor PDF. Ended up with inline HTML in PDF.

 $$\lim_{n \to
\infty}\frac{n}{\sqrt[n]{n!}} = {\large e}$$

Could you please provide a example?

I've not tested PDF. I'm just using asciidoctor -a stem -r asciidoctor-mathematical -a mathematical-format=mathml -a mathematical-inline=true.
Example source here: https://github.com/infinity0/mkwww/blob/master/example/src/test.adoc
Example output here: https://infinity0.github.io/mkwww/test.html

This PR is about MathML support. How do you expect MathML support to work inside a PDF, @mateibarbu19 ?

Hey, thanks for your helpful example! I was thinking that there may be a way of rendering it with an external call (e.g., to Chromium to then print it), and then including those graphics inside the PDF should be no problem.
I see now that my assumption was foolish, and I understand now how to use your fork for an HTML output.
Thank you!


[Paper] "Massively parallel implementation in Python of a pseudo-spectral DNS code for turbulent flows", Mikael Mortensen

Dear Mikael,
There is a image missing: weak.png.
Can you please commit it?
Many thanks,
N

Added two missing figures. Hope that does the trick.

It now builds fine ! Thanks !

Dear Mikael,
your paper is well-written in general and easy to read.
There are a few minor editing comments I would like to make.  One major comment relates to the comparison of the Python solver with the C++ implementation.  I appreciate the comparison, but I would like to comment that a better baseline would be the mentioned DNS production-quality solver (or a different, but highly tuned DNS solver of the same grade) and a corresponding discussion of the C++ and Python performance w.r.t. to the production code. Without that it is hard to judge if the C++ delivers a reasonable level of performance.
Minor comments:

Please use proper naming for NumPyg, Cython, SciPy, etc. in the text
Grammar of the sentence between Eq.5 and Eq.6 is broken
Maybe add a reference to the RK method.
First sentence in Section 3: "is" should be "are"
Any specific reason why you've chosen option 1 in Section 3.2?
The example on p.3 could be improved by adding import statements and all definitions
P. 4, first line: "a factor 5" should be "a factor of".
Section 5 could mention some future work

I hope this review is helpful.  If there are questions, please let me know.
Kind regards,
-michael

Dear Michael
Thank you very much for the feedback and sorry about the late reply. I have made all the corrections that you address and updated the PR.
I appreciate your major comment about the C++ implementation. Unfortunately I do not have access to a C++ production code that I know is high quality and highly tuned. Nevertheless I have actually run some comparisons with open source C++ solvers like Tarang (http://arxiv.org/pdf/1203.5301.pdf) and found that my Cython/Python and C++ codes were usually at least 10-20 % faster. I did not really find the need to make this comparison in the paper since I do not know the people developing Tarang and there may be factors in the installation relevant to speed that I’m simply not aware of. Consider Figure 2 of  (http://arxiv.org/pdf/1203.5301.pdf). Tarang is here running on the same computer as I and at 50 seconds per time step for a box of size 1024^3 on 512 processors. My results in the paper are not showing exactly the same case, but for the same box (1024^3) with twice as many cores (1024), my code runs at app. 20 seconds per time step (see fig 2, the slab decomp with largest mesh). Assuming perfect scaling that would correspond to 40 seconds on 512 cores which is 20 % faster than Tarang. Since you did bring it up I have now put this weak link into the paper for people to see, but I have not made any direct comparisons. That should be ok since it leaves out the uncertainty of installation, and it is the same computer.
Best regards
Mikael

@NelleV I can review this, is this needed?

Yes please.

Dear Mikael,
The paper is well written and balances well the technical details with the principles of the simulation work. The comments are thus rather focused. Also, they do not challenge the content of the article but are mostly aimed at clarifying or adding detail.

typo: page 1, "this in not simply" should read "this is not simply"

typo: page 2, in section 3.1: "Python implementation may" lacks an article for Python: "The Python implementation may"

missing "and": page 2, section 3.3
 The regular Python modules `numpy.fft`, `scipy.fftpack`, [pyfftw]_ all

shoud read
 The regular Python modules `numpy.fft`, `scipy.fftpack` and [pyfftw]_ all

Reference data from the annual International Workshop on High-Order Methods is mentioned. What datafile is being used and why is this data considered reliable?

weird phrasing on page 4, section 5. The sentence
 indicating that the MPI communications are performing at the level with C++

mixes "at the level of" and "with".

A Numba implementation is presented in section 3.4 is said to be 5 times faster than the NumPy version. How does it compare to the Cython version? Also, the Numba version is not used further for the scaling results. Why?

Naming the NumPy based "pure Python" is misleading. While the logic of the code and the communication patterns are written in Python, the use of NumPy is critical to make the present work possible. Further optimisation by Cython is clearly indicated though.

In Fig. 2, the logarithmic scale make it hard to see the performance gap between the NumPy and the C++ version. It would be good to copy the values of the timing for a low value of the number of cores (2 or 8 for instance). Else, one could almost read that the NumPy (called pure Python in the manuscript) version is already on par with the C++, besides its excellent scaling.

The memory ordering of the data has the "x,y,z" component first. Thus, the information for a single node of the mesh is scattered in three locations. This gives a better locality for the Fourier transform but a worse locality for the cross product, I suppose. Could you comment on this choice? It may be obvious to someone doing DNS, which is not my situation (I do mostly particle simulations).

The code to perform the simulations is available online under the GPL license. This should be mentioned in the text.

Overall, the paper is good and I am confident that it will reach a final version in a reasonable time :-)
Regards,
Pierre

Dear Pierre,
Thank you for your comments and for your time. I address your comments below and I have also updated the pull request.

Fixed

Fixed

Fixed

The datafile is referred to in the References section. The data is considered reliable because it has been generated by a well verified and documented pseudospectral solver that is very similar to the one described in this paper. From start to finish, over 20,000 time steps, the L2 error norm of the solution computed by my solver never strays more than 1e-6 from the reference solution.

Fixed

The numba version is more or less exactly as fast as the Cython version. The numba version is not used because numba is not installed on the Blue Gene supercomputer and I for one was not even capable of installing numba on my own laptop. I did not even try on the Blue Gene.

I agree, pure Python is somewhat misleading. However, it's not pure NumPy either, because it is just as dependent on MPI for Python and pyFFTW. Perhaps standard scientific Python would be better?

Here I have to disagree. I think the figures clearly show that both optimized, non-optimized and C++ solvers all scale well in a weak sense and the performance loss of 30-40 % is clearly stated in the text. I can agree that it is not easy to read see the 30-40 % from the figure, but that is the price we pay for using a logarithmic plot. The type of plot used is very typical for this kind of performance tests. Figure 3 clearly shows that the standard Python solvers scales poorly, something that is attributed to a for-loop in the code.

The ordering is row major C and I believe optimal for this code that relies heavily on NumPy ufuncs. Consider the implementation of the cross product
def cross(c, a, b):
    """Regular c = a x b"""
    c[0] = a[1]*b[2] - a[2]*b[1]
    c[1] = a[2]*b[0] - a[0]*b[2]
    c[2] = a[0]*b[1] - a[1]*b[0]
return c

Here $a[1]*b[2]$ is a NumPy ufunc that automatically loops over all trailing indices $a[1, :, :, :]*b[2, :, :, :]$. What's more, the loop is over a contiguous memory block. If we reverse and place the "x,y,z" last by creating the data like, e.g., $a = zeros([N, N, N, 3])$, then the code becomes
def cross(c, a, b):
    c[..., 0] = a[..., 1]*b[..., 2] - a[..., 2]*b[..., 1]
    c[..., 1] = a[..., 2]*b[..., 0] - a[..., 0]*b[..., 2]
    c[..., 2] = a[..., 0]*b[..., 1] - a[..., 1]*b[..., 0]
return c

and the NumPy ufuncs, like $a[...,1]*b[...,2]$ are now longer looping over contiguous memory blocks. To verify I have created this gist. A fortran implementation would probably be faster using this last option due to the coloumn major storage.

Fixed.

Dear Mikael,
Thank you for the update. Referring to the "scientific Python" solver is a good solution.
The memory ordering is probably nitpicking from me. With respect to points 4 and 6, I believe that they should be incorporated in the paper (this is the reason I actually asked the questions).

The detail you provide here for "4" in your reply is totally adequate for the manuscript.
Not timing numba because it is hard to install is a good reason (one that I in fact suspected), as installation issues are part of the problems that come with scientific computing.

Modulo these additions, I am +1 on the paper.
Regards,
Pierre

Dear Pierre,
Thank you for for final comments. A new update has been pushed with final additions.
Best regards
Mikael

Dear Mikael,
Thanks for the fast update. @NelleV this is ok for me.


ephemeral messages aren't working

see if this is an interactions error

works in dev but not in prod :happysquare:

ctx.defer(ephemeral=True) should fix this


MacOs When net.inet.ip.forwarding=1 will loop (re)sent tcp syn

I am using Wireguard + udpspeeder + udp2raw.
It's work success.
But when I enable sysctl -w net.inet.ip.forwarding=1.
Udp2raw will loop (re)sent tcp syn( it seems come from wireguard). I am try to edit pfctl rule.
But it's still failed.
Because I set net.inet.ip.forwarding=0 connect normal.
I want to share my Mac OS to other wireguard's tunnel that I need to switch net.inet.ip.forwarding=1.
Any one suggest how to solve it problem or any other methods to connect wireguard tunnel each other.
Thanks for your help!

Already fix it. Thanks


TemplateSelector different FlowColumnCount for first row

Hi,
I implemented the TemplateSelector and it's working fine.
But i have a problem that i'm unable to resolve.
Simply i want the FIRST element of my collection to be FULL WIDTH in the first row (FlowColumnCount = 1), and the others elements splitted in 3 columns (FlowColumnCount = 3).
It can be done?
Thanks

Solved by putting the Header in it.
flv:FlowListView.Header

</flv:FLowListView.Header>

Ok, glad to hear that you worked it out. Cheers :) There's also a new way of achieving it (for each row separately): https://github.com/daniel-luberda/DLToolkit.Forms.Controls/blob/master/Samples/DLToolkitControlsSamples/SamplesFlowListView/GroupingAdvancedPage.xaml#L14