Vectorized RNG

As discussed with @karlnapf in #4424, there are several improvements/additions that could be made to the random number generation(RNG) API for SGMatrix/SGVector. Neither take advantage of the CRandom::fill_array vectorized RNGs. SGMatrix does not support RNG while SGVector simply loops over the entire legnth calling CMath::random per index. In summary the proposal is to add the following for both SGMatrix/SGVector:

SG*::random(): Generates random numbers in the [0, 1] range for float types. Generates numbers in [std::numeric_limits::min,std::numeric_limits::max] for int types. Uses the fill_array vectorized RNG wherever possible and falls back to simple for loop otherwise. These will follow a uniform distribution.
SG*::random_normal(mu, sigma): Uses SG*::random() followed by a possibly vectorized variant of the Box-Muller transform.
To be discussed: Since SGVector::random(lb, ub) is publicly exposed already I dont think it can be removed. A SG*::random(lb, ub) could be additionally supplied which utilizes SG*::random() to generate random numbers more efficiently.

Finally, I also think it might be important to benchmark a simple for-loop vs. vectorized variant for these cases.

Really nice write-up!
One comment, 3. we can definitely change the api here ... towards a more standard random and random_normal, or even better: rand(), and randn()

I'd like to work on this as my next issue. One thing I realized while looking at the Random.h is that [0, 1] is not available within dSFMT used for vectorized double generation. So would have to do [0, 1) instead.

That should be fine imo as the boundaries are a set of zero measure i.e. P(x=1)=0 almost surely


downloads fail in Github Ubuntu runners using latest setup_beam action

I feel like I have a fairly standard GitHub actions CI workflow that uses the latest Ubuntu runner and the latest setup_beam action to install erlang and elixir. In this environment, the httpc request to npmjs.org fails to connect due to some TLS error.  I'm far from an expert on httpc and how it works to really know how to debug further. Any chance you have an idea of what's going wrong?
Example public CI run: https://github.com/ambry-app/ambry/actions/runs/7860597046/job/21447944084?pr=771
Note truncated error:
** (RuntimeError) Couldn't fetch https://registry.npmjs.org/shaka-player/-/shaka-player-4.7.1.tgz: {:error, {:failed_connect, [{:to_address, {~c"registry.npmjs.org", 443}}, {:inet, [:inet], {:eoptions, {{:undef, [{:tls_record_1_3, :encode_handshake,
...

I wasn't able to reproduce it, but I did a refactor based on the tailwind dep (the only real change is the tls for different beam version). Not sure if it helps with anything, but it would be great if you could give it a try. Its on the branch refactor-downloader

I did a lot of testing and went down several rabbit-holes trying to figure this out.  I don't have an answer to why it happens, but I have figured out at least vaguely under which circumstances it happens.
(a bunch of testing happened here: https://github.com/doughsay/gh_tls_test)
Essentially, if you add the suggested alias, "deps.get": ["deps.get", "npm_deps.get"], then this causes the TLS error if you have a sufficient set of other deps being fetched. I don't know precisely what this set of "other deps" has to be, but I have at least a minimal failing case in my repo at this specific commit: https://github.com/doughsay/gh_tls_test/tree/97bee5e1a51a28117c96f26ea309973e03a55348
It's not specific to that one dep I added (sweet_xml).
My guess is that for some reason, when adding the alias, running mix deps.get causes the initial deps download and an implicit compilation of deps and then the download of npm deps all in one go, and that for some reason doesn't work.
The workaround is to just not set up that alias.  Everything works fine if you run mix deps.get and mix de.pscompile and mix npm_deps.get all separately.

Really strange. Thanks for digging into this.
I removed the alias suggestions from the readme, and I will keep this issue open.


failed assertion on rbp4 with multiple monitors

I'm hitting an assertion on a Raspberry Pi 4 with two monitors (archlinuxarm)

Sway Version: 1.2 (also tried building sway and wlroots from git)

Debug Log:

2019-12-02 21:50:57 - [sway/main.c:152] Linux rpi4 4.19.86-1-ARCH swaywm/sway#1 SMP PREEMPT Sat Nov 30 18:54:34 UTC 2019 armv7l GNU/Linux
2019-12-02 21:50:57 - [sway/main.c:168] Contents of /etc/os-release:
2019-12-02 21:50:57 - [sway/main.c:152] NAME="Arch Linux ARM"
2019-12-02 21:50:57 - [sway/main.c:152] PRETTY_NAME="Arch Linux ARM"
2019-12-02 21:50:57 - [sway/main.c:152] ID=archarm
2019-12-02 21:50:57 - [sway/main.c:152] ID_LIKE=arch
2019-12-02 21:50:57 - [sway/main.c:152] BUILD_ID=rolling
2019-12-02 21:50:57 - [sway/main.c:152] ANSI_COLOR="0;36"
2019-12-02 21:50:57 - [sway/main.c:152] HOME_URL="https://archlinuxarm.org/"
2019-12-02 21:50:57 - [sway/main.c:152] DOCUMENTATION_URL="https://archlinuxarm.org/wiki"
2019-12-02 21:50:57 - [sway/main.c:152] SUPPORT_URL="https://archlinuxarm.org/forum"
2019-12-02 21:50:57 - [sway/main.c:152] BUG_REPORT_URL="https://github.com/archlinuxarm/PKGBUILDs/issues"
2019-12-02 21:50:57 - [sway/main.c:152] LOGO=archlinux
2019-12-02 21:50:57 - [sway/main.c:140] LD_LIBRARY_PATH=(null)
2019-12-02 21:50:57 - [sway/main.c:140] LD_PRELOAD=(null)
2019-12-02 21:50:57 - [sway/main.c:140] PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
2019-12-02 21:50:57 - [sway/main.c:140] SWAYSOCK=(null)
2019-12-02 21:50:57 - [sway/server.c:39] Preparing Wayland server initialization
2019-12-02 21:50:57 - [backend/session/logind.c:675] Successfully loaded logind session
2019-12-02 21:50:57 - [backend/backend.c:192] Found 2 GPUs
2019-12-02 21:50:57 - [backend/drm/backend.c:152] Initializing DRM backend for /dev/dri/card1 (vc4)
2019-12-02 21:50:57 - [backend/drm/drm.c:69] Using atomic DRM interface
2019-12-02 21:50:57 - [backend/drm/drm.c:254] Found 2 DRM CRTCs
2019-12-02 21:50:57 - [backend/drm/drm.c:175] Found 6 DRM planes
sway: backend/drm/drm.c:85: add_plane: Assertion `!(type == DRM_PLANE_TYPE_PRIMARY && crtc->primary)' failed

Configuration File:

Reproducible with no (default) config file.

Can you run drm_info and share the output? (Bonus points if you upload it to drmdb :P )

https://drmdb.emersion.fr/devices/0f4161ba12dc
Note, on stderr: drmModeGetResources: Invalid argument

Okay, interesting. On this platform vc4 advertises a primary plane compatible with multiple CRTCs. Need to check whether this is a vc4 bug.

Apparently not a driver bug according to #dri-devel. So it's a wlroots bug.

@emersion https://01.org/linuxgraphics/gfx-docs/drm/gpu/drm-kms.html#plane-abstraction

All drivers should provide one primary plane per CRTC to avoid surprising userspace too much

I'm going to argue that this is a driver bug, and is breaking the userspace API.

Maybe this means "at least one".

is this a wlroots bug or a sway bug? is there any workaround? is there any other wayland compositor I can try?

I tried around a bit, but didn't get it to run anymore (despite that I had it running at some point before posting here): https://i.imgur.com/PrRgT3F.png

Are you on fkms or "real" kms dtb?

@Ongy I am on fkms, I don't think that the non fake kms dtb is supposed to run on the pi4.. IIRC, when I tried it, it hung while initializing the framebuffer.

Are you on fkms or "real" kms dtb?

fkms. I tried manjaro and it load fkms by default. Is should say that with single monitor sway runs amazing. I was so happy that bought a second one and then I got the segfault.  🙄

I have a patch that works with 2 displays on a RPI4 ... kind of.
https://github.com/schauveau/wlroots/commit/bad0a6e5b79c555f9c04153b9232de5ca8f3c489
Instead of always using the first possible CRTC (defined by the least significant bit set in possible_crtcs), my code is trying all possible CRTCs until it finds one that is not already associated with a plane of the considered kind. That seems to work fine at least for the primary planes.
However, I encounter a very strange problem with the mouse cursor. When the cursor is in my second screen, a giant cursor is appearing erratically in the first screen. It does not show in screenshots but here is a photo showing a giant cursor (most of the time they are truncated).
https://ibb.co/pnym2Y6
I also noticed something strange. At one point, I commented out the assignment of crtc->cursor in drm.c but somehow the CRTC_ID field of drm_info was still showing that the 2 Cursor planes were associated to the 2 CRTCs. Something else must be responsible for that association but I could not figure out what.
My DRM info is https://drmdb.emersion.fr/devices/01cd892b4221 and it is quite similar toTimB87's with a CRTCs list containing 8 values (2 existing CRTCS and 6 non-existing ones).  That seems to be the default behavior on recent Linux 5.x kernels. Also my 2 monitors have different resolutions (1920x1200 vs 1920x1080).
@emersion How can I enable the wlroots logging faculties when using sway?

I just noticed something about the giant cursor. It seems that they appear when the cursor image is changing and it always has the shape of the previous small cursor. That is as if the old cursor texture was reused in a 'magnified overlay'.

How can I enable the wlroots logging faculties when using sway?

sway -d >sway.log 2>&1

@emersion  Really? Ho! I see... I tried sway -d but without the redirections and I was not seeing any output from wlroot in the console after exiting sway. I assume that this is because the text console is disabled while sway is running.  Very confusing!

I think that I now understand what is going on.  I monitored the CRTC planes activity with
 while sleep 1 ; do clear ; drm_info | grep -e Plane -e CRTC_ ; done

And, when using an X11 desktop, I see that only the cursor planes are not associated to any CRTC when the cursor is not visible on that screen.  However, Sway is behaving differently and keeps an active cursor plane for each CRTC.  As far as I can tell the giant cursor is occuring when an cursor plane is fully out-of-bounds and gets a negative coordinate in either X and Y. Simply speaking, the RPi4 driver has a problem with negative cursor coordinates that are bigger than the cursor dimension (e.g. for a 64x64 cursor, a coordinate of -35 is fine but -65 is not).
It is worth noting that the X Y coordinates of out-of-bound cursor planes are only updated when the mouse shape is changed. I can probably get rid of most giant cursors by adding a proper out-of-bound check in the wlroot code in charge of that update.
I also figured out that a large negative coordinate can be obtained by moving from one screen to another. The goal is of course to obtain a first out-of-bound cursor position with a negative coordinate bigger than the cursor plane size. That one is probably a bit more difficult to fix in wlroots without disabling out-of-bound cursor planes.
Globally speaking, I think that wlroots should use the same approach than the X11 server: The cursor plane should be disabled when the cursor becomes out-of-bound cursors. That probably makes sense for performance reasons.

It should already do this: https://github.com/swaywm/wlroots/blob/751a21d94f1b4f0345d040ddfd54b723631d5991/backend/drm/drm.c#L1003
However the rpi driver shouldn't freak out when userspace sends negative coords. This isn't a wlroots bug (because it's perfectly valid to set negative coords), the rpi driver should be fixed.

Good. For practical reasons, I was experimenting on the current Ubuntu source package based on 0.10.0 and so without that function. I guess that I will have to recompile Sway & co then :-(  Hopefully, that should solve my giant cursor problem and if everything looks fine then I will make a pull request.
And I agree that the negative coordinate problem is probably a rpi driver bug. I'll report it. Not sure where exactly. Probably the v3d drm driver.

I tested my improved DRM plane matching on master and that seems to work fine with 2 monitors on RPi4.
Pull request  https://github.com/swaywm/wlroots/pull/2333

I was probably a bit optimistic when I wrote that everything was working fine with 2 monitors on the RPi4.
There are still some issues with the cursors. wlroots sometime produces some error messages when updating the drm cursor planes ("Unable to add DRM framebuffer") and some cursors images become corrupted.
I do not believe that this is directly related to my pull request code. This is more likely a problem in the vc4 drm driver or a bug in wlroots master. I also noticed some very very rare giant cursors (see my previous posts) that could potentially be the cause of the DRM errors.
Fortunately,  WLR_NO_HARDWARE_CURSORS=1 can be used to disable the use of the DRM cursor planes.

Since my pull request is likely to be rejected in favor of a resolution in the Raspberry Pi kernels, here is a simple patch.
rpi4.patch.gz
cd wlroots/backend/drm
zcat ~/git/wlroots/rpi4.patch.gz | patch

And if your cursor is behaving strangely then set WLR_NO_HARDWARE_CURSORS=1


Step 3

Value Proposition
As a user I want to read the whole content of an article so that I can have more information
Description

Acception Criteria
User should be able to :

[ ] read the whole article after choosing (clicking on) one
[ ] go back to the main window where they see all other articles

Tasks

[ ] fetch news from newsapi.org
[ ] display found articles: image, title, author, description
[ ] on Click on the title of each article: show the whole content

Hey Thu, this is looking nice already, but please give more information about the functionality and the tasks: how to users go back?
Also: is the fetching of news a user story by itself? Here you can decrease the size of your user stories!
Please remove the navigation bar + the search area from your wireframes, since they would not be useable at the moment. Only include elements in your App that serve a purpose.  (Don't try to think what might be useful in the future, only think what you need right now.)

Also: please be more precise what the "whole content" actually means, is it plain text, is it formatted with headings and paragraphs? Are images included?


bug(COMPONENT): Fab buttons not using correct theming

Is this a regression?

[x] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
16.2.14
Description
With Angular v17.3.1 and Material 3 it seems like the FAB buttons dont use the correct theming colors.
Edit: Just noticed its even more visible on mat-icon-buttons
Difference between Angular v17.3.1 and v16.2.14 (where it was correct)
v17:

v16:

Reproduction
StackBlitz links provided via angular website.
Expected Behavior
Same color theming on fab buttons like on all other buttons, like in angular v16
Actual Behavior
Primary and accent are a bit off and warn is completely off
Environment

Angular: v17.3.1
CDK/Material: 17.3.1
Browser: Chrome
Operating System: Windows 11

It's showing the M3 versions of the FAB. Closing as a duplicate of https://github.com/angular/components/issues/28787.

So M3 just doesnt style fab and icon buttons in the correct color?

The color should be correct, it's just different in this version of the spec.

That being said, I just noticed that the warn color isn't showing up.

Looks like the warn color was intentionally dropped from the FABs: https://github.com/angular/components/blob/main/src/material-experimental/theming/_color-api-back-compat.scss#L78.


minified versions and source-maps

Since the source-maps does not contain the sources and the npm packages of web-animations-js are distributed without sources the source-maps are useless.
Any tool (e.g. sorcery) trying to resolve source mapping fails, because the references to the source-files in the source-map are not available.
Please add either the source to the source-maps or distribute npm packages with sources (I would prefer the first one).

Thanks

Thanks for reporting the issue.

FYI the fix is now live<EMAIL_ADDRESS>


Clock time is not updating with khal

System time is correct but sometimes the kha lclock shown  in the status  bar is not updating.

if its "in" the status bar, thats not an issue with khal. the status bar barely acts as a shortcut for khal. the actual display is done using a built-in extension of waybar:
https://github.com/Manjaro-Sway/desktop-settings/blob/sway/community/sway/etc/skel/.config/waybar/config#L69
can you describe this a bit more? how inaccurate is it? perhaps in the configured 60s update timeframe?

closing for now dueto no reaction.


Join forces with matomo-org/referrer-spam-blacklist?

I noticed there is another spam blacklist: https://github.com/matomo-org/referrer-spam-blacklist/blob/master/spammers.txt Perhaps it would help (and save time) to join forces? Thanks for this list!

Hi @vdboor,
First of all thanks for your feedback 👌
I'm aware of the work Piwiki / Matomo did and used one of there user contributions in #468 to create the IIS web.config. As you maybe have noticed the domain list that I've gathered for this repository is (at the time of writing) more than 3 times the size of the spam list Matomo uses. It also includes other sources like digmato. If your interested in combining sources have a look at this repo or write your own bundler.


ImportError: No module named fields

I stumbled upon same problem, when executing
python ./manage.py syncdb --noinput --migrate

Already installed dependencies using pip
Already changed django-tagging to version 0.3.6

Is there a solution for this issue?

I was able to get set up and get through the initial python ./manage.py syncdb --noinput --migrate step by following the recommendations in this comment to request specific versions of django-mppt and south in the requirements file.
I apologize that we didn't follow through with updating that file. I will open a PR for it right now.
That said, I never encountered the error given in the title of this issue. The one that I got after trying to migrate, before updating the requirements, was AttributeError: type object 'Manager' has no attribute 'from_queryset'.
Can anyone confirm where in the process they received the ImportError: No module named fields  error?

Ohhh, I think I figured it out. I had also updated this line in the settings to use core.taggit, instead of generic taggit. If I go back to generic taggit, I get the error on importing fields.
Changing to core.taggit should get you past the error.


Missing states

Xiaomi wall double switch lumi.ctrl_ln2.aq1 sending state_left and state_right wich missing in z2m so it showing only temperature

Just to be sure: this device actually has two relays in side which you want to control via HomeKit?

This one with two buttons https://www.aqara.com/en/smart_light_switch_no_neutral.html

@kerradin Just pushed a commit that should resolve this issue for you and expose an accessory with 2 switches (left and right).
Please note: these changes are currently in the master branch, but not yet released.
If possible, please verify the fix by testing these changes.

By the way, I noticed the device also supplies you with a power and consumption attribute. I can probably also expose these to HomeKit, if you can tell me what the unit for these values is.

Published a new release with the (likely) fix for this issue.
Closing this issue for now. Please let me know if it doesn't work as expected.


Refactor: PRMSChannel init self._muskingum_mann from numpy, numba, fo…

…rtran instead if during calculate

Codecov Report

Merging #182 (e010992) into develop (dd99eb7) will decrease coverage by 0.01%.
The diff coverage is 70.58%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@             Coverage Diff             @@
##           develop     #182      +/-   ##
===========================================
- Coverage    77.24%   77.24%   -0.01%
===========================================
  Files           50       50
  Lines         6347     6346       -1
===========================================
- Hits          4903     4902       -1
  Misses        1444     1444

Impacted Files
Coverage Δ

pywatershed/hydrology/PRMSChannel.py
95.40% <70.58%> (-0.03%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Doc 4210 - Create 4.10 folder structure

To summarise: created a new folder for 4.10 release under corda-docs-portal\content\en\platform\corda, which is a duplicate of the 4.9 with all 4.9 settings then changed to 4.10. Also updated the root menu file config/_default/menus/menus.en.toml to add the required 4.10 settings. Merging this into the DOC-4167 which is the 4.10 branch.
A working demo of this is currently at https://paul.preview.docs.r3.com/

Seems to be extra white space in config/_default/menus/menus.en.toml

Seems to be extra white space in config/_default/menus/menus.en.toml

Hi @nadinequinr3 have removed those blank lines.


Feature Request: Add a more detailed section on developing in Go

Is your feature request related to a problem? Please describe.
The Go team has recently released Go 1.21, which has native support for compiling to WASI. Updating the documentation for developing in Go, including more detailed general documentation, especially for Go's newly added support for WASI, would very much benefit devs new to WasmEdge.
This is especially so if the developer requires functionality not provided by the TinyGo standard library, e.g., HTTP.
Describe the solution you'd like.
The solution is, of course, to create a more detailed section on Go development. I will start working on a PR for this soon. I will add an introduction describing the differences between TinyGo and native Go WASI support, using networking via stealthrocket/net and importing host functions in Go 1.21.
Describe alternatives you've considered
No response
Additional context.
No response

That would be great! Looking forward to your work!

@alabulei1 Can I take up this?

@alabulei1 Can I take up this?

Hi, I've been busy the last couple of weeks. I plan to finish the PR soon. However, if you want to do it instead, you're free to do so.


Troubleshooting / Tutorial for gps-sdr-sim with HackRF and Android devices

TLDR
TCXO recommended, then it works
Some (newer?) Android devices don’t get a fix, even this project works as expected
Here are my experiences with gps-sdr-sim and HackRF. Cost me some time to get it work, so I want to share the experience here, so other users save a lot of time.
For HackRF simulation file created via ./gps-sdr-sim -b 8 -e brdc0170.21n -u circle.csv worked. Replace the brdc with that one from the current day.
Transmitting the GPS signal was done via  hackrf_transfer -t gpssim.bin -f<PHONE_NUMBER> -s 2600000 -a 1 -x 20 and a short dipole antenna of length 15 cm length in total.
Transmitting worked, but the GPS-Receivers lost signal without showing a faked position. The frequency of this HackRF was obviously a bit mistuned. I’ve tried over one hour to get the right frequency, however only for a few seconds GPS receiver got a fix with the faked location. So I bought an TCXO, in particular it is the " NooElec Tiny TCXO: 0.5PPM TCXO Modul für HackRF" https://www.amazon.de/gp/product/B077H7Q7GL
For how to open the HackRF case, watch this video https://www.youtube.com/watch?v=zuXJtpTSEJM It is sufficient to loosen the screws on the side a bit.
Take a look at this photo https://github.com/osqzss/gps-sdr-sim/blob/master/extclk/hackrf_tcxo.jpg how to place the TCXO.
After installing the TCXO use  hackrf_debug -–si5351c -n 0 -r to check if TCXO is recognized and used. Output  [0] -> 0x01 means TCXO is used, whereas  [0] -> 0x51 means no TCXO is used.
After transmitting via TCXO fake position worked on an older Android device and on a cheap U-Blox7 GPS-Dongle like https://www.amazon.de/DollaTek-Antenne-VK-172-Empfänger-Windows/dp/B07F6Y6DPT/
However on Android 11 on Galaxy S10 Lite there is always "No Fix", even though phone was put into airplane mode and also A-GPS Data was deleted. For all tests App "GPS-Test" https://play.google.com/store/apps/details?id=com.chartcross.gpstest&hl=de&gl=US was used.
Since this device uses also GlONASS, Beidou and Galileo first thought was that the reception of additional systems prevent the fix. So the phone was also brought to the basement where no GPS reception is possible. Even after 30 minutes of transmitting a fixed position in a loop Galaxy S10 Lite did not fix GPS position, whereas the other Android phone with Android 6.0 got a fix the whole time. I’m willing to debug to improve the code to fake also GPS signal on Galaxy S10 Lite / Android 11.

Let me know if you need a hand with this project. I am also working on GNSS Spoofing as my final semester thesis.
I am looking for someone to collaborate with

Let me know if you need a hand with this project. I am also working on GNSS Spoofing as my final semester thesis.
I am looking for someone to collaborate with

@Imtiaz08
This isn't my project. Sadly I don't have enough technical and mathematical skills to help in developing this project. I'd be very happy if you can improve this project and I can help you with some testing stuff.
@osqzss I mention you so you can get in contact with @Imtiaz08

@Imtiaz08
This isn't my project. Sadly I don't have enough technical and mathematical skills to help in developing this project. I'd be very happy if you can improve this project and I can help you with some testing stuff.
@osqzss I mention you so you can get in contact with @Imtiaz08

Best regards,
Good evening my name is David Forero I am a PhD student at the university of Alcala. I am trying to use your software package to create orbital paths in low orbit. I create a csv file of ECEF positions at 10Hz and the following happens to me: with a GPS ublox Neo 6 it connects without problems and makes me the orbital path roughly well. But if I use a GPS NEO M8T the gps does not connect. For the project I am doing I have to use the GPS neo M8T and read its log which delivers the data in ECEF directly.
Please can you help me by giving me an indication of how to create this file as a multi-sdr-gps-sim collaborator to work with the GPS neo M8T.
Regards
thank you very much for your help
David Eugenio Forero
<EMAIL_ADDRESS>

Hi are you transmitting the file with HackRF and not able to receive the signal using Neo M8T?

Hello
Yes. I can't receive it with the NEO M8T the gps won't connect. but my file
does work with an ublox Neo 7 GPS.
Using the software u centre from ublox all the bars are blue with the M8T.
Tomorrow I can send you a summary with pictures of what I am doing to see
if it is possible to find a solution.
This is a proof of concept for my doctoral thesis.
Greetings
Thank you very much for replying
David Forero
El jue, 9 jun 2022 a las 13:29, Imtiaz Nabi @.***>)
escribió:

Hi are you transmitting the file with HackRF and not able to receive the
signal using Neo M8T?
—
Reply to this email directly, view it on GitHub
https://github.com/osqzss/gps-sdr-sim/issues/305#issuecomment-1151465014,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZR44LRQN7LTSKUPVEK67S3VOIZW3ANCNFSM5I5MRWAA
.
You are receiving this because you commented.Message ID:
@.***>

--
Grupo de Investigación RadioGis

Neither NEO M8T nor NEO 7 is capable of providing navigation solutions of an LEO satellite.

Good afternoon,
In reference to my question of yesterday in the attached files you will
find the Test 1 folder in it is the csv file and its equivalent binary,
generated by gpssim to transmit with the radio sdr, which builds my
application developed in Python. that as I mentioned yesterday with a GPS
ublox NEO 7 makes me a path of orbit well, but with negative height but
equivalent.
That same binary file does not work with the GPS ublox Neo M8T and presents
a performance as shown in the images and the attached recording or center.
It is worth mentioning that these files are generated with an application
that calculates the orbital path solving the two-body problem and
calculates a position in the ECI reference system and then it is
transformed to ECEF taking into account the effects of nutation and
precession of the earth and the epoch referred to the Julian day calculated
at all times.
In folder 2 my Python function does not take nutation and precession
effects to generate the files. First it generates an ECI file and
transforms them WGS 84 and then transforms it to ECEF the behavior is the
same: it connects to the Neo 7 but with the Neo M8T it does not work, the
bars are dark blue and light blue at other times and it does not process
the information.
I attach my Python codes to see if you can do me the favor of giving me
help.
thank you very much
Regards
GPS are not spatial level and have speed and height restrictions the idea
is just to make a proof of concept.
David Forero
https://drive.google.com/file/d/1CxS-a34s8wRgNLKoVspjC3DdHROcy0B5/view?usp=sharing
El jue, 9 jun 2022 a las 18:59, OSQZSS @.***>)
escribió:

Neither NEO M8T nor NEO 7 is capable of providing navigation solutions of
an LEO satellite.
—
Reply to this email directly, view it on GitHub
https://github.com/osqzss/gps-sdr-sim/issues/305#issuecomment-1151727686,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZR44LQ4ILZ4Z42OJUGOHOLVOKAN3ANCNFSM5I5MRWAA
.
You are receiving this because you commented.Message ID:
@.***>

--
Grupo de Investigación RadioGis

Under the Wassenaar Arrangement, GNSS receivers are supposed to disable themselves when they detect that they are above 18,000 m and moving faster than 1,900 km/h.

@JsBergbau i get three android phones: redmi4(android6.0), redmi6(android8.0),samsung s10(android12),only android6.0 can fix the gps, others can view the satellites but can't fix them.

@JsBergbau i get three android phones: redmi4(android6.0), redmi6(android8.0),samsung s10(android12),only android6.0 can fix the gps, others can view the satellites but can't fix them.

Wow! Recently ,I test on redmi6(android8.0) and vivo y67(android8.0), they can fix the satellites, i just updated the hackrf-2021.03.1.zip without maked any other changes

My 1st Galaxy Note10 will not lock. running android 12. My 2nd galaxy note 8 will lock all day long. I know this is not helping but i thought i would confirm this myself.


feat(adapter-aurora): initial setup of aurora adapter

This is some initial work to implement an adapter for AWS Aurora Serverless. For more information see https://github.com/prisma/prisma/issues/1964
This is an open source contribution and I am following the pattern implemented by previous adapters planetscale and neon. I have a AWS CDK repo that I can share here soon.

Looks like there is a pattern for community supported adapters that I should follow


Faster SolveTOI in some cases

I had an issue where SolveTOI was using 40% of the step even though the majority of contacts were not eligible for TOI (both bodies were dynamic and not bullets, or one of the fixtures was a sensor). I was able to reduce that to 3% by partitioning contacts based on TOI eligibility.
During creation, contacts that include a sensor or two non-bullet dynamic bodies can be considered ineligible for TOI, and inserted into one end of the contact list, while contacts that are eligible for TOI are inserted into the other end. Then in SolveTOI, the loop that finds the minimum contact only needs to iterate over the eligible portion of the contact list.
This adds some cost to functions that modify TOI eligibility: b2Fixture::SetSensor and b2Body::SetBullet must iterate through the body's contacts to check if eligibility changed, and move the contact to the other partition if necessary. Based on normal usage this trade-off should be worth it.
Here are the changes in SolveTOI times for all tests that had times greater than 0.01ms (average from 4 runs).
Tumbler (1800 steps): 0.12ms -> 0.05ms
Add Pair Stress Test (240 steps): 0.48ms -> 0.23ms
Multithread Demo (1800 steps): 5.49ms -> 0.37ms
Multithread Demo is a test from my multithreaded fork, but there's not any multithreading in the test itself. Here's a copy if you want to reproduce with it: https://pastebin.com/DqRCVHq6
If you look at the implementation in my fork you'll see that I used a contact array rather than a list. This just made it easier to assign ranges of contacts to different threads for collision processing.

// During contact creation, partition contacts based on eligibility.
if (IsTOIEligible(contact)) {
    eligibleContacts.push_back(contact);
} else {
    ineligibleContacts.push_back(contact);
}

// During SolveTOI, iterate only over eligibleContacts to find minimum TOI.
for (const auto& contact : eligibleContacts) {
    // Find minimum TOI among eligible contacts.
    // ...
}

// When SetSensor or SetBullet is called, update contact eligibility.
void b2Fixture::SetSensor(bool isSensor) {
    // Check if eligibility changed.
    if (IsTOIEligible(contact)) {
        // Move contact from ineligibleContacts to eligibleContacts.
        // ...
    } else {
        // Move contact from eligibleContacts to ineligibleContacts.
        // ...
    }
}


Missing video list

Missing video list everytime someone please help

Hey @marcusbake22, which anime are you downloading? If you would like to share the name, I can take a quick look.

i was downloading domestic girlfriend and even seven deadly sins but it keeps doing that

Hey @marcusbake22, I checked "Domestic na Kanojo" is downloading for me. May I ask if you are able to watch it on animepahe site from your device? If yes, then please run script with -d flag in the end, it will enable debug log. If you'd like to share some debug logs here, I will take a closer look.

@KevCui why isn't the script working

Hey @marcusbake22, it looks like you are in the wrong directory ~/Documents where script is not present. You need to cd to the right directory and then run script.

Hey @marcusbake22, since I haven’t heard from you in the last two months, I assume you’ve resolved your issue? I'm closing this issue ticket. If you still have trouble, feel free to add a comment and let me know.


Issue #74: read stdin in binary mode (archive_upload) with Python 3

An alternative solution for #74 that does not require version sniffing like #75

oh wait, this will probably not work under python 2.
So version sniffing will be necessary unfortunately

I force-pushed a reworked version that re-introduces the version sniffing to make sure things keep working under python 2.
Note that under python 2, even though the object looks like <open file '<stdin>', mode 'r' at 0x10dd440c0>,  the data read from it return as str but that is equivalent with bytes from Python 3.

quick experiment about python 2 and 3 handling binary data on stdin:
$ head -c 10 /bin/ls | python2 -c "import sys; x=sys.stdin.read(); print type(x), repr(x)"
<type 'str'> '\xcf\xfa\xed\xfe\x07\x00\x00\x01\x03\x00'

$ head -c 10 /bin/ls | python3 -c "import sys; x=sys.stdin.buffer.read(); print(type(x), repr(x))"
<class 'bytes'> b'\xcf\xfa\xed\xfe\x07\x00\x00\x01\x03\x00'

Thank you. I appreciate the investigation and comment referencing the upstream bug, and the explicit check against file_obj.mode. For this reason I prefer this over #75, but thank you also to @cnjr2 for finding the original workaround.


Zip files from GitHub not deleted

The intended behaviour of the GitHub miner is that zip files are deleted once extracted. However this rarely seems to happen (though it does happen on occasion so the behaviour seems to be non-deterministic).

I have attempted to alleviate the issue, but to no avail. I have attempted to to close the out and input stream of the zip file before deleting, but this didn't seem to help.
I've also tried to immediately close the input stream and delete the zip file if creation of the zip file was not successful.

Fixed in #230.


Update mixed content article to reflect plans to upgrade/block passive mixed content

First pass at an update to the mixed content article, in light of increasing HTTPS usage and Chrome's announced plans to autoupgrade or block passive mixed content.
The linked announcement has the original plan, and is being updated as the canonical reference source with any delays or changes to the timetable.

[ ] This has been reviewed and approved by (NAME)
[ ] I have run npm test locally and all tests pass.
[ ] I have added the appropriate type-something label.
[ ] I've staged the site and manually verified that my content displays correctly.

CC: @petele

@kaycebasques - FYI since you're potentially migrating this content to web.dev


Time zone issue

Steps to reproduce
What action or series of actions is the cause of the issue?

I live in NewZealand, many of my friends are in Europe which is why I want to be reminded one day prior at 5 pm and on their birthday on 5 pm;
action 2;
action 3;

Expected behavior
What should happen?
Lets say Birthday is 5. Oct. so I should get a notification on 4. Oct at 5pm NZ time and on 5. Oct 5pm NZ time
Current behavior
What happens instead?
I get a notification on 3. Oct and on 4. Oct. The birthday is shown to me to be on 4. Oct instead of 5. Oct.
Context

Version of the script: 2.1.3
Any other details which might be related to the context;

Extended description
Try to describe the problem in the most complete way you can add images,
error messages, hypothesis and observations regarding the problem here.
Possible solution
There is probably an error in the calculation between time zones.

Hello @mile1206, thanks for reporting this. Can I ask you some more questions?

You said you receive notifications on the wrong day: is the hour wrong as well or is it correct?
Could you please paste here the values of myTimeZone and notificationHour of your script?
Just to be sure I got this right: you want to receive at 5pm 2/10/2017 (NZ time) the notifications relative to birthdays on 2/10/2017 and 3/10/2017 European time?

Thank you for your time.

Hi Giorgio,
I am sorry I might have not been clear.
The notifications arrive at the correct date and time but (!) the date of the birthday - which is the variable formattedDate in your script, I believe - is incorrect.
I believe the error arises because of back and forth calculations of time zones.
One example (with my settings:
var myTimeZone = 'Pacific/Auckland';
var notificationHour = 19 ;
var anticipateDays = [0];
The actual birthday could be 04/10/2017, but I would get a notification on the 03/10/2017 at around 19:15 and the notification would say "Birthday today (03/10/2017)".
I hope that helps.
Cheers
Michael

Thank you, now I understand!
The problem seems to be that the date is formatted using your local timezone, not the birthday one.
I'll look into this and report here my findings, but as far as I can remember we have two options:

Format the date using your local time zone (myTimeZone)
Format the date using your Google Calendar time zone
Introduce a new time zone variable which can be set to any value and use it to format the date instead (this would add some complexity, so I'd like to discuss with the other collaborators, but there will will talk about this if it is needed)

By the way: what is the time zone of your Google Calendar account? You can see this in "Settings" in Google Calendar.

No worries. My calendar timezone is Auckland/NZ.
The actual problem that I have is the following: NZ is way ahead of all European time zones and I would like to be reminded by the script for birthdays in NZ as well as in Europe.
So, these are the min. requirements:
For European birthdays: Ideally on the same day (the birthday) at ~19:00 NZ time (which is in their morning) and on the following day at ~8:00 in the morning NZ time (which is their evening).
For NZ birthdays: On the same day at ~8:00 NZ time.
That way I should never forget any birthday. To do this I would prefer to be reminded several times regardless of where that person lives (I don't mind to be reminded too often).
Maybe the best solution is to have two scripts running. One with these values:
var myTimeZone = 'Pacific/Auckland';
var notificationHour = 8 ;
var anticipateDays = [0];
That should cover the NZ birthdays just fine (and gives me a hint that soon there will be a bd in Europe)
and the second script:
var myTimeZone = 'Europe/Berlin';
var notificationHour = 8 ;
var anticipateDays = [0];
That should cover the European birthdays just fine (and give me a second chance to congratulate a bd in NZ)
All of this however needs the formattedDate issue to be soved first.
I found a brute force solution by adding one day to the formattedDate, because it seemed to be one day off:
formattedDate = Utilities.formatDate(new Date(now.getTime() + timeInterval + 24 * 60 * 60 * 1000), calendarTimeZone, _('dd-MM-yyyy'));
thanks
Michael

Another issue:
I tried to do exactly what I decribed above with two scripts running at the same time. Unfortunately for the second script I wasn't able to load "Advanced Google Services". It wouldn't be able to load correctly. Would you know why?

I've never tried running more copies of the same script at the same time and while I cannot pinpoint anything that would prevent this from working there could be some unknown compatibility issues.
My suggestion to solve this problem is to introduce the possibility to have multiple notifications hours on the same script (exactly like you can have multiple daysBefore). It should be both easy to implement for us and to set up for the users.
Paging @baatochan and @rowanthorpe to get an opion on this.

(FWIW: @GioBonvi I remember at some point fixing some stale documentation which still referred to "number of hours before" rather than "number of days before" and if I remember correctly from scrolling through old git-logs it was a leftover from an earlier version when the setting/processing was for "hours before" anyway).
In my opinion a less confusing system than either of:

having multiple scripts running to achieve different notification-hours
having separate configuration for "days before" alerts and/or "hours before"

is to just allow additional handling of entries of string type (with optional suffix in the string) in the config-array, so that this:
var notificationHour = 6;
var anticipateDays = [0, 1, 7];

could be equivalently expressed (in a silly example) by:
var defaultNotificationHour = 6;
var anticipateLength = [ '0d', '18h', 7];

where the 18h explicitly specifies hour (1 day = 24 hours before, minus 6 hours for the equivalent of notificationHour=6, means 18 hours before), and '0d' = '0' = 0 (the 'd' suffix being redundant as it is the default unit), and both the 0 and 7 (days) default to "at 6am on that day" as per defaultNotificationHour. A syntactic alternative to bare-number/string could be bare-number/2-element array (which would remove the need for the "split to val/unit, convert string-val to integer-val" steps), e.g.:
var defaultNotificationHour = 6;
var anticipateLength = [
  [0, 'd'],
  [18, 'h'],
  7,
  [12, null]
];

where, as in the case of the [12, null], null means "default" which means 'd'.
The way this could be handled in the code is, rather than the following trigger logic:

Wake up at notificationHour each day and send a notification if there is
something to send for this day = anticipateDays

we have this logic:

Wake up every hour, and if there is a match for anticipateLength (day/hour)
then send a notification

and as long as we keep the 'wake up and see if there is an anticipateLength match' logic as lightweight as possible (early exit on no match) and don't hammer the API unnecessarily, that shouldn't become problematic to run every hour. I think we are already pretty close to optimal WRT "early exiting", and "no unnecessary churn".

I actual feel like your suggestion is a little bit too complicated for most users (since I imagine this feature would be used by a very small part of the total). I think we should implement it in some other way.
I've not thought a lot about this but what about a {numberOfDays: [hours]} structure? Something like:
{
  0: [6, 20],
  1: [6],
  7: [20]
}

It should be easy to integrate in the code: wake up every hour, build an array with the keys corresponding to arrays containing the current hour: the obtained array would be in the same format as the current version one and if it was empty it would mean that for that hour there is nothing left to do.

By the way, @mile1206, rethinking about your original issues I've just realised that it should not happen at all since 6am in Europe translates to late evening of the same day in Australia, while I previously thought that the problem was caused by a change in the day between the two time zones.
I'll have to think about it some more...

@GioBonvi
What we both suggested is semantically effectively the same (requires exactly the same functionality once the config-syntax has been massaged into usable vars - waking up every hour, etc). Therefore the differences are syntactic (in "how the config-var should look"). The differences between the 3 suggestions so far (which each have different pros/cons) are below. There are many other variations possible (I suggest another further down, which is  a bit of a hybrid of our other suggestions, and now I re-read it, I think may be a better suggestion, if readability and flexibility are higher priority than backwards-compatibility):

My first suggestion:

is still an array - can be visually backwards compatible for those who don't want to tweak it (e.g. [0, 1, 7])
can be readable as single-line in its simple form
allows optional specification of day/hour, defaulting to day if not specified
is free-form in terms of order of day and/or hour
allows any of the following within the array

positive integer
string with suffix
string without suffix

This means it:

(+) only requires a "change" from the users who need it, others can copy-paste (or sed) existing setting
(=/+) is only less concise for those who need to change it (require day or hour)
(+) is more flexible (require day or hour)
(-) is less explicit (hour can be overridden, less intuitive for non-technical people)
(=/-) is as readable as before, except for those who need the new format, where it can become noticeably less readable
(-) needs string-manipulation and sanity-checking

My second suggestion:

is an array-of-arrays rather than an array, with mandatory day-integer-key and optional hour(s)-array-value (null means default) - is not visually backwards-compatible with the previous format
needs to be multiline to be readable
allows optional specification of day/hour, defaulting to day if null
allows positive integer as the first element & string-or-null as the second element of each sub-array
is free-form in terms of order of day and/or hour

This means it:

(-) requires a "change" from the user, rather than just copy-paste (or sed) existing setting
(-) is less concise (require day or hour-per-line)
(+) is more flexible (require day or hour)
(-) is less explicit (hour can be overridden, less intuitive for non-technical people)
(-) is noticeably less readable than before
(=/-) needs no string manipulation, and minimal sanity-checking on second element

Your suggestion:

is now a hash-of-arrays rather than an array, with mandatory day-integer-key and hour(s)-array-value - is not visually backwards-compatible with the previous format
needs to be multiline to be readable
requires explicit specification of day and hour(s) for each notification(s)
requires different notifications on the same day to be grouped together
only allows positive integers within the object & each sub-array

This means it:

(-) requires a "change" from the user, rather than just copy-paste (or sed) existing setting
(-/=) is slightly less concise (require day-and-hour(s)-per-day, but group multiple notifications per-day per-line)
(-) is less flexible (require day & hour)
(+) is more explicit (no need for default hour, more intuitive for non-technical people)
(=/-) is slightly less readable than before
(=) needs no string-manipulation, and about the same sanity-checking as before is required

Another variant could be:
var defaultNotificationHour = 6;
var anticipateLength = [
  { day: 0, hour: 6 },       // means "06:00" on the day of the event
  { day: 2, hour: null },    // null 'hour' means default (06:00)
  { day: 3 },                // no 'hour' means default (06:00)
  { hour: 50 },              // no 'day' means count the hour as "how many hours before
                             // the event" instead of "hour of day"
  { day: 10, hour: [8, 20] } // array means at all specified hours on that day
];

and the default setting (that would match the existing one) for that variant would be:
var defaultNotificationHour = 6;
var anticipateLength = [
  { day: 0 },
  { day: 1 },
  { day: 7 }
];

Hi again!
Sorry to be pushy. Has there been any progress in this issue? Appreciate your help.
Cheers Michael

Hello @mile1206, sorry, I complete forgot to update you.
Regarding the original bug I failed to identify the root cause of the date shift (I am still running some tests, but they proceed very slowly ajd without any conclusively finding)
Regarding the multiple hours/dates setting we still have not settled on a definitive answer.
Today or tomorrow at least a new version (v4.0.0) should be released (I'll notify you by posting a message here). I don't think updating to it will solve your problem, but at least that way we will be on the same page and an eventual solution can be directly pushed to the development branch.
Thank you for your patience

@mile1206 In terms of the issue:
could you paste this function at the end of the script:
function x (){
  var xxx = new Date();
  log.add(xxx + ' ' + xxx.getTimezoneOffset());
}

run it (as you run notifStart during configuration, but now the name is x) and paste the content of the log here (to get the log you press ctrl + enter)?

Few notes why I suggested that.
I think that the problem may be in line R1927. While the trigger is set to correct time zone in this line we just get new Date() and AFAIK it returns a date in client time zone. However, in our case, the 'client' is the Google server which runs this script, not the user. It's possible that the closest Google server to New Zeland is located in the USA. And in that case when the script is run at 6 AM New Zeland time of X day, new Date() would return 10 PM of X-1 day in the Las Vegas time zone. And while using that Date for our script to run it would return events of X-1 day.
That explanation would be correct with the symptoms that @mile1206 gets.
And if that's a case we have to convert this date to client time zone. It doesn't happen to us because AFAIK we're all from Europe and (at least for me in Poland) the closest Google server is located in UTC+2 time zone which corresponds to the time zone in Poland.
However, I'm not 100% sure if that's a case because when I used VPN to connect to Google (from the USA and Japan) it always returned me UTC+2 time zone.

@baatochan
You might be onto something: the VPN thing might not work if the server is chosen based on the location you set in your Google Account (e.g. Google knows you are from Poland not because you are connecting from Poland, but because you have specified so in your account details.
@mile1206
Please follow @baatochan advice, but add this line Logger.log('Session timezone: ' + Session.getScriptTimeZone());
Resulting in:
function x (){
  var xxx = new Date();
  log.add(xxx + ' ' + xxx.getTimezoneOffset());
  Logger.log('Session timezone: ' + Session.getScriptTimeZone());
}

I thought about that (that Google knows I'm from Poland because I set it) but I don't understand why it would choose Europe server when I connect from a different part of the world. The only explanation I see is that Google chooses my time for the Date() class and not the server time which would be clever but then it would not explain @mile1206 issue.
Or there is even simpler explanation - all google scripts works on servers that use Europe time because of reasons (don't know then why they don't use just UTC time then).
Anyway, there is no need in trying to guess that - it's best to just wait for @mile1206 answer.

I added function x and when I run it I get this error:
ReferenceError: "log" is not defined. (line 644, file "Code")Dismiss

I followed the fake test date routine and this is the log:
[17-10-16 15:40:24:677 PDT] Testing.
[17-10-16 15:40:24:701 PDT] Test date: Tue Oct 03 2017 20:48:00 GMT-0700 (PDT)
[17-10-16 15:40:24:702 PDT] Starting run of Google Birthday Notifier version 2.1.3.
[17-10-16 15:40:24:703 PDT] Date used: Tue Oct 03 2017 20:48:00 GMT-0700 (PDT)
[17-10-16 15:40:24:707 PDT] Checking birthdays from 2017-10-05T03:48:00Z to 2017-10-05T03:48:01Z
[17-10-16 15:40:24:824 PDT] Found 1 birthdays in this time range.
[17-10-16 15:40:24:826 PDT] Contact #0
[17-10-16 15:40:24:828 PDT] Has full name
[17-10-16 15:40:28:500 PDT] Has birthday year.
[17-10-16 15:40:28:505 PDT] Has phones.
[17-10-16 15:40:28:512 PDT] Checking birthdays from 2017-10-06T03:48:00Z to 2017-10-06T03:48:01Z
[17-10-16 15:40:28:740 PDT] Found 0 birthdays in this time range.
[17-10-16 15:40:28:741 PDT] Sending email...
[17-10-16 15:40:28:779 PDT] Email sent.

Oh, my bad, then run this:
function x () {
  var xxx = new Date();
  Logger.log(xxx + ' ' + xxx.getTimezoneOffset());
  Logger.log('Session timezone: ' + Session.getScriptTimeZone());
}

However from this test output it can be seen that the script uses PDT time zone.
Also, it would be great to check the value of script time zone which can be checked in File > Project properties > Info > Time Zone

@mile1206, which date and hour did you use to run the test? (the exact vale you set fakeTestDate to)

the log to the x function:
[17-10-17 00:37:51:063 PDT] Tue Oct 17 2017 00:37:51 GMT-0700 (PDT) 420
[17-10-17 00:37:51:064 PDT] Session timezone: America/Los_Angeles
faketestdate was: var fakeTestDate = '2017/10/03 20:48:00';

Could you provide us script time zone which can be set in File > Project properties, in the tab 'info' there is a field with called 'Time Zone'? It looks like it's set to Los Angeles

yea its gmt -8 pacific time

So the easiest way to solve you're issue is to change that to New Zealand time

i did put in auckland/pacific time though, in the customization part of the script

Yes, but it looks like it's not obeyed everywhere. As for now just change it and it should be fine.
@GioBonvi I'm working at making the script working completely without taking this setting into account and I hope I'll finish it until today evening so it should be ready before v4.0.0 release.

okay thanks

@GioBonvi, @rowanthorpe  if you'll have time look at time-zone-issue branch in my fork.
My idea was that if the script uses wrong time zone then the date in the correct time zone has to be converted to the corresponding exact date (same day and hour) in that wrong script time zone. I find I was able to do it, but I don't know. After few testing, it looks like it works.
If the functions that I wrote are OK (and useful for us) then I can start to implementing usage of them in the real code (right now they are never used).

Thanks, I'll look at it this evening

I have looked into your code, but have not tested it: does it solve this issue? On which date could you apply the functions?
I ask this because on second thought I believe that the issue is originated by a date formatting issue instead of an actual date issue: let me explain why.
In javascript dates are fundamentally timestamps (seconds passed from the 1/1/1970): they do not take timezones into account (except when outputting the date as string).
For example 10/17/2012 20:00 (UTC) and 10/17/2012 21:00 (UTC+1) would be the same date in javascript (having timestamp<PHONE_NUMBER>).
Now: I've checked and tested this: the script calls the trigger at the right time. If the user has set it to fire at 20:00 Pacific/Auckland on 17/10/2017 it will do so correctly, so new Date() will generate an object based on the timestamp<PHONE_NUMBER> both if the script time zone is set to "Pacific/Auckland" or "Europe/Paris" or "GMT-8".
The timezone matters when outputting the date as string, because<PHONE_NUMBER> represents an instant in time, not a date. So<PHONE_NUMBER> in "Pacific/Auckland" is 17/10/2017 20:00, while in "Europe/Paris" it is 17/10/2017 09:00 and in America/Los angeles it is 17/10/2017 00:00.
This would let me think that the probelm is somewhere in the output, but I could not find it.

Just to let you know, the problem persists. I changed the time zone as batochan suggested but in the log files I still see Los Angeles time. Also when I delete the one additional day that I put in as a brute force solution, birthdays migrate to one day before they actually are, so from 4. October to 3. October.
I think there is a fundamental flaw in the time calculation somewhere.

Yes, there probably is, but don't have enough time to put into this to find out the culprit right now. In fact I have lttile time to work on this project in general 😾

sorry, just pointing it out.

In fact I thibk that once v4.0.0 is released I am taking some days off: hopefully @baatochan, @rowanthorpe or some kind stranger is able to sort this out.
Sorry again

@mile1206 what is the log of the x function after changing what I suggested? Is it the same?

it is:
[17-10-19 01:22:47:317 PDT] Thu Oct 19 2017 21:22:47 GMT+1300 (NZDT) -780
[17-10-19 01:22:47:319 PDT] Session timezone: Pacific/Auckland
but that didn't solve the issue unfortunately.

@mile1206 I'm really sorry for leaving you without the answer for so long. I've been very busy with my university stuff lately.
Does the problem persist or has it been resolved by changing this setting?

Hi!
The code has a flaw in time zone calculation but I am unable to pinpoint it.
I have a - not very elegant - solution that I am happy with:

to have several times of the day I am running two scripts.
to make up for incorrect timing I added a day in the calculation of formattedDate as explained above as 'brute force'

formattedDate = Utilities.formatDate(new Date(now.getTime() + timeInterval + 24 * 60 * 60 * 1000), calendarTimeZone, _('dd-MM-yyyy'));

Closing this as the fix has been merged to master.


(DOCSP-25798) Removes saas from Charts custom role path

Build

@melissamahoney-mongodb Would you like this to go out immediately, or as part of our next release cycle?

@sarahsimpers Would you like this to go out immediately, or as part of our next release cycle?

Sooner would be better as these links are dead in Atlas docs. Thank you so much!!

@sarahsimpers This change should now be used in new builds!


Choosing the installation directory when installing programs

Being able to choose the installation directory would be useful on systems with low capacity boot drives but high capacity secondary drives. This would allow them to use winget without worrying about running out of space on their boot drive.
It could maybe be used with an argument such as --installpath to be used like this:
winget install steam --installpath "D:\Programs"

@ErickHoward we have a setting if it can be honored by the installer. Did you try winget install <package> --location <path>?
PS C:\Users\denelon> winget install -?
Windows Package Manager v1.0.11694
Copyright (c) Microsoft Corporation. All rights reserved.

Installs the selected package, either found by searching a configured source or directly from a manifest. By default, the query must case-insensitively match the id, name, or moniker of the package. Other fields can be used by passing their appropriate option.

usage: winget install [[-q] <query>] [<options>]

The following arguments are available:
  -q,--query        The query used to search for a package

The following options are available:
  -m,--manifest     The path to the manifest of the package
  --id              Filter results by id
  --name            Filter results by name
  --moniker         Filter results by moniker
  -v,--version      Use the specified version; default is the latest version
  -s,--source       Find package using the specified source
  --scope           Select install scope (user or machine)
  -e,--exact        Find package using exact match
  -i,--interactive  Request interactive installation; user input may be needed
  -h,--silent       Request silent installation
  --locale          Locale to use (BCP47 format)
  -o,--log          Log location (if supported)
  --override        Override arguments to be passed on to the installer
  -l,--location     Location to install to (if supported)
  --force           Override the installer hash check

More help can be found at: https://aka.ms/winget-command-install

Ah thanks, sorry I kept on forgetting to reply. I didn't know that this feature existed! That's good to know!

Is there a way to configure a default install path, or is it necessary to pass the argument with each installation?


[RRFC] Add ability to spread attributes, properties, and listeners to elements

[X ] I searched for an existing RRFC which might be relevant to my RRFC

Motivation
This has been a long standing request and is generally useful when passing around blobs of related data that should be handed down between elements together.
Supporting this capability could also be used to satisfy [RRFC] Better Declarative Host Manipulation.
Example
html`<x-foo ${spread({value: this.value, class: {selected: this.selected}, '@foo': this.handleFoo})}>...`

How
Here is a slightly opinionated prototype of a spread directive. Sample usage with a bit of explanation inline:
html`<x-foo ${spread({
  '.prop': 5,
  '@event': fn,
  '?boolAttr': true,
   attrOrProp: 'prop if "in"',
   class: 'x' || {x: true},
   style: 'top: 0;' || {top: 0}
})>...`

Opinions (favoring simplicity)

attribute or property is auto-detected with an in check
attributes automatically convert to boolean when value is boolean and unset whenever null-ish
classMap/styleMap behavior is built in

In addition, the prototype provides a host directive that can be used in ChildPart position, e.g.
html`${host({tabIndex: 0, 'aria-hidden': true, '@click': this.handleClick})}...`

And a tag directive that obviates the need to use static-html, also building upon spread, e.g.
html`${tag('button', {'@click': fn}, `Hi `, html`<img ...>`)}...`

Caveats
Values that are spread into elements can conflict with otherwise bound values. While not necessarily harmful and following a simple "last one wins" rule, this behavior could be unexpected or a potential foot-gun. It's up to the user to understand this and ensure proper configuration.

A good workaround for spread attributes:
Instead of spreading attributes onto your element, have a function that applies the common attributes, and accepts additional customization props.
Thus, this:
const commonProps = {
  class: 'my-link',
  target: '_blank',
};
html`<a href="#" ...${commonProps}>${label}</a>` // not supported

turns into this:
function CommonLink({href, children}:{href:string, children:TemplateResult|string}): TemplateResult {
  return html`<a class="my-link" target="_blank" href=${href}>${children}</a>`;
}
/// later:
return CommonLink({href: '#', label: label })

Even better, CommonLink now supports spread syntax (for limited set of props), and you get good type-checking:
const commonProps = { href: '#' };
return CommonLink({...commonProps, label: label })

I don't think that this feature would be a good enhancement for Lit. The main drawback I see with it is that it muddles the template language in an unacceptable way.
The example posted gives the impression that the template is still legible.
html`<x-foo ${spread({
  '.prop': 5,
  '@event': fn,
  '?boolAttr': true,
   attrOrProp: 'prop if "in"',
   class: 'x' || {x: true},
   style: 'top: 0;' || {top: 0}
})}>...`

I believe this example is not representative and a common template would be
html`<x-foo ${spread(props)}>...`

This is disruptive to how we read templates and makes it really hard to understand what a component does.
The use case of dynamic properties is niche enough that a "userland" solution is good enough.


socanui just exits on interface that's not up

Starting socanui on a CAN interface that's down, it just exists without any error message:
$ ip a s flexcan0
3: flexcan0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN group default qlen 10
    link/can
$ ./socanui flexcan0
$ echo $?
1

strace shows:
clock_gettime(CLOCK_MONOTONIC, {tv_sec=1574, tv_nsec=999891986}) = 0
read(3, 0x5a67a0, 16)                   = -1 ENETDOWN (Network is down)
exit_group(1)                           = ?

V0.11: The interface is now checked to see if it is up


Fix test cases to get correct schedule ids

Follow-up of #1451.
acceptance.ServerScheduleIT FAILED with the following error. e.g. https://github.com/treasure-data/digdag/runs/1065603120
acceptance.ServerScheduleIT > testSkipAndEnable FAILED
    java.lang.AssertionError:
    Expected: is <2291-02-09T10:00:00Z>
         but: was <2291-02-09T00:09:00Z>
        at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
        at org.junit.Assert.assertThat(Assert.java:956)
        at org.junit.Assert.assertThat(Assert.java:923)
        at acceptance.ServerScheduleIT.testSkipAndEnable(ServerScheduleIT.java:461)

Somehow verifyPyOnDocker failed but it seems not related to this...
acceptance.DockerIT > verifyPyOnDocker FAILED
    java.lang.AssertionError:
    Expected: is <true>
         but: was <false>
        at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
        at org.junit.Assert.assertThat(Assert.java:956)
        at org.junit.Assert.assertThat(Assert.java:923)
        at acceptance.DockerIT.verifyPyOnDocker(DockerIT.java:194)

Thank you!


Fixed camera info warning

There is a new warning https://ci.ros2.org/job/ci_linux_clang_libcxx/65/gcc/new/source.2a395b20-72e7-49cc-890d-ae96e094e60a/#77
This PR should fix it

Linux
Linux-aarch64
Windows


fix falcon-40b accuracy issue

This PR added the "DecoderLayer":glmtype. It will cause the Falcon model to choose "glmtype" fused_qkv_type. Falcon model (including Falcondecoderlayer) needs to choose 'bloomtype' explicitly.

Hi @Yejing-Lai  to better understand the accuracy issue this PR intend to fix, can you post a reproducer script and add output before/after the fix?  Thanks!

Hi @mrwyattii. From the failure log it seems like a device space issue. Can you check this issue? Thanks!


Netrw fails to open file with long filename

Steps to reproduce
Add let g:netrw_liststyle = 1 to .vimrc
Create a directory with several files like in the following screenshot

123456789012345678901234567890 and<PHONE_NUMBER>123456789012345678901 open correctly
12345678901234567890123456789012 does not open correctly. Vim opens the<PHONE_NUMBER>1234567890123456789012 29 Thu Mar 31 13:17:54 2022 file instead. Same problem with<PHONE_NUMBER>12345678901234567890123.

Expected behaviour
File<PHONE_NUMBER>1234567890123456789012 should open correctly.
Version of Vim
8.2.4113
Environment
Operating System: macOS 12.3 (I'm running the macOS default version of Vim)
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Feb 12 2022 04:26:50)
macOS version - x86_64
Included patches: 1-4113
Compiled by<EMAIL_ADDRESS>Logs and stack traces
No response

See  :help g:netrw_maxfilenamelen  and set it to a larger number.

And the next complaint will be that for 33+ character filenames that the long listing display is uneven. I suppose that that's better than picking up an incorrectly named file, so I'll include it.


Open record in browser

Within the new dynamics 365 app for outlook v 9, are we loosing the ability to click and open the regarding record in a browser?

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

ID: b4bb8dcf-9211-591e-4ddc-a82ba53b2807
Version Independent ID: 4b501c46-bd2e-457d-c891-2ebea3e44967
Content: Deploy Dynamics 365 App for Outlook (Dynamics 365 Customer Engagement)
Content Source: ce/outlook-app/deploy-dynamics-365-app-for-outlook.md
Service: crm-online
GitHub Login: @mduelae
Microsoft Alias: mkaur

Hi I was wondering if you have any update on this issue. With the new Dynamics 365 app for outlook, the user has lost the ability to open the regarding request in a browser. I see that right click on the regarding record has the option OPEN but this resolves to an empty URL.

Thank you for your feedback. I have checked with our PM team and here is their response.
With Dynamics 365 App for Outlook version 9.0, you cannot open records in browser. You can, however open the record within the App itself. This is valuable feedback and we are working on providing the ability to open records in browser soon.
Thank you,
Manjinder Kaur


Validations on fqdn & label length limits

FQDN limit is 253.
Label length is 63.
We should have validations that give good error messages when those things are hit.
/cc https://en.wikipedia.org/wiki/Domain_Name_System for ref on the 63 label length and 253 char textual representation limits

Addressed by https://github.com/github/octodns/pull/415


Wrapper missing for lys_find_xpath_atoms

I was wondering if there is a plan to add wrappers for the remaining libyang api such as lys_find_xpath_atoms

We are not actively working on adding C++ bindings for all functions that are exported by libyang. We're happy to review patches which implement the missing functionality. If you need some help getting your first patch merged, just ask.
Looking at the docs, this function seems pretty low-level, so I'm curious: what do you need it for, btw?


Logging - invalid format?

Question about logging - it doesn't look like it's configured correctly out of the box when using templates.
Log messages are with placeholders e.g. {ContentType}
{"EventId":2,"LogLevel":"Debug","Category":"Microsoft.AspNetCore.Mvc.Infrastructure.DefaultOutputFormatterSelector","Message":"Selected output formatter \u0027Microsoft.AspNetCore.Mvc.Formatters.SystemTextJsonOutputFormatter\u0027 and content type \u0027application/json\u0027 to write the response.","State":{"Message":"Selected output formatter \u0027Microsoft.AspNetCore.Mvc.Formatters.SystemTextJsonOutputFormatter\u0027 and content type \u0027application/json\u0027 to write the response.","OutputFormatter":"Microsoft.AspNetCore.Mvc.Formatters.SystemTextJsonOutputFormatter","ContentType":"application/json","{OriginalFormat}":"Selected output formatter \u0027{OutputFormatter}\u0027 and content type \u0027{ContentType}\u0027 to write the response."}}

@karpikpl can you explain this problem? Can paste your sample code here?

I think I miss-interpreted how it's supposed to work...
I got it on the out-of-the-box sample, and it had this \u0027{OutputFormatter}\u0027 and content type \u0027{ContentType}\u0027 to write the response. which I think is expected, since it logs the message and the "format" of the message.
It was just little hard to read from console.

This bug no longer exists, in some tests performed, the log no longer has any problems
{"@timestamp":"2023-03-22T14:38:06.7596942-03:00","log.level":"Error","message":"Unexpected error: System.InvalidOperationException: Error constructing handler for request of type MediatR.IRequestHandler2[Liquid.Arch.Demo.Application.Handlers.V1.Data.SearchData.SearchDataRequest,Liquid.Arch.Demo.Application.Handlers.V1.Data.SearchData.SearchDataResponse]. Register your handlers with the container. `


Reconcile for creating TenantAdminNamespace on Tenant creation

This change implements creating TenantAdminNamespace upon tenant creation.
Controller adds tenant OwnerReference to TenantAdminNamespace. TenantAdminNamespace will be deleted when tenant CR is deleted. Reconcile fails if the TenantAdminNamespace has been created but owned by others.
The reconcile logic for namespace deletion will be done in next change.

/assign @rjbez17

/lgtm
/approve


print values without using "echo"

Coming from Python, I really like that you can do this:
>>> a = 7
>>> a
7
>>> 1+1
2

That is, when you create a variable, you can print its value without using the print() function. The same is true for expressions.
INim works like this at the moment:
nim> var a = 7
nim> a
Error: expression 'a' is of type 'int' and has to be discarded; start of expression here: inim_1539330313.nim(1, 0)
nim> 1+1
Error: expression '2' is of type 'int literal(2)' and has to be discarded; start of expression here: inim_1539330313.nim(1, 0)
nim>

It would be great if we could mimic the Python REPL. Maybe it could be done like this: try to execute the line as it is. If there is an error, rewrite the line by adding "echo" to the beginning of the line and re-execute the line. The second time output everything.
Or, a less appealing solution could be to define an alias function called "e" for instance that points on "echo". Thus we could print easier:
>>> var a = 7
>>> e a    # short for `echo a`
7
>>>

The nim secret REPL does just that, like the python REPL.  So you can go:
>>>11 / 3
3.66666666666666667
>>>11 div 3
3
>>> 11 mod 3
2

etc etc... just type nim secret at the prompt. It's not as pretty as iNim and doesn't support Ctrl-L to clear the screen, but for simple Nim maths calculation and printing variables, it's fine.
A VS Code tip, if you temporarily rename the file extension to .py in the sidebar, you can use shift-enter to send selected lines to  iNim (via the Python extension)...just Ctrl-D out and inim back in, and you can shift-enter send-to repl from then on...useful until the Nim plugin gets that feature. It also works for nim secret, coconut etc.

Pull Request up; https://github.com/AndreiRegiani/INim/pull/53

#53 Is MERGED!


Adding Factorial Calculator to the Projects

Related Issue

Adding Factorial Calculator that will generate factorial of a user-generated number.

Closes: #735
Describe the changes you've made

Added FactorialCalculator.html file
Added FactorialCalculator.css file
Added FactorialCalculator.js file
Added FactorialCalculator.jpg to /assets/Images/
Added FactorialCalculator_Background.jpg to /assets/Images/
Added FactorialCalculator_Logo.png to /assets/Images/

Describe if there is any unusual behaviour of your code(Write NA if there isn't)
NA
Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] New and existing unit tests pass locally with my changes.

Screenshots

@AnshikaAgrawal5501 there is some issue with your script file ,resolve that...
also please remove merge conflicts

Hi @ridsuteri, I have made the changes. Please review them.


Issue when Rocm and Cuda on windows

 python examples/chat.py C:\model\sparsetral-16x7B-v2-SPIN_iter1-exl2-6.5\ -p "Once upon a time,"
No ROCm runtime is found, using ROCM_HOME='C:\Program Files\AMD\ROCm\5.7'
Traceback (most recent call last):
  File "C:\model\exllamav2\examples\chat.py", line 5, in <module>
    from exllamav2 import(
  File "C:\Users\Sora\AppData\Local\Programs\Python\Python311\Lib\site-packages\exllamav2\__init__.py", line 3, in <module>
    from exllamav2.model import ExLlamaV2
  File "C:\Users\Sora\AppData\Local\Programs\Python\Python311\Lib\site-packages\exllamav2\model.py", line 25, in <module>
    from exllamav2.config import ExLlamaV2Config
  File "C:\Users\Sora\AppData\Local\Programs\Python\Python311\Lib\site-packages\exllamav2\config.py", line 2, in <module>
    from exllamav2.fasttensors import STFile
  File "C:\Users\Sora\AppData\Local\Programs\Python\Python311\Lib\site-packages\exllamav2\fasttensors.py", line 5, in <module>
    from exllamav2.ext import exllamav2_ext as ext_c
  File "C:\Users\Sora\AppData\Local\Programs\Python\Python311\Lib\site-packages\exllamav2\ext.py", line 2, in <module>
    from torch.utils.cpp_extension import load
  File "C:\Users\Sora\AppData\Local\Programs\Python\Python311\Lib\site-packages\torch\utils\cpp_extension.py", line 205, in <module>
    HIP_HOME = _join_rocm_home('hip') if ROCM_HOME else None
               ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Sora\AppData\Local\Programs\Python\Python311\Lib\site-packages\torch\utils\cpp_extension.py", line 158, in _join_rocm_home
    raise OSError('Building PyTorch extensions using '
OSError: Building PyTorch extensions using ROCm and Windows is not supported.
PS C:\model\exllamav2> python examples/chat.py C:\model\sparsetral-16x7B-v2-SPIN_iter1-exl2-6.5\ -p "Once upon a time,"
No ROCm runtime is found, using ROCM_HOME='C:\Program Files\AMD\ROCm\5.7'
Traceback (most recent call last):
  File "C:\model\exllamav2\examples\chat.py", line 5, in <module>
    from exllamav2 import(
  File "C:\Users\Sora\AppData\Local\Programs\Python\Python311\Lib\site-packages\exllamav2\__init__.py", line 3, in <module>
    from exllamav2.model import ExLlamaV2
  File "C:\Users\Sora\AppData\Local\Programs\Python\Python311\Lib\site-packages\exllamav2\model.py", line 25, in <module>
    from exllamav2.config import ExLlamaV2Config
  File "C:\Users\Sora\AppData\Local\Programs\Python\Python311\Lib\site-packages\exllamav2\config.py", line 2, in <module>
    from exllamav2.fasttensors import STFile
  File "C:\Users\Sora\AppData\Local\Programs\Python\Python311\Lib\site-packages\exllamav2\fasttensors.py", line 5, in <module>
    from exllamav2.ext import exllamav2_ext as ext_c
  File "C:\Users\Sora\AppData\Local\Programs\Python\Python311\Lib\site-packages\exllamav2\ext.py", line 2, in <module>
    from torch.utils.cpp_extension import load
  File "C:\Users\Sora\AppData\Local\Programs\Python\Python311\Lib\site-packages\torch\utils\cpp_extension.py", line 205, in <module>
    HIP_HOME = _join_rocm_home('hip') if ROCM_HOME else None
               ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Sora\AppData\Local\Programs\Python\Python311\Lib\site-packages\torch\utils\cpp_extension.py", line 158, in _join_rocm_home
    raise OSError('Building PyTorch extensions using '
OSError: Building PyTorch extensions using ROCm and Windows is not supported.

What should I do to forcing exllama2 to use cuda instead of detecting ROCM?

Sorry I skipped over this, apparently? My guess would be you have the ROCm version of PyTorch installed. Solution would be a venv with the CUDA version of PyTorch, probably.

I have Rocm Windows installed but not the pytorch for windows Rocm since that does not exist yet.
I think that's the problem is that it keep finding rocm of windows and skip pytorch by cuda.
how do I block exllama from finding rocm and just use cuda?

I can't actually think of a solution to this, since I don't understand what's going on at all. ExLlama will just import torch from the current venv, and I don't see how you could end up with both ROCm and CUDA versions installed in the same environment.

I can't actually think of a solution to this, since I don't understand what's going on at all. ExLlama will just import torch from the current venv, and I don't see how you could end up with both ROCm and CUDA versions installed in the same environment.

I have both Rocm and Rocm device but only cuda pytorch. it just detect Rocm first and I do not know why

I was getting a similar error to this under Ubuntu...
"No ROCm runtime found [...] OSError: CUDA_HOME environment variable is not set. Please set it to your CUDA install root."
What found was that it had defaulted to installing a version of pytorch that was +xpu
# pip list | grep -i torch
torch                   2.6.0.dev20241013+xpu

So I removed that and instead installed one that was more specific...
torch==2.6.0.dev20241013+rocm6.2

And now it's working, in the normal way it should, as I would expect.

That work for me  so i closed this as resolved


Update deployment-zip-push.md

add extra details about preserved files in zip deploymet

@ggailey777
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


Fixes to Pipe filterScan, CircuitBreaker Error suppression

So this fixes to main issues:

Pipe.filterScan was not correctly triggering push signals.  In a nutshell, when a pipe is full, agents trying to push to the pipe will get a PushResult.Full containing a signal that they can map on for when the pipe clears up and is again pushable.  filterScan is a method on BufferedPipe to traverse buffered items and remove any that don't pass a filter function.  This is used by ServiceClient's pending and sent buffers.  The issue was that when filterScan opened up a buffer, the push signals were not triggered.  This lead to a bug where ServiceClient would not properly resume sending requests if it disconnected and reconnected while the buffer was full.

CircuitBreaker now suppresses all closes/terminations.  This type mutably wraps a Pipe and suppresses its error states.  In particular the goal is for two circuitbreakers to link together, and even if the underlying pipes terminate/close, the link between the circuitbreakers is not severed.  This is used, for example, to connect ServiceClient to its underlying Controller.  In general this prevents things like disconnects from accidentally severing these links.  However we still need to detect when the underlying Pipe terminates/closes, so a new onBreak method has been added to deal with such states.  This is used, for example, in StreamTranscodingController to close the connection when a stream hits an error.

Issue 2 is leading me to believe that we need a different interface than pipes to handle the message passing between connection handler layers, something with the same back-pressure semantics but without the notion of termination/closed, which only makes sense for actual streams of data.  For now though these changes will get us the functionality we want.

Codecov Report

Merging #504 into develop will decrease coverage by -0.43%.
The diff coverage is 58.33%.

@@             Coverage Diff             @@
##           develop     #504      +/-   ##
===========================================
- Coverage    84.89%   84.46%   -0.43%
===========================================
  Files           98       98
  Lines         4264     4288      +24
  Branches       346      348       +2
===========================================
+ Hits          3620     3622       +2
- Misses         644      666      +22

Impacted Files
Coverage Δ

...in/scala/colossus/streaming/StreamTranscoder.scala
84.21% <100%> (-4.68%)
:x:

...ossus/src/main/scala/colossus/streaming/Pipe.scala
91.66% <100%> (+0.07%)
:white_check_mark:

...ossus/src/main/scala/colossus/streaming/Sink.scala
79.41% <100%> (ø)
:white_check_mark:

...main/scala/colossus/streaming/CircuitBreaker.scala
67.3% <48.27%> (-22.7%)
:x:

...n/scala/colossus/controller/OutputController.scala
88.09% <0%> (-9.53%)
:x:

...rc/main/scala/colossus/controller/Controller.scala
75% <0%> (-8.34%)
:x:

...sus/src/main/scala/colossus/streaming/Source.scala
84.72% <0%> (-1.39%)
:x:

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 d7c6a2a...ec8bc07. Read the comment docs.


About the version of python

Thank you for your nice work!
I have one minor question, when I use python 3.6, it says AttributeError: module 'contextlib' has no attribute 'nullcontext'. I think python should be version 3.7?

Yes, nullcontext is supperted by python >= 3.7


Add Pass action for Antrea-native policies

Close #2832
Signed-off-by: Yang Ding<EMAIL_ADDRESS>

Codecov Report

Merging #2964 (3b69ac6) into main (11d1370) will decrease coverage by 21.10%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##             main    #2964       +/-   ##
===========================================
- Coverage   61.63%   40.52%   -21.11%
===========================================
  Files         283      158      -125
  Lines       23821    19978     -3843
===========================================
- Hits        14681     8096     -6585
- Misses       7569    11110     +3541
+ Partials     1571      772      -799

Flag
Coverage Δ

kind-e2e-tests
?

unit-tests
40.52% <0.00%> (-0.04%)
:arrow_down:

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

Impacted Files
Coverage Δ

pkg/agent/openflow/network_policy.go
71.17% <0.00%> (-12.02%)
:arrow_down:

pkg/agent/openflow/pipeline.go
22.21% <0.00%> (-55.80%)
:arrow_down:

pkg/ovs/openflow/default.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/util/runtime/runtime.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/nodeportlocal/k8s/annotations.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/cniserver/pod_configuration_linux.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/ovs/openflow/logs.go
9.52% <0.00%> (-90.48%)
:arrow_down:

pkg/apis/controlplane/register.go
0.00% <0.00%> (-90.00%)
:arrow_down:

pkg/agent/agent_linux.go
0.00% <0.00%> (-80.00%)
:arrow_down:

pkg/agent/client.go
0.00% <0.00%> (-77.42%)
:arrow_down:

... and 231 more

document TOC not up-to-date

document TOC not up-to-date

Fixed

Fix dangling tox issues /test-all

document verification still failed.
Also, two e2e failed on networkpolicy tests, not sure if it's related to the change.

/test-all

@tnqn could you check again?

/test-integration


Support for type hints

In order to conform to PEP484, it is beneficial to explicitly type the arguments and return types of functions.
This issue might be lower priority but would help users to prevent pitfalls in the future.

Definitely. With Python 3.5 out of support now, I would expect all consumers of the library to be on a version of Python that supports type hinting.


White screen when starting Brackets

Prerequisites

[Yes] Can you reproduce the problem with Debug -> Reload Without Extensions?
[No] Did you perform a cursory search to see if your bug or enhancement is already reported?
[Yes] Did you read the Troubleshooting guide?

For more information on how to write a good bug report read here
For more information on how to contribute read here
Description
Like at the previous topics of WSOD.
Steps to Reproduce

Do nothing
...
Not profit.

Expected behavior: [What you expected to happen]
Actual behavior: [What actually happened]
Versions
Please include the OS and what version of the OS you're running.
//Win 8.1 and 10 pro
Please include the version of Brackets. You can find it under Help -> About Brackets (Windows and Linux) or Brackets -> About Brackets (macOS)
//sprint 8 build 1.8.0-17108 (alf_localization_release_1.8 3af64fae4)

@mflow42 are you trying to run from source? Or just regular install?

Just regular install... I thought it was because of many files in the folder. Tried to work with folder with few files - all the same - after about 30 minutes WSOD.

You can follow this link https://github.com/adobe/brackets/wiki/How-to-Hack-on-Brackets

I tried to code at the another project and no WSOD... so I think it appears because of maybe mistake in my code(?)...so how to understand what triggers WSOD...


Additional attack icons

We are missing the special attack icons for Firespray and YV-666.
@armoredgear7 @Hinny

Ghost has one, too.

It actually doesn't:

Unlike the Firespray or the YV, it doesn't have an auxiliary arc -- it has a "special arc" which does not apply to primary weapons.

Right, you're correct. It only works if you set that up during squad building.

geordanr - here are the fonts with the wave 8 ships and both aux firing arc icons.
https://www.dropbox.com/sh/m1g67tlfsyv4ozg/AADXkxOWL5xmqHDNkYFDIHe3a?dl=0

There seems to be an issue with the icons for energy, SLAM, and Tallon rolls -- is that happening to anyone else or did I mess up font loading somehow?


Different pose result for Cambridge KingsCollege dataset when reconstruction done from scratch

Hi
I have tried to create pose data for Cambridge KingsCollege dataset using HLOC custom pipeline.
retrieval_conf = extract_features.confs['netvlad']
feature_conf = extract_features.confs['superpoint_max']
matcher_conf = match_features.confs['superglue']

pairs_from_retrieval.main(
    global_descriptors, loc_pairs, num_loc,
    query_prefix="", db_prefix="")
# for getting Image pairs
# num_loc = 50 in this case

loc_matches = match_features.main(
    matcher_conf, loc_pairs, feature_conf['output'], outputs)
# For image matching

sfm_dir = outputs / 'sfm_superpoint+superglue'
reconstruction.main(sfm_dir, images, loc_pairs, feature_path, loc_matches)
# For SFM reconstruction
# images - path to dir which contains all the images. ( I moved images from different seq folder to a single folder )

After running for a long time I got results as -
Bundle adjustment report
------------------------
    Residuals : 9501476
   Parameters : 1197224
   Iterations : 51
         Time : 715.492 [s]
 Initial cost : 0.99316 [px]
   Final cost : 0.992958 [px]
  Termination : No convergence

  => Merged observations: 572
  => Completed observations: 1183
  => Filtered observations: 318
  => Changed observations: 0.000436
  => Filtered images: 0
  => No good initial image pair found.

  Mean Reprojection error - 1.515 pixels
  Cameras - 1563

Elapsed time: 781.474 [minutes]

Output directory structure - outputs / sfm_superpoint+superglue/models/0 --> images.bin, points3D.bin, cameras.bin
I was expecting output filed to be inside  outputs / sfm_superpoint+superglue.
When I compared the poses in images.bin and poses from url empty_all/images.txt, results are totally different.
Can please help me get the explanation for this?
for ref
seq8/frame00064.png
[-6.4031   4.93185 13.9765 ] - tvec,  [ 0.683091  0.543983 -0.314596  0.372154] - qvec : GT value, image_id = 1
[2.26069  0.331164 1.79242 ] - tvec, [ 0.881012  -0.0223714 -0.463615   0.0915346] - qvec: Ours value, image_id = 1550
# Also image ids have changed

As mentioned previously, the ground truth models were generated by running COLMAP based on SIFT local features, not using hloc.
The SfM pipeline has some randomness and has unconstrained scale, so large differences are expected.
The SfM process seem to fail. This is likely due to incorrect initial intrinsic camera parameters. By default COLMAP will read the exif data, which is likely incorrect here. A more sensible approach (and probably the one used to generate the GT models) is to initialize with the intrinsics obtained from the original dataset GT.
You might want to use sequential matching rather than only retrieval.


Empty result when trying to change case to japanese string

const s = '機種';

console.log(constantCase(s)); // gives empty result

Is this the supposed behaviour?

Yes, it doesn’t support non-ASCII strings. At least not until Unicode regexp matches are stable in browsers.

You can change the regexp to support this, I can provide an example regexp with complete unicode support - maybe even put it in a separate package if it helps you.

I will live with that for the moment, disabling transformations for non ASCII strings and waiting for a more general support.
Thanks for the support!


Capital letter in imports confuses Glide package manager.

This package imports "github.com/Sirupsen/logrus" instead of "github.com/sirupsen/logrus". This confuses auto dependency discovery process in the Glide package manager making it fail to update the project packages.

@dandee
see

case-insensitive import collision #36
comment on Renaming upper-case 'Sirupsen' to 'sirupsen' #384

Same problem here.
@evalphobia so what? sirupsen renamed back to lowercase? :)
What's the solution?

Solution for glide:
- package: github.com/Sirupsen/logrus
  repo: git@github.com:sirupsen/logrus.git
  vcs: git
  version: v0.11.x

But problems can occurs if another hook will import logrus package as github.com/sirupsen/logrus.

@cheshir
Workaround
As comment here https://github.com/sirupsen/logrus/pull/384#issuecomment-264120464 , Changing import package name in /vendor/ dir might work.
IMO
I checked hooks on the list in https://github.com/sirupsen/logrus
Only these two hooks are using github.com/sirupsen/logrus

Shopify/logrus-bugsnag
polds/logrus-papertrail-hook

Rest of hooks are using github.com/Sirupsen/logrus (some hooks are not maintained though),
including official Syslog hook.
So it is reasonable to change back from github.com/sirupsen/logrus to github.com/Sirupsen/logrus for the two hooks above.
I'll create PR for these two hooks.

@evalphobia problem is not critical, but vendor package name (github.com/sirupsen/logrus) and import paths in hook (github.com/Sirupsen/logrus) are inconsistent. Why do you can't update import paths in library? You can set v0.3.0 tag and all clients should work fine if they set correct version in their dependency manager.
Or solving problem like this is more complicated as I think?

@cheshir
Sorry for my late.
Does my comment on https://github.com/polds/logrus-papertrail-hook/issues/8#issuecomment-293786037 make sense?

@evalphobia yes, it make sense. But it's not so simple when you build and deploy your code with CI/CD.
I think that moving project to github.com/go-logrus/logrus is a great idea.

Merged by https://github.com/evalphobia/logrus_sentry/pull/48