How to use TF as an SD-WAN solution for enterprise branch connectivity

From #users on Slack today:

12:12  Hello All, can someone let me know if @TF can be used as a SD-WAN solution similar to Viptela or Velo Cloud for enterprise branch connectivity -- any links to documentation to such implementation if any would be very helpful, Thanks in advance

Migrated to Jira: https://jira.tungsten.io/browse/TFB-1407


Add cas studies from Poland (Softelnet)

Do not merge, I need to add figures.

@DelazJ about your note on the blog note, we should store use case iun the website but that's doesn't meant that we don't need to share on twitter, QGIS linkedin group and blog post. What's your opinion @rduivenvoorde, can you write a blog post on this?

@yjacolin yes, my idea wasn't to move them out of the website. It's fine there. Just thinking that we could promote a bit this section of the website which is full of knowledge. Blog post, twitter or any other social media is good enough I think

ok, I can manage a post in the QGIS linkedin group :)


Debug-only Crash when running flutter run on default app

Steps to Reproduce
When creating a new flutter app and running it, I get this error message:

flutter run
Launching loader on P4502...
--------- beginning of /dev/log/system
E/ActivityManager: WMS runs the animation too long
W/ActivityManager: Launch timeout has expired, giving up wake lock!
W/ActivityManager: Force removing ActivityRecord{424fd858 u0 com.yourcompany.fln/org.domokit.sky.shell.SkyActivity t107}: app died, no saved state
Exception from flutter run: FormatException: Bad UTF-8 encoding 0xff
dart:isolate  _RawReceivePortImpl._handleMessage

Exception from flutter run: FormatException: Bad UTF-8 encoding 0xb7
dart:isolate  _RawReceivePortImpl._handleMessage
Exception from flutter run: FormatException: Bad UTF-8 encoding 0x80
dart:isolate  _RawReceivePortImpl._handleMessage
W/ActivityManager: No content provider found for permission revoke: file:///data/local/tmp/app.apk
W/ActivityManager: No content provider found for permission revoke: file:///data/local/tmp/app.apk
W/ActivityManager: Force removing ActivityRecord{41cbbf08 u0 com.yourcompany.fln/org.domokit.sky.shell.SkyActivity t108}: app died, no saved state
W/System.err: java.lang.NullPointerException
W/System.err:     at android.inputmethodservice.IInputMethodWrapper.setSessionEnabled(IInputMethodWrapper.java:280)
W/System.err:     at com.android.internal.view.IInputMethod$Stub.onTransact(IInputMethod.java:129)
W/System.err:     at android.os.Binder.execTransact(Binder.java:404)
W/System.err:     at dalvik.system.NativeStart.run(Native Method)
Timed out while waiting for a debug connection.
Error launching DevFS loader on P4502.

Flutter Doctor

flutter doctor
[✓] Flutter (on Linux, channel master)
• Flutter at /home/martin/github/flutter
• Framework revision e837e16378 (5 hours ago), 2016-10-20 21:30:27
• Engine revision 0aea498f61
• Tools Dart version 1.21.0-dev.0.0

[✓] Android toolchain - develop for Android devices (Android SDK 23.0.2)
• Android SDK at /home/martin/Android/Sdk
• Platform android-23, build-tools 23.0.2
• Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
[✓] Atom - a lightweight development environment for Flutter
• flutter plugin version 0.2.6
• dartlang plugin version 0.6.40
[-] IntelliJ IDEA Community Edition (version 15)
• Dart plugin not installed; this adds Dart specific functionality.
• Flutter plugin not installed; this adds Flutter specific functionality.
• For information about managing plugins, see
https://www.jetbrains.com/help/idea/2016.2/managing-plugins.html
[-] IntelliJ WebStorm (version 2016.2)
• Dart plugin not installed; this adds Dart specific functionality.
• Flutter plugin not installed; this adds Flutter specific functionality.
• For information about managing plugins, see
https://www.jetbrains.com/help/idea/2016.2/managing-plugins.html
[-] IntelliJ IDEA Community Edition (version 2016.1)
• Dart plugin not installed; this adds Dart specific functionality.
• Flutter plugin not installed; this adds Flutter specific functionality.
• For information about managing plugins, see
https://www.jetbrains.com/help/idea/2016.2/managing-plugins.html
[-] IntelliJ WebStorm (version 2016.1)
• Dart plugin not installed; this adds Dart specific functionality.
• Flutter plugin not installed; this adds Flutter specific functionality.
• For information about managing plugins, see
https://www.jetbrains.com/help/idea/2016.2/managing-plugins.html
[✓] Connected devices
• P4502 • Medion • android-arm
Output of getprop is here

It's possible https://github.com/flutter/flutter/issues/5738 or https://github.com/flutter/flutter/issues/6280 are related.  They both have the bad encoding message in the output.
I don't see anything indicative in the flutter run output unfortunately.

So re-reading the log, I suspect the bad encodings are a red herring.  It looks like the app is crashing on your Android device.
I believe this is the device:
http://www.pcadvisor.co.uk/review/budget-smartphones/aldis-medion-life-p4502-budget-smartphone-review-3591554/
And it's got a Mali 400 GPU, which should be well supported (it's very common).  Not why the crash.
Its also possible this was just a bad revision of flutter and a flutter upgrade will solve things.

Well, It works flawlessly with my Moto G4, but the P4502 now only shows me this:
Building APK in debug mode (android-arm)...         5923ms
Installing build/app.apk...                         4159ms
Exception from flutter run: FormatException: Overlong encoding of 0x0
dart:isolate  _RawReceivePortImpl._handleMessage

Timed out while waiting for a debug connection.
Error launching DevFS loader on P4502.

I might try flutter run --release vs flutter run (--debug is default) and see if one works and the other doesn't.  I believe the Flutter binary is crashing on your device, but I don't see any explanation of such in the logs.
One might also try adb logcat -c (to clear the device logs) and then try running flutter and then adb logcat to see the logs.  flutter run and flutter logs just wrap adb (including logcat), but it's not clear why we aren't seeing reports of the app crashing on the device (which it seems to be doing).

It "works" with --release. See attached screenshot
On Sun, 13 Nov 2016, 17:00 Eric Seidel<EMAIL_ADDRESS>wrote:

I might try flutter run --release vs flutter run (--debug is default) and
see if one works and the other doesn't. I believe the Flutter binary is
crashing on your device, but I don't see any explanation of such in the
logs.
One might also try adb logcat -c (to clear the device logs) and then try
running flutter and then adb logcat to see the logs. flutter run and flutter
logs just wrap adb (including logcat), but it's not clear why we aren't
seeing reports of the app crashing on the device (which it seems to be
doing).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/6457#issuecomment-260198137,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACKvurAoDinVuys9e0eAZnzElCPOdlEjks5q90JFgaJpZM4KdDYW
.

The screenshot didn't seem to come through.

I updated my previous comment to include the screenshot.
Here is the output of the command flutter run --release:
...
$ flutter run --release
Building APK in release mode (android-arm-release)...
Warning! Signing the APK using the debug keystore.
You will need a real keystore to distribute your application.
Installing build/app.apk...                         5589ms
Running lib/main.dart on P4502...
To repeat this help message, press "h" or F1.
I/flutter (15345): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter (15345): Another exception was thrown: NoSuchMethodError: The getter 'height' was called on null.
Exception from flutter run: FormatException: Bad UTF-8 encoding 0xb9
dart:isolate  _RawReceivePortImpl._handleMessage
Exception from flutter run: FormatException: Bad UTF-8 encoding 0xa1
dart:isolate  _RawReceivePortImpl._handleMessage
Exception from flutter run: FormatException: Bad UTF-8 encoding 0xa1
dart:isolate  _RawReceivePortImpl._handleMessage
Exception from flutter run: FormatException: Overlong encoding of 0x0
dart:isolate  _RawReceivePortImpl._handleMessage
...

This may be improved by https://github.com/flutter/flutter/commit/d3dc5d7ca9a190e58593311705724c1e751868be which was a fix made for a similar crash on Pixel phones.  There is a bit more information we need to gather about the CPU type of this phone, I can look up instructions for that later.  FYI @rmacnak-google

I'm not sure what to do with this.  We definitely have seen various strange crashes which show up as encoding errors (which is likely a red herring).  The tool, framework and engine have changed a ton since november.
Speculatively closing.  Please feel encouraged to re-open or file a new bug if you're still having any trouble?

Issue re-occurred on Pixel
command
flutter run
exception
FormatException: FormatException: Bad UTF-8 encoding 0xff (at offset 10947)
dart:isolate  _RawReceivePortImpl._handleMessage

flutter doctor
[✓] Flutter (on Mac OS X 10.12.3 16D32, channel master)
    • Flutter at /Users/nano/workspace/vendor/sdk/flutter
    • Framework revision e8a6df4df9 (32 hours ago), 2017-03-14 20:20:54
    • Engine revision b97103b441
    • Tools Dart version 1.23.0-dev.2.0

[✓] Android toolchain - develop for Android devices (Android SDK 25.0.2)
    • Android SDK at /Users/nano/workspace/vendor/sdk/android-sdk-macosx
    • Platform android-25, build-tools 25.0.2
    • Java binary at: /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/bin/java
    • Java version: Java(TM) SE Runtime Environment (build 1.8.0_112-b16)

[-] iOS toolchain - develop for iOS devices (Xcode 8.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 8.2.1, Build version 8C1002
    ✗ Python installation missing module "six".
      Install via 'pip install six' or 'sudo easy_install six'.
    ✗ ideviceinstaller not available; this is used to discover connected iOS devices.
      To install, run:
      brew update
      brew install --HEAD libimobiledevice
      brew install ideviceinstaller
    ✗ ios-deploy not installed. To install:
      brew update
      brew install ios-deploy
    • CocoaPods version 1.1.1

[✗] Android Studio (not installed)
    • Android Studio not found. Download from https://developer.android.com/studio/index.html
      (or visit https://flutter.io/setup/#android-setup for detailed instructions).

[✓] Connected devices
    • Pixel • FA6B40303026 • android-arm • Android 7.1.1 (API 25)

flutter clean fix this issue. for future reference


added next auth secret env variable

NextAuth.js is a library in the front end we use to manage the user session.
According to the docs, a new env variable NEXTAUTH_SECRET is required.

@alexeh I was not sure if we also have to edit the file kubernetes/modules/client/main.tf

@alexeh I was not sure if we also have to edit the file kubernetes/modules/client/main.tf

Whatever you need during image build, needs to be injected via GH. I understand what are you pointing out, actually we think those Kubernetes env vars are not required so once we have time to test it, we are gonna delete them and see if anything explodes


signal-desktop: 5.27.1 -> 5.29.0

Status
When I start Signal-Desktop on my system (Wayland without XWayland) it occasionally segfaults so it looks like this version isn't ready yet:
[13148483.755087] signal-desktop[3674961]: segfault at 7e801c4f000 ip 00005610aa0d3392 sp 00007ffcd29e9fa0 error 4 in signal-desktop[5610a943a000+6a11000]
[13148529.849201] signal-desktop[3675089]: segfault at 7f348a37c000 ip 0000563adeaca392 sp 00007fffb88f3e50 error 4 in signal-desktop[563adde31000+6a11000]

Note:

New year, new initial setup screen. We've redesigned the initial setup screens just in time for 2022.

Might break the test (TODO).
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

5.28.0 now consistently segfaults on my Wayland setup... Can anyone reproduce this and does it affect X11 as well?
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /nix/store/ril5ylx82kpbd67d2l6cycsz8lzmra1l-signal-desktop-5.28.0/lib/Signal/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME undefined
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
SIGNAL_ENABLE_HTTP undefined
userData: /home/michael/.config/Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
making app single instance
{"level":30,"time":"2022-01-13T20:11:31.269Z","pid":3743869,"hostname":"jarvis","msg":"MainSQL: updateSchema:\n  Current user_version: 48;\n  Most recent db schema: 50;\n  SQLite version: 3.36.0;\n  SQLCipher version: 4.5.0 community;\n  (deprecated) schema_version: 251;\n"}
{"level":30,"time":"2022-01-13T20:11:31.286Z","pid":3743869,"hostname":"jarvis","msg":"app ready"}
{"level":30,"time":"2022-01-13T20:11:31.287Z","pid":3743869,"hostname":"jarvis","msg":"starting version 5.28.0"}
{"level":30,"time":"2022-01-13T20:11:31.287Z","pid":3743869,"hostname":"jarvis","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2022-01-13T20:11:31.299Z","pid":3743869,"hostname":"jarvis","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2022-01-13T20:11:31.304Z","pid":3743869,"hostname":"jarvis","msg":"getSystemTraySetting had no flags and did no DB lookups. Returning DoNotUseSystemTray"}
{"level":30,"time":"2022-01-13T20:11:31.305Z","pid":3743869,"hostname":"jarvis","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":1916,\"height\":1039,\"minWidth\":712,\"minHeight\":550,\"autoHideMenuBar\":false,\"titleBarStyle\":\"default\",\"backgroundColor\":\"#3a76f0\",\"webPreferences\":{\"devTools\":false,\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"contextIsolation\":false,\"preload\":\"[REDACTED]/preload.bundle.js\",\"nativeWindowOpen\":true,\"spellcheck\":true,\"backgroundThrottling\":false,\"enablePreferredSizeMode\":true},\"icon\":\"[REDACTED]/images/signal-logo-desktop-linux.png\",\"x\":0,\"y\":0}"}
[3743869:0113/211131.307469:ERROR:cursor_loader.cc(114)] Failed to load a platform cursor of type kNull
[3743937:0100/000000.354382:ERROR:sandbox_linux.cc(376)] InitializeSandbox() called with multiple threads in process gpu-process.
/run/current-system/sw/bin/signal-desktop: line 1: 3743869 Segmentation fault      (core dumped) /nix/store/ril5ylx82kpbd67d2l6cycsz8lzmra1l-signal-desktop-5.28.0/bin/signal-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-gpu

With --disable-gpu I get:
[13606039.685620] traps: signal-desktop[3743322] general protection fault ip:56210f9ef392 sp:7ffce197a180 error:0 in signal-desktop[56210ed56000+6a11000]

And without it I get:
[13606840.516143] signal-desktop[3751099]: segfault at 18 ip 00007f563a95e8b4 sp 00007ffff9915a40 error 4 in libGLESv2.so[7f563a8e3000+499000]

The Electron bump (https://github.com/signalapp/Signal-Desktop/commit/bbc13d058e32ffb681315ee1434fc3d0c0424a93; 15 -> 16; i.e. Chromium 94 -> 96) was already part of 5.27.0 so I guess subsequent updates shouldn't really make things worse. Then again 5.28.0 doesn't launch on my Wayland-only setup at all so maybe Electron patch releases (https://github.com/signalapp/Signal-Desktop/commit/46ddcc50f9efbd492126dad9f215a2a66e39995b) can also make things worse?

I should merge this soon (maybe tomorrow) as we cannot block updates based on Ozone/Wayland regressions (I just hoped that a fix/workaround would emerge after a couple of days).

Hi @primeos
Could you check this PR: https://github.com/NixOS/nixpkgs/pull/156938 ... it has the latest 5.29.1 version, maybe it fixes the segfaults you experience

I'm pretty sure it won't. It's a known Electron issue with no fixes/workarounds yet. I just had to handle a few other things first.

Still broken on Wayland so I guess those users will unfortunately have to use XWayland for now.
Hopefully Electron 17 will be fine again (my hopes for a fix to land in version 16 are low) or we'll figure out the packaging issue.


feeparser missing

Traceback (most recent call last):
File "D:GitHub\HentaiBot\HentaiBot.py", line 2, in
import feedparser
ModuleNotFoundError: No module named 'feedparser'

Just saying that you need to add it manually at the moment

also yaml is missing

looks fine to me, thanks for creating such a great bot xD


Fix (ci): Fix testing image to work correctly for srcds/csgo

Fixes regression in #153, where validation stopped working for srcds/csgo

Validation shouldn't have stopped working as srcds/csgo's uses APPID=740.  What's clashing between the two games is CLIENT_APPID=730. @leojonathanoh

oh okay, yes. closing.


Use non linear newton solver for sparse method

It is possible to give non linear system to sparse solver.
The sparse method was mistaken using linear solver, now use deriv implicit.
Fix #801

Codecov Report

Merging #804 (b3200b1) into master (07b29bc) will decrease coverage by 0.03%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #804      +/-   ##
==========================================
- Coverage   61.51%   61.48%   -0.04%
==========================================
  Files         208      208
  Lines       30074    30073       -1
==========================================
- Hits        18501    18490      -11
- Misses      11573    11583      +10

Impacted Files
Coverage Δ

src/visitors/sympy_solver_visitor.hpp
100.00% <ø> (ø)

test/unit/visitor/sympy_solver.cpp
99.01% <ø> (ø)

src/visitors/sympy_solver_visitor.cpp
91.28% <100.00%> (-0.79%)
:arrow_down:

src/utils/common_utils.hpp
77.27% <0.00%> (-4.55%)
:arrow_down:

src/visitors/sympy_replace_solutions_visitor.cpp
92.57% <0.00%> (-2.63%)
:arrow_down:

Continue to review full report at Codecov.

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


Update requirements-dev.txt

What does this PR do?
Fixed typo in requirements-dev.txt
Why was this PR needed?
No matching distribution found for flake8>3.30 (from -r requirements-dev.txt (line 1))
What are the relevant issue numbers?
(List issue numbers here.)
Does this PR meet the acceptance criteria?

[x] Passes flake8 (refer to .travis.yml)
[x] Docs are buildable
[x] Branch has no merge conflicts with master
[x] Is covered by a test

Thanks, fixed in f2fd8e05e7c3533df4041f801fdc6f5dfc798fa1


Python3 compat

Compatible change to allow install of emulambda and example to run with python3.

fixed tab, converted to spaces
explicit int() cast for   ' ' * float

Install with
pip3 install emulambda
Test example now runs.
Prior error:

  File "/home/dlee/git.repo/emulambda/example/__init__.py", line 8, in very_inefficient
    some_str = ' ' * (10 * 9 / 4)
TypeError: can't multiply sequence by non-int of type 'float'
EMULAMBDA: LAMBDA ERROR

I accidently pulled in changes from ynaka81 to this pull request, trying to figure out how to split it off.


Production build with parallel runner

Describe the feature
Hello. IDK why, but production build works only in sequence runner:
const runner = options.dev ? utils.parallel : utils.sequence;
await runner(this.compilers, (compiler) => this.webpackCompile(compiler));

Only option that can change runner is dev.
So, why it works only in sequence mode?
In my project it means that build time increase from 5 to 15 minutes (5 min. client + 5 min. modern + 5 min. server).
It would be nice to configure it somehow (e.g. prodParallelBuild option).
Additional information

[X] Would you be willing to help implement this feature?
[ ] Could this feature be implemented as a module?

Final checks

[X] Read the contribution guide.
[X] Check existing discussions and issues.

We are approaching the Nuxt 2 EOL date (June 30, 2024) - see this article for more information. This is advance warning that I'm going to close this issue then, as it's currently marked as a Nuxt 2 related bug.
If it's a critical or security issue, please do comment and let me know, in case it is possible to address it before the EOL date.
If it's a an issue you think is relevant for Nuxt 3, please feel free to open a fresh issue (or just comment here so I can update labels, etc.). 🙏
Thank you for your understanding and for your contribution to Nuxt. ❤

It's the day, at last. Nuxt 2 is now marked end-of-life.
My apologies we never got round to resolving this bug in the 2.x branch, but we do have to draw a line somewhere. Again, if you think this is still relevant for Nuxt going forward, please feel free to open a fresh issue (or just comment here so I can update labels, etc.). 🙏


Update to version on table to make clearer

Quick fix to the versions in the advisories table to make it clearer that v21.2.0 is the affected version

This change is

LGTM


Edges connect to wrong handles in ConnectionMode.Loose

Describe the Bug
The problem occurs when ConnectionMode.Loose is used and nodes have target as well as source nodes. Once two sources get connected, the edge is displayed as connected to the target handle of the target node, despite specifying the source handle correctly in the edge data.
Just having a quick glance at the source code, I believe the following lines to cause the problem:
https://github.com/wbkd/react-flow/blob/6526e3297e67c57c2e9be0654be3792c6cc04483/packages/core/src/container/EdgeRenderer/index.tsx#L116-L121
target handles exist, so the source handles array gets disregarded. getHandle then chooses the first target, because it's the only one available (at least in my case it is). Maybe a .concat instead of || would fix this.
Your Example Website or App
https://github.com/michaelspiss/berry-sethi-tutor
Steps to Reproduce the Bug or Issue

Have a react flow with connectionMode={ConnectionMode.Loose}.
Have two default nodes in the graph
Connect source to source -> will display as source to target, despite being source to source in the data

Expected behavior
Edge should connect to handle specified in its data
Screenshots or Videos
s: source handle, t: target handle (visibility: hidden here). Windows screen recorder messed up the pointer position a bit, just assume it's on point.
https://user-images.githubusercontent.com/17252710/205444554-557faa6d-9b2d-4dee-9fb0-c6021cf67a74.mp4
Platform

OS: all
Browser: all
Version: 11.3.2

Additional context
No response

Thanks @michaelspiss I'll check this.

I just checked this bug and unfortunately it's not fixable with the current implementation. When you are using connection mode loose, all handles should be of type source.
The problem is, that we only get this information from an edge:
{
    "source": "3",
    "sourceHandle": null,
    "target": "4",
    "targetHandle": null,
    "id": "reactflow__edge-3-4"
}

We only know the node id, but have no information if the handle was a source or target.

Thanks for looking into this @moklick!
I see why that wouldn't be fixable for unnamed handles, but in the example above all handles have unique ids, which are set in the edge props as sourceHandle and targetHandle. Nonetheless, the edge connects to the wrong one.

^Are you using numbers as ids? That might cause the issue (for example you use some index as the id).
Convert them into strings something like handle_0 and see if that works.

If I use the custom node example in the docs, an assign the handles a number like id={0} the edges don't connect properly either. Even if the handle id that I use in the edge definition matches that number.

They both just go to the first handle as you can see.

They are strings - I use step1t, step1b, step2l, step2r

Ok :) It was just an idea 😅

Thanks anyway, would have been an easy solve 😅


Whether flowmap is suitable when the cam intrinsics are known

My application scenario involves using a standard PINHOLE camera cropped from a fisheye camera. Can flowmap fix the intrinsic parameters without optimization, solely used for estimating depth and pose information? Thx!

Yes, it's possible to run FlowMap with ground-truth/known intrinsics! If you modify the data loader to return the ground-truth intrinsics, you can append the following flag to the python3 -m flowmap.overfit command to tell FlowMap to use them:
model/intrinsics=ground_truth

The intrinsics returned by the data loader should have shape (frame, 3, 3), where each 3x3 matrix has the following format:
[[fx,  0, cx],
 [ 0, fy, cy],
 [ 0,  0,  1]]

Note that fx, fy, cx, and cy should be normalized, i.e., divided by image height and width. For example, fx is fx in pixels / image width.
If you don't want to deal with modifying the data loading, you could also just hard-code the intrinsics returned by IntrinsicsGroundTruth here.

Yes, it's possible to run FlowMap with ground-truth/known intrinsics! If you modify the data loader to return the ground-truth intrinsics, you can append the following flag to the python3 -m flowmap.overfit command to tell FlowMap to use them:
model/intrinsics=ground_truth

The intrinsics returned by the data loader should have shape (frame, 3, 3), where each 3x3 matrix has the following format:
[[fx,  0, cx],
 [ 0, fy, cy],
 [ 0,  0,  1]]

Note that fx, fy, cx, and cy should be normalized, i.e., divided by image height and width. For example, fx is fx in pixels / image width.
If you don't want to deal with modifying the data loading, you could also just hard-code the intrinsics returned by IntrinsicsGroundTruth here.

When I set the "model/intrinsics" as ground_truth, i.e. IntrinsicsGroundTruth, but returnd intrinsics is None. So How do I need to pass into the GT intrinsics? Can you provide some specific advice?
Looking forward your reply.

InstrinsicsGroundTruth just uses the intrinsics supplied by the data loader. To use it, you'll have to use a data loader that supplies intrinsics, like the COLMAP one here.

Hi,
I try InstrinsicsGroundTruth from the Colmap, and we use the GT intrinsic in every training iteration of model, i.e. model_output = self.model(self.batch, self.flows, self.global_step) in Line 53 of model_wrapper_overfit.py .  And     intrinsics = self.intrinsics.forward(batch, flows, backbone_out, global_step) in Line 71 of model.py, we return the GT intrinsic Colmap. So we only optimizer the extrinsic, depth(not including instrinsic), however, the final results is much worse than the original softmin or regressed intrinsic.
Can you tell me which step I make mistake?
Looking forward your reply sincerely.

Have you ensured that your ground-truth intrinsics are normalized (divided by image height/width)? Have you tried comparing the learned intrinsics to the ground-truth ones to see if they're similar?


Hello! and thanks for the response over at pcachefs

catfs was actually one of the very first ones I tried!
I am running ubuntu 18.04.1 and here is how I installed catfs:
sudo apt-get install cargo git libfuse-dev fuse python-fuse
git clone https://github.com/kahing/catfs.git
cd catfs
sudo cargo install catfs

Here is how I tried it out using a sshfs mount /media/remote with catfs :
sshfs -o reconnect,noatime,ServerAliveInterval=15,ServerAliveCountMax=3,cache_timeout=14400,entry_timeout=1200,large_read,max_read=65536,cache=yes,kernel_cache,workaround=nodelaysrv,cache_stat_timeout=600 admin007@myremotefs:/ /media/remote

~/.cargo/bin/catfs /media/remote /media/cache /media/video

and then launched kodi media player (which is configured to read from /media/video), kodi just gave me a spinning progress indicator while trying to play a file from the catfs /media/video mount, and I could see monitoring bandwidth that the file was transferring, so it seemed to be trying to transfer the entire file before playback. I did not have this issue with mcachefs or pcachefs.
Currently I am using mcachefs because of the ones I tried it performed the fastest.
Is there anything else I sould try? maybe I am just missing a small option or setting to get this party going :)

Also I just did another test to make sure this was still happening.
One thing that I did note is that catfs appears to be transferring the file at about 17 Mb/s which is the same speed I am seeing with mcachefs, so I think if I could get it start playing back without waiting for the entire file, then I could start using catfs

I have carefully read over the catfs home page, I see user_xattr must be used, I am not sure if this is enabled on my system or not. I am currently investigating how to make sure its enabled.

I suspect the problem is that the application does not read the file sequentially. While catfs can stream from remote, if the application reads at offset n catfs does need to read from 0-n first

ah, well darn. So you do not suspect that user_xattr has anything to do with it then, if so I will stop chasing that rabbit. I just installed xattr on both the remote and local systems, and was getting ready to test that it works.
I am wondering if there is a way that I can check if kodi is reading the file sequentially or not, possibly from the ubuntu commandline

I made a post about it over in the Kodi development forums: https://forum.kodi.tv/showthread.php?tid=336660
I would really LOVE to use catfs with Kodi if that were ever possible.

So I got feedback and unfortunately Kodi does not read the file sequentially, so you were right.
Is there a setting that will alllow catfs to work on files non sequentially? it seemed like pcachefs was able to do it.
Please let me know either way, if not and no plans to then maybe if I get some free time I will try converting pcachefs to rust or c/c++ : https://github.com/ibizaman/pcachefs/issues/5
Thanks.


Bug fixes: see details

Allow all rmi of images to succeed;
Fix mis-ordering channels bundle data for FBC;
Fix duplicate bundles for SQLite-based catalogs

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 5 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 0.888%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/actions/extract_index.go
0
5
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
18

Relevant Lines:
2028

💛  - Coveralls


Support for runpy invocation

I'd like to invoke the ghs/githubsecrets command via runpy (i.e. python -m ghs or python -m githubsecrets) so that the command could be used in environments where command-line wrappers aren't available (such as pip-run).
Would this project support that? Any preference on what the module name should be?

Hi again @jaraco , I'll be more than glad to support this, may you please share the exact steps so I can replicate?
What's the expected behavior? To run python -m githubsecrets and that it will run the CLI just like it does when you execute ghs ?

What's the expected behavior? To run python -m githubsecrets and that it will run the CLI just like it does when you execute ghs ?

That's right. Now that the package is githubsecrets, you can probably achieve that with a __main__.py that invokes the CLI entry.

If you instead want python -m ghs to work, you would need a ghs.py as a top-level module exposed by the project.

I'm not sure I understand, the main.py file is located at the root folder of this project and it invokes the CLI.
from githubsecrets import cli

if __name__ == '__main__':
    cli.cli()

This works for me
meirgabay@~/Start/githubsecrets (master)$ python -m main
Usage: main.py [OPTIONS] COMMAND [ARGS]...

  All commands can run without providing options, and then you'll be
  prompted to insert values.

  Secrets' values and Personal-Access-Tokens are hidden when prompted

Options:
  -ci, --ci  Use this flag to avoid deletion confirmation prompts
  --help     Show this message and exit.

Commands:
  init            Create a credentials file to store your profiles
  profile-apply   [pa] Create or modify multiple profiles providing a
                  string...

  profile-delete  [pd] Delete multiple profiles providing a string
                  delimited...

  profile-list    [pl] List all profile - truncates personal access tokens
  secret-apply    [sa] Apply to multiple repositories providing a string...
  secret-delete   [sd] Delete secrets from multiple repositories providing
                  a...

  secret-get      [sg] Get secrets from multiple repositories providing a...
  secret-list     [sl] List secrets of multiple repositories providing a...

I think that now I understand what you mean, my bad, I've changed main.py to __main__.py, take a look at - https://github.com/unfor19/githubsecrets/pull/19

Confirmed the fix. Thanks!
$ pip-run -q --use-pep517 git+https://github.com/unfor19/githubsecrets -- -m githubsecrets
Usage: __main__.py [OPTIONS] COMMAND [ARGS]...

  All commands can run without providing options, and then you'll be
  prompted to insert values.

  Secrets' values and Personal-Access-Tokens are hidden when prompted

Options:
  -ci, --ci  Use this flag to avoid deletion confirmation prompts
  --help     Show this message and exit.

Commands:
  init            Create a credentials file to store your profiles
  profile-apply   [pa] Create or modify multiple profiles providing a
                  string...

  profile-delete  [pd] Delete multiple profiles providing a string
                  delimited...

  profile-list    [pl] List all profile - truncates personal access tokens
  secret-apply    [sa] Apply to multiple repositories providing a string...
  secret-delete   [sd] Delete secrets from multiple repositories providing
                  a...

  secret-get      [sg] Get secrets from multiple repositories providing a...
  secret-list     [sl] List secrets of multiple repositories providing a...


move to decord/imageio for reading videos/images

Currently devolearn uses cv2 to load and run inference on images/videos. There are faster and cleaner alternatives like decord and imageio which can be used instead.

Hi mayukh I am intrested in handling this issue can you assign it to me. I will go through the code and ask in case of doubts.

Hi @aswarth123, thank you for your interest!
Yes! the slack community is indeed open for everyone to join. You can find it here.

Hello mayukh I am also interested. So, can I also help to solve the issue?

@Mayukhdeb do you want me to change all the image manipulation statements or I should only change the read and write one?

@Mayukhdeb
Please assign me this issue and What do you think of using skimage as an alternative for opencv


versions:use-latest-versions doesn't set previous releases when allowSnapshot=false

I have a use-case where I use-latest-versions where I allowSnapshots on my mainline (which works great) but when I set it to try to swap all the snapshots to releases for my release branch using -DallowSnapshots=false, it won't "go back in versions" to use the latest release version.
Example:
pom.xml has 1.1-20170929132713 but I want to have it update to the latest release candidate which is 1.0
Is there a way to get this behavior or is it a new feature?

@jdileonardo I think this one is still an issue - I don't see the allowDowngrade option, can we reopen it?

Looking into it.


please add a giraffe

Please describe your idea.
A clear and concise description of what the feature would do.
Describe how the idea would be helpful
A clear and concise description of how the feature would be helpful to users.
Additional context
Add any other context or screenshots about the feature request here.

+1


Doesn't work for all browsers

Very useful plugin, thanks for sharing!
return {
	"aliqyan-21/wit.nvim",
	config = function()
		require("wit").setup({ search_engine = "duckduckgo" })
	end,
}

I unfortunately can't use this with duckduck go, as searching for e.g. wit.nvim, gives the following url:
https://duckduckgo.com/search?q="wit.nvim"
whereas duckduckgo searches have the format
https://duckduckgo.com/?q=wit.nvim
Also, for brave search:
https://search.brave.com/search?q=wit.nvim
You'll notice there's no www suffix, meaning we can't use this engine either as www. is hardcoded when constructing the url

Hey thank you for this issue, you are right, my mistake I didn't tested it with duckduckgo
I think we can solve it though, there are many approaches but I think of this one:
We can do something like, predefine some famous search search engine urls for user friendliness (just like put the name of that engine in the config) and then for flexibility we can put the option of directly putting our preffered search engine url whichever we want to use...so like for famous search engines we have directly included the search engine in the table and for non-famous ones u can just include the url for that and the rest will be done...
For example:
return {
	"aliqyan-21/wit.nvim",
	config = function()
		require("wit").setup({ search_engine = "https://any_search_engine.com/search?q=" })
	end,
}

and for famous search engines we can define a table:
local search_engines = {
    google = "https://www.google.com/search?q=",
    bing = "https://www.bing.com/search?q=",
    duckduckgo = "https://duckduckgo.com/?q=",
    ecosia = "https://www.ecosia.org/search?q=",
    brave = "https://search.brave.com/search?q="
}

How about this?

Yeah I think your approach should be good!

You know it is good I think it is definitely...now people can include any search engine they want as long as they know it's url and as programmers they will definitely find it out and not only that...
Now you can search things directly in perplexity.ai too (as now we have table of search engines so we can define any urls and I have put perplexity in the supported search engines list too because why not) and any AI based search engine as long as there is a URL, I am testing it more and then I will push the commit. And then you too test it, I will really appreciate it Thank you for this!


Update README.md to fox port

Port was wrong

Codecov Report

Merging #107 into master will decrease coverage by 1.1%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #107      +/-   ##
==========================================
- Coverage   58.27%   57.17%   -1.11%
==========================================
  Files          23       23
  Lines        2454     2454
==========================================
- Hits         1430     1403      -27
- Misses        858      892      +34
+ Partials      166      159       -7

Whoops, thanks!


os/linux: fix Version::NULL type mixup

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

Sorbet could end having both os/mac and os/linux in memory, so this return could have gotten mistaken for MacOS::Version::NULL. This shouldn't change a thing at runtime but clears up a TODO item in the Sorbet RBI.

Review period will end on 2021-09-13 at 23:12:37 UTC.

Review period ended.


Update changelog, prep for 1.5.2 release

@malmckay thank you for all your efforts! would it be possible to actually release 1.5.2. Rubygems only has 1.5.1 so far. Thank you!

@beanieboi I discovered a build issue on some versions of Linux, I'll investigate, hopefully fix, and get a release out soon

@malmckay thank you for all your efforts! would it be possible to actually release 1.5.2. Rubygems only has 1.5.1 so far. Thank you!

@beanieboi I discovered a build issue on some versions of Linux, I'll investigate, hopefully fix, and get a release out soon

@malmckay we are facing the same issue. It's not building on CircleCI. I will dive into this today.

@malmckay @beanieboi  I see this was merged but I still have build issues.  Did you ever figure out what the issue was, if any -- or was this merged WITHOUT resolving anything?


Update language matches - corrections received from Harald

ISO 639-3 and glottolog ids for about 10 societies updated here. I can also talk with Simon/Hans today about how to add directly to repository.
April2017_language_updates.zip

Yes, please talk to them. Updating data wholesale isn't recommended anymore. Instead, small changes to the now authoritative data files in the repos (possibly through the API) are the way to go.

Taken care of now.


Azure Cosmos Saga Repository should set camel case properties on queries with STJ

Discussed in https://github.com/MassTransit/MassTransit/discussions/3818

Originally posted by frenetisch-applaudierend November  6, 2022
I'm trying to correlate a message to a saga on a different property than the correlation id. This works with the in-memory repository, but when switching to the Cosmos DB repository, correlation fails. Judging from the documentation and from other discussions here, I believe that correlation expressions are supported with Cosmos, but I'm unsure what is needed to get them working.
I tried adding an index in Cosmos DB to the property in question, but this made no difference.
This is my saga instance class (minus unrelated state properties):
public class Instance : SagaStateMachineInstance
{
    [JsonPropertyName("_etag")]
    public string ETag { get; set; }

    [JsonPropertyName("id")]
    public Guid CorrelationId { get; set; }

    public int CurrentState { get; set; }

    public string LegitimationCode { get; set; } = null!;
}

And this is how the event that should be correlated is configured:
Event(
    () => QueryLegitimationRequest,
    e =>
    {
        e.CorrelateBy(i => i.LegitimationCode, m => m.Message.Code)
            .SelectId(ctx => ctx.CorrelationId ?? NewId.NextGuid());

        e.OnMissingInstance(
            cfg => cfg.Execute(
                ctx => ctx.Respond(new LegitimationRequestNotFound(ctx.Message.Code))));
    });

Any hint on what I missed is greatly appreciated.

Thanks! Can confirm that when changing the instance state property to the following, everything works again as expected.
[JsonPropertyName("LegitimationCode")]
public string LegitimationCode { get; set; } = null!;


Add explanation of Event Source Length in https://learn.microsoft.com/en-us/azure/azure-functions/functions-target-based-scaling?tabs=v5%2Ccsharp

In the Target-based scaling documentation, there is a formula on how to calculate the desired instances based on Event source length and Target executions per instance. The Target executions per instance variable is well documented for each specific type of trigger. However, the Event source length is not.
To be able to do your own calculation it would be good to understand what this variable is, and how to calculate it on different triggers.

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

ID: e4b9daf3-aa85-9dd9-6056-e9e07b2a8285
Version Independent ID: 5f8d6b0f-c46c-158e-3309-bcc645b0a046
Content: Target-based scaling in Azure Functions
Content Source: articles/azure-functions/functions-target-based-scaling.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@SWarnberg
Thanks for your feedback! We will investigate and update as appropriate.

@SWarnberg
Thank you for bringing this to our attention.
I've delegated this to content author, who will review it and offer their insightful opinions.

Hi @SWarnberg, thanks for the feedback. In this context, length refers to the number of events to be processed, so in that sense like an array.length property. I'll update the article to make it more clear.
On an unrelated note, where did you find the feedback link that you used to open this issue? I'm only curious because we've recently deprecated feedback issues in favor of an internal tracking mechanism, and I was surprised to see your new issue get created.

Hi @SWarnberg, thanks for the feedback. In this context, length refers to the number of events to be processed, so in that sense like an array.length property. I'll update the article to make it more clear.
On an unrelated note, where did you find the feedback link that you used to open this issue? I'm only curious because we've recently deprecated feedback issues in favor of an internal tracking mechanism, and I was surprised to see your new issue get created.

Perfect. Sounds good.
Well, since I detected that the feedback link didn't work anymore to my surprise I went the backdoor way into GitHub directly.


Document generic artifact secret

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
Document the changes introduced in this PR. Installing our custom Grafana plugins requires hosting some .zip file artifacts, so we needed to add the concept of a generic artifact repo. In practice, this will be same as the Artifactory instance used for Docker images, but requires a new secret due to the limitations of the image pull secret.
Why should this Pull Request be merged?
This will be required for successful deployment of Grafana.
What testing has been done?
N/A

@JD-Robertson I updated the breaking changes spreadsheet


Migrate Project to bulma & sass

No need for Bulma. @JacobSamro @techieph Modal without js added. I'll implement bootstrap theming.
(Also Jquery, Popper Js has been removed)


Share Company List, update Price in List Display

Share Company List, update Price in List Display

Added for each Action that changes the Market Cell Location, create a Game Action. If is a Network Game, send the Action to other clients. Use only for debugging


If we can't load the jars for whatever reason, that should not be a fatal error

Lots of projects that have, let's call them "dysfunctional" build systems which aren't properly installing jars via JRuby/Gradle or jbundler will end up with runtime errors, e.g.:
2015-09-11 15:19:07 rake aborted!
2015-09-11 15:19:07
2015-09-11 15:19:07
2015-09-11 15:19:07 	you might need to reinstall the gem which depends on the missing jar or in case there is Jars.lock then resolve the jars with `lock_jars` command
2015-09-11 15:19:07
2015-09-11 15:19:07 no such file to load -- com/squareup/jnagmp/bouncycastle-rsa/1.0.0/bouncycastle-rsa-1.0.0 (LoadError)

I do not believe this should be a critical error, but that we should act the same as on MRI, i.e. no-op.

is this happening how ? installing via MRI and then using with JRuby ? yes, the latter indeed has this corrupted _jars.rb file. that can be fixed - but maybe a platform java only gem would be the better way to go ?

The project in question was using JRuby but had no previous jar-based dependencies whatsoever and therefore had nothing like jbundler to resolve dependencies. Without something executing to install the jar dependencies this will fail won't it? A couple of scenarios that come to mind:

no JRuby/Gradle
no jbundler
jar-dependencies 0.1.x in the lock file
no maven present

These can all result in this failure no?

jar-dependencies is default gem with jruby since version 1.7.18 (or 1.7.17 or earlier). jar-dependencies will install ruby-maven if not installed. in the next jruby release there will be no ruby-maven preinstalled anymore so this is the standard case.
jbundler or jruby-gradle will help as well.
with older jrubies there is no way to get it working with bundler. jar-dependencies in Gemfile will not help here either, it needs the rubygems post-install hook, rubygems does work with older jrubies if jar-dependencies is already install:
gem install jar-dependencies
gem install fast-rsa-engine

will work with all jrubies (fresh install). with newer jrubies either way works
gem install fast-rsa-engine

or just add gem 'fast-rsa-engine' to your Gemfile and run
bundle install

all cases do not need ruby-maven installed before hand. that is more or less how travis tests the gem - and it does not install ruby-maven through Gemfile ! just tried this with jruby-1.7.17 and it works (for me).
can it be that this was an older jruby ?

IIRC this was with JRuby 1.7.21, later today (still running errands) I'll jump onto VPN and check out the specifics of the project and make a small reproduction case.

thanx, very much appreciated

Here's a reproduction case:

rvm use jruby-1.7.20
gem install fast-rsa-engine -N
ruby -e "require 'fast-rsa-engine'"

Which will dump:
RuntimeError:

	you might need to reinstall the gem which depends on the missing jar or in case there is Jars.lock then resolve the jars with `lock_jars` command

no such file to load -- com/squareup/jnagmp/bouncycastle-rsa/1.0.0/bouncycastle-rsa-1.0.0 (LoadError)
              do_require at /home/ubuntu/.rvm/gems/jruby-1.7.20@rubygems/gems/jar-dependencies-0.2.1/lib/jar_dependencies.rb:309
             require_jar at /home/ubuntu/.rvm/gems/jruby-1.7.20@rubygems/gems/jar-dependencies-0.2.1/lib/jar_dependencies.rb:228
  require_jar_with_block at /home/ubuntu/.rvm/gems/jruby-1.7.20@rubygems/gems/jar-dependencies-0.2.1/lib/jar_dependencies.rb:0
             require_jar at /home/ubuntu/.rvm/gems/jruby-1.7.20@rubygems/gems/jar-dependencies-0.2.1/lib/jar_dependencies.rb:227
             require_jar at /home/ubuntu/.rvm/gems/jruby-1.7.20@rubygems/gems/jar-dependencies-0.2.1/lib/jar_dependencies.rb:318
                  (root) at /home/ubuntu/.rvm/gems/jruby-1.7.20@rubygems/gems/fast-rsa-engine-0.3.1-java/lib/fast-rsa-engine_jars.rb:4
                 require at org/jruby/RubyKernel.java:1072
                  (root) at /home/ubuntu/.rvm/rubies/jruby-1.7.20/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:1
                 require at /home/ubuntu/.rvm/rubies/jruby-1.7.20/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:69
                 require at org/jruby/RubyKernel.java:1072
                  (root) at /home/ubuntu/.rvm/gems/jruby-1.7.20@rubygems/gems/fast-rsa-engine-0.3.1-java/lib/fast-rsa-engine.rb:2
                  (root) at -e:1


Add nv_enable_options and nv_disable_options

nvFuser version >= 0.2.23 will support setting NVFUSER_ENABLE/NVFUSER_DISABLE through the python frontend using _enable_options and _disable_options flags. This is to enable matmul/linear codegen for nvfuser through Thunder using flags nv_enable_options=["fuse_matmul"], nv_disable_options=["matmul_expr_eval"]
Issue: https://github.com/NVIDIA/Fuser/issues/3022
nvFuser PR: https://github.com/NVIDIA/Fuser/pull/3270

Maybe @jjsjann123 or @kevinstephano would like to review this?

What would be sane defaults here?
How will user know they need to deviate?
So here we are adding two options that users need to know about and then they need to know the magic strings to be filled in...

What would be sane defaults here? How will user know they need to deviate?

By default, no options need to be used.
The primary objective of these options is nvfuser development.
We can enable matmul/linear for nvfuser using nv_enable_matmul/linear flags. Within nvfuser, we can further control the scheduler used for these operators (i.e. whether we use ATen or nvfuser codegen) through NVFUSER_ENABLE/DISABLE environment flags.
This PR coupled with https://github.com/NVIDIA/Fuser/pull/3270 allows us to enable nvfuser codegen for matmul/linear through Thunder using these options. This is to primarily support direct experimentation from Thunder.

What would be sane defaults here? How will user know they need to deviate? So here we are adding two options that users need to know about and then they need to know the magic strings to be filled in...

These are good questions. I think it's OK for now because these are just developer-facing options to continue experimentation. Maybe we should review how options are presented more generally, to clarify what is for practitioners vs. internal developers? Maybe developer options should be better documented somewhere, too?

What would be sane defaults here? How will user know they need to deviate? So here we are adding two options that users need to know about and then they need to know the magic strings to be filled in...

These are good questions. I think it's OK for now because these are just developer-facing options to continue experimentation. Maybe we should review how options are presented more generally, to clarify what is for practitioners vs. internal developers?

We could rename the above options to _nv_enable/disable_options to hint these are not user-facing options?

Maybe developer options should be better documented somewhere, too?

I can add a wiki to the nvfuser page listing our options.

I wonder if it would be useful to think about making this an option for NVFuser now.
The global options are not good UX and we should not be adding features that need an entire wiki.

I wonder if it would be useful to think about making this an option for NVFuser now. The global options are not good UX and we should not be adding features that need an entire wiki.

I think what we need to follow-up on is that this isn't UX, it's DevX, and maybe we need to do something to make that clearer going forward.

Fair that it's DevX, but it will easily become UX if we don't pay attention. Like I can totally see these options percolate into reference models, benchmarks, etc just because they are there. So, we can merge, but then we will need to call out when these are actually used in the wild because it could spiral out of control.


Question - EV charger version 1.xx

Hi,
it would be possible to add a  EV charger version number?
Thanks

Yes, it is possible. I'll add it to next version.
We have to check entity names with main integration to be in sync. I'll add it there too.


WIP: Build docs with warnings as errors

Inspired by @rgommers in #9618 I'm trying to build with -nWT --keep-going (nitpicky, turn warnings into errors, full traceback on error, and keep going until the end to show an error). I now have it down to a few dozen lines of errors, then I'll enable "don't allow warnings in examples" (with exceptions of course) because it seems like good practice.

This sounds awesome! If we can get it completely clean, we could add a check to CI to keep it that way.

My inner OCD thanks you :)

@larsoner and @rgommers: thanks, it is great to see the docs getting some clean up.
@rgommers  wrote

If we can get it completely clean, we could add a check to CI to keep it that way.

This.  Without CI to ensure that it stays clean, fixing warnings in the docs is a Sisyphean task.

Agreed. This PR will make the make html-scipyorg target throw an error by building with -nWT, and you can see it works/errors already here on CircleCI since I haven't fixed everything - true TDD! From what I've seen doing this on other repos, the errors produced by -nWT are pretty clear, too.


Anerdw: Watch alnasasaqatar.com

Anerdw requests the watch of the watch_keyword alnasasaqatar\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

alnasasaqatar\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Cow in Charcoal HQ


WP2Static DeployCache.php (v1.0-alpha)

DeployCache.php has two function that are not processing file paths correctly and thus failing to make the deploy cache work correctly.
public static function addFile()
...
<< $deployed_file = $post_processed_dir . $local_path;
#Should be
>> $deployed_file = $post_processed_dir . str_replace($post_processed_dir, '', $local_path);

and
public static function fileisCached()
...
<< $deployed_file = $post_processed_dir . $local_path;
#Should be
>> $deployed_file = $post_processed_dir . str_replace($post_processed_dir, '', $local_path);

or something like that...

Thanks @sgerlach, will review soon

Also, Deployer.php needs a tweak
`
<< 'CallerReference' => 'WP2Static S3 Add-on',
Needs to be

'CallerReference' => 'WP2Static S3 Add-on' . time(),
`
or something because the CallerReference needs to be unique per request

Since 72108b7c4dcfcdcab239aabf2896d01096699b65 (and still the case in 8aedfcc1f6ce6d4382ff7f5e6768bb92ca250bfb), I'm seeing messages like
Warning: file_get_contents(/opt/bitnami/apps/wordpress/htdocs/wp-content/uploads/wp2static-processed-site/opt/bitnami/apps/wordpress/htdocs/wp-content/uploads/wp2static-processed-site/wp-content/uploads/2020/03/logo-full-primary-400x84-1-150x84.png): failed to open stream: No such file or directory in /opt/bitnami/apps/wordpress/htdocs/wp-content/plugins/wp2static/src/DeployCache.php on line 65

due to this, where the file path is doubled. This is using wp2static-addon-s3.
I think the correct fix here is to change the S3 addon to pass a relative fix, so I've created https://github.com/WP2Static/wp2static-addon-s3/issues/12.

Also, Deployer.php needs a tweak
<< 'CallerReference' => 'WP2Static S3 Add-on',
## Needs to be
>> 'CallerReference' => 'WP2Static S3 Add-on' . time(),

or something because the CallerReference needs to be unique per request

Added this to https://github.com/WP2Static/wp2static-addon-s3/issues/9.


React Native - ScrollView - Disallow a component to go above screen during scrolling.

Is this a bug report?
yes

Have you read the Contributing Guidelines?
yes
Environment
Environment:
OS: macOS Sierra 10.12.6
Node: 6.11.0
Yarn: 1.0.2
npm: 5.3.0
Watchman: 4.9.0
Xcode: Xcode 9.0 Build version 9A235
Android Studio: 2.3 AI-162.4069837
Packages: (wanted => installed)
react: 16.0.0-alpha.12 => 16.0.0-alpha.12
react-native: 0.48.2 => 0.48.2

Steps to Reproduce

Code Structure:
<ScrollView>
    <MyComponent />
</ ScrollView>

Expected Behavior

I have a parent scrollview. And few components inside it. I want one specific component 'MyComponent' to not exit the phone's screen window when scrolling up.
Actual Behavior

I want one of my component nested inside ScrollView to never cross the physical screen.
eg:
This is the normal screen:

It should stop scrolling up when the MyComponent hits top of the screen. Like this:

Reproducible Demo

There is no reproducible demo.

This is not a bug IMHO. If I understand you correctly, you would like to be able to switch of the elasticity of the scroll viewer? On iOS you can try if the bounce property does what you are looking for. https://facebook.github.io/react-native/docs/scrollview.html#bounces

Or maybe you mean something like this? http://rawgit.com/captivationsoftware/react-sticky/master/examples/basic/index.html

use stickyHeaderIndices, but it needs the top monotonous increasing. And you can not move it.
if stickyHeaderIndices can not suit your requirements.
This is maybe an example for you. It implements with ScrollView
https://github.com/bolan9999/react-native-largelist


Add DAG to run tag analytics management command

Over in https://github.com/datamade/la-metro-dashboard, create a new DAG that runs the tag analytics management command on the first of every month.

Need to publish a built dashboard image to unblock @antidipyramid.

DAG implemented by @antidipyramid, but is being killed when run on staging. Assigning myself to debug.

@hancush to schedule pairing sesh week of 5/9.

Shared Google drive folder with @shrayshray and Omar.


Multi monitor top offset gap

I'm having an issue where the bar is aligned with the menu bar for either the built in display or the external monitor, not both.
When the widget is top aligned to the menu bar with the built in display, there is a gap between the menu bar and the menu bar on the external display. If I refresh the widget from the external monitor, it is aligned with the menu bar on the external but goes into and behind the menu bar on the built in display.
How do I configure the alignment on both the built in display and external monitor so that they are both aligned with the menu bar?

I'll have to make some tests with an external monitor, I'll keep you updated soon!

Hello,
I'm sorry to resurrect this old post, but I am encountering the exact same issue with simple-bar not being detected on my external screen connected to my MacBook Pro M2. Have you found a solution since?
Thank you in advance.


Rogue No Longer Has Sneak Attack Encounter Check Box

Hi, I've tried this on two servers, one completely clean and one with other add-ons that was running from somebody else's computers.  and it seems like the Rogue no longer has the option for a sneak attack in the encounter actions tab.
Not sure if this is intentional or not but I never saw anything in the change log about it.

You can restore them by enabling the "Theater of the Mind Toggles" system setting.


Potential useSearch bug not triggering updates when used with urql

Greetings, I've been scratching my head over this issue for quite awhile.
Following #368, I've been using the useSearchParams hook and it has been working fine, until I started integrating with urql's useQuery.
Issue
useSearch does not rerender if it begins with query params and revisited. For example, if I land on the page with URL
http://localhost:5173/?tab=1
I cannot go back to original tab after switching to another tab. (URL has been updated to ?tab=1, but React does not rerender the components. You may see the video below:
https://github.com/molefrog/wouter/assets/40173716/58bb4027-6457-40d3-b780-4066fefc7eae
Reproduction Steps

Clone https://github.com/junwen-k/react-router-wouter
 git clone https://github.com/junwen-k/react-router-wouter
 cd react-router-wouter

Install dependencies
 npm install

Start Server
 npm start

Experiment with the page, with default ?tab=1 triggers the issue

Context
Suspect pushState event does not trigger, hence React does not rerenders the component.
React Router's version works perfectly, so I suspect this is something to do with wouter.

After playing around and some debugging, I notice that when I do
packages/wouter/src/use-browser-location.js
export const useSearch = ({ ssrSearch = "" } = {}) => {
  return useLocationProperty(
    () => location.search,
    () => ssrSearch
  );
};

Instead of
const currentSearch = () => location.search;

export const useSearch = ({ ssrSearch = "" } = {}) =>
  useLocationProperty(currentSearch, () => ssrSearch);

The issue seems to be fixed. Could this be a potential bug with how useSyncExternalStore works?
If this is really the cause of the bug, does that mean that usePathname and useHistoryState could potentially having the same exact issue as well?
export const useSearch = ({ ssrSearch = "" } = {}) =>
  useLocationProperty(
    () => location.search,
    () => ssrSearch
  );

// ...

export const usePathname = ({ ssrPath } = {}) =>
  useLocationProperty(
    () => location.pathname,
    ssrPath ? () => ssrPath : location.pathname
  );

// ...

export const useHistoryState = () =>
  useLocationProperty(
    () => history.state,
    () => null
  );

I am guessing, when we define
const currentSearch = () => location.search;

The value of currentSearch got "memorised" during initialisation, which causes this issue...
Any thoughts / comments are welcomed!

@junwen-k Hi! My guess it that useSearchParams from RR isn't compatible with wouter and it requires a separate implementation which is wouter-specific. I have an idea, as an experiment, use this dummy hook instead:
const useSearchParams = () => {
  const [,navigate] = useLocation()
  const search = useSearch()
  const params = new URLSearchParams(window.location.search)

  const setSearchParams = (obj) => {
    navigate(`?tab=${obj.tab}`)
  }

  return [params, setSearchParams]
}

Also, take a look at https://github.com/molefrog/wouter/pull/391

@junwen-k Hi! My guess it that useSearchParams from RR isn't compatible with wouter and it requires a separate implementation which is wouter-specific. I have an idea, as an experiment, use this dummy hook instead:
const useSearchParams = () => {
  const [,navigate] = useLocation()
  const search = useSearch()
  const params = new URLSearchParams(window.location.search)

  const setSearchParams = (obj) => {
    navigate(`?tab=${obj.tab}`)
  }

  return [params, setSearchParams]
}

Hi, thank you for replying. I've tested with the above snippet and the issue seems to persist. 👀
The behaviour is very buggy as you can see that sometimes it "works".
useSearchParams.ts
import { useLocation, useSearch } from "wouter";

export const useSearchParams = () => {
  const [, navigate] = useLocation();
  const search = useSearch();
  const params = new URLSearchParams(window.location.search);

  const setSearchParams = (obj) => {
    navigate(`?tab=${obj.tab}`);
  };

  return [params, setSearchParams];
};

https://github.com/molefrog/wouter/assets/40173716/4a8bf79d-1436-45ab-8742-ff9bacd13d41
You can see that for a split second, Tab 3 works for a while, then it won't work again 🤷🏻♂
(0:20: Refresh with ?tab=3 as default)
(0:22, 0:24: Tab 3 is selected and worked as expected?)

I notice that when I do
const subscribeToLocationUpdates = (callback) => {
  for (const event of events) {
    addEventListener(event, (...props) => {
      console.log("event", event, ...props);
      callback(props);
    });
  }
  return () => {
    for (const event of events) {
      removeEventListener(event, callback);
    }
  };
};

Console actually output:
event pushState Event {isTrusted: false, arguments: Arguments(3), type: 'pushState', target: Window, currentTarget: Window, …}

Which means pushState event is working. When I inline the arrow callback and it works as expected.
export const useSearch = ({ ssrSearch = "" } = {}) =>
  useLocationProperty(
    () => location.search, // Inlined
    () => ssrSearch
  );

May I know if this is not the right approach? I have the impression that somehow the value of location.search gets memorised or something.
I've also noticed that react-router discourage users to manipulate URLs using the history object directly. Not sure if running history.pushState(null, "", "/?tab=3") not working for react-router was due to that.

Not sure if running history.pushState(null, "", "/?tab=3") not working for react-router was due to that.

I did some digging: React Router uses its own format of state object to perform navigation. It is not designed to be compatible with external routers, and that is completely okay as it means that wouter doesn't break it. So I narrowed down the example to only include wouter and did two experiments:

Instead of using useSearchParams I use useLocation (as well as useHashLocation) to extract the current tab number from the URL, e.g. /1
Replaced that hook with a simple useState

Interestingly, 2) works well, while 1) is still broken. It proves that the issue is indeed in wouter, but it also tells us that it's not just search hook.
I'll keep looking

Hey @junwen-k any update on this? I'm curious if you found out the issue.

Hey @junwen-k any update on this? I'm curious if you found out the issue.

Hi, thank you for following up. As mentioned earlier, I've actually found out a solution that worked on my end.
The changes that fixes the issue was:
- const currentSearch = () => location.search;
-
export const useSearch = ({ ssrSearch = "" } = {}) =>
- useLocationProperty(currentSearch, () => ssrSearch);
+  useLocationProperty(
+    () => location.search,
+    () => ssrSearch
+  );

I am also wondering if we change history as well:
- const currentHistoryState = () => history.state;
-
export const useHistoryState = () =>
-  useLocationProperty(currentHistoryState, () => null);
+  useLocationProperty(
+    () => history.state,
+    () => ssrSearch
+  );

However as mentioned earlier, I am not sure if this is the right approach to the issue.

I have the impression that somehow the value of location.search gets memorised or something.

Currently as a workaround, I am using my upstream branch which you can take a look here. Note that this is tightly related to https://github.com/molefrog/wouter/pull/391 as the useSearchParams hook won't really work without this fix.

Suffering from the same bug. Would appreciate if the connected PR was merged soon.


Only wait for timer thread to exit if it exists.

This allows usrsctp_init_nothreads to work.

Nevermind, this was fixed by https://github.com/sctplab/usrsctp/commit/3212d5413a75d4d039e80874dffd2e44f8087ce4


Release quilt_rails 3.3.0

Description
Release quilt_rails v3.3.0.

@gmcgibbon I think I will have to do the master push for you to have the tag with it. Can I take over your branch?

@gmcgibbon I think I will have to do the master push for you to have the tag with it. Can I take over your branch?

👍 Sure, go ahead.

Done. Just waiting till ship it pass to deploy.


[FEATURE]: Directional moving of windows

Is your feature request related to a problem? Please describe.
I would like to move windows directionally.
Currently swapping will keep the cursor on the current window instead of moving with the swapped buffer which is a bit unintuitive and prevents you from moving you window several positions in  a row.
For example, moving the window on the left to the center :

This would not be possible with the current implementation of swapping (at least without moving after each swap)
Describe the solution you'd like
Either make a new method that allows directional moving of a window or allow cursor to follow current buffer while swapping.
Describe alternatives you've considered
Cry while doing a series of swap and move combinations instead of a single action.

Cry while doing a series of swap and move combinations instead of a single action.

😂
So, to clarify, basically what you're asking for is for the cursor to follow the buffer when you swap a buffer to an adjacent window?
If so, this is do-able.

Either make a new method that allows directional moving of a window or allow cursor to follow current buffer while swapping.

Which of these would be better in your opinion:

a config option for the cursor to follow the moved buffer
a separate set of methods, so that you can use both behaviors

I do think being able to use both behaviors would be slightly more optimal, although I would probably use the directional moving/cursor following method most of the time. I also doubt that general users would complain about having more choices

Okay, with that said then what I'll probably do is add a config option to set the default behavior, and also make the swap_buffer_[direction] methods take an opts table so you may call it like require('smart-splits').swap_buffer_left({ move_cursor = true })


All price fields require entry in custom fields

PHP Version: 8.3   | Shopware Version: <IP_ADDRESS>  | Affected area / extension: Platform(Default)

Actual behaviour:

do not fill all price fields of custom fields in a product
try to save

Expected behaviour:

option to define required fields
or
not all price fields require entry

saving without having all price fields filled is possible
How to reproduce:
When creating a custom field with 2 or more price fields

[public] Shopware automated response: This issue is linked to the internal issue: NEXT-39893
[created from NEXT-39893, comment 520276]


Fix & improve scripted's log buffering and messagings

To validate this pull request against other sbt modules, please visit this link.


Publish it on Open VSX

I am currently using VSCodium, which is a Libre build of VSCode without trackers. But it doesn't use the VSCode Marketplace as stated in https://github.com/VSCodium/vscodium/blob/master/DOCS.md#extensions-marketplace but instead https://open-vsx.org.
Could you please also publish this extension on Open VSX ?
The instructions are available at https://github.com/eclipse/openvsx/wiki/Publishing-Extensions.

Thanks @TheBrainScrambler... I will do that...

Thanks goes to you !

@TheBrainScrambler Thank's man,,, but I think it would be better if the original author do that instead...

Oops sorry, I thought you were the author. Of course I would just do it myself if it wouldn't be better that the author does it

Hahaha... no... its not me lol

I think we have a centralized publisher for both marketplaces (either 0x9ef, or another responsible person). VS Code Marketplace allows to have multiple people with publish access.
Having a different people (or teams) for multiple marketplaces might be confusing in some cases.

Can we take https://open-vsx.org/extension/0x9ef/vscode-vlang down after we published it under The V Programming Lanugage?

The extension is published here https://open-vsx.org/extension/vlanguage/vscode-vlang


Integration of space into the rustsim organization.

Hi @vadixidav!
This is a follow-up to our discussion on Discord regarding the potential integration of space into the rustsim organization.
While currently light, the feature set of this crate are very useful, and its long-term goals interesting. After reviewing this project, here are a some improvements we could work on before actually adding space to the rustsim organization. This is a macro list, which could be broken down into several smaller issues. Of course, everything is open to discussion:

[x] Add the #![deny(missing_docs)] directive. Everything in the crate should be documented, even if it is minimal.
[ ] Add doc-tests to every method on space. I think it is best to think about it from the beginning since it is pretty overwhelming to have to add them all at once after the crate grows.
[x] The current naming of octree seems confusing. I think it would be clearer if Linear and Pointer were replaced by something like LinearOctree and PointerOctree.
[ ] To avoid redundancy between the ncollide crate and the space crate, I believe we should migrate the content of the partitioning module from ncollide to space if that makes sense to you. We should list in a separate issue what are our options to unify the various traversal methods (visitors, and best-first search methods).
[ ] After the migration mentioned in the previous task, we need to figure out what to do with that page: https://www.ncollide.org/bounding_volumes/#spacial-partitioning Maybe ncollide will just re-export the type/traits from space and we will keep this section as-is. Maybe this section will be more focused on space itself. Or maybe this should be in a separate user guide.
[ ] In order to be featured on https://rustsim.org, the space crate will need a logo (even if it is temporary).

Doing all this will probably take a fair amount of time (perhaps a couple of months) but I think this is worth it as it will increase the quality of this crate and its documentation. I will contribute too of course.
If that's okay with you, I will link this issue into the next monthly rustsim newsletter so potentially attract contributors.

Thank you for giving me some pointers on what is necessary to add the library to rustsim. This weekend I should have some time to start hacking at some of these things. Clearly more work does need to be done here to transport the library into something really usable (like good documentation). I will start by pulling off some of the documentation and test related issues first before trying to bite off combining the partitioning module from ncollide in a way which unifies the ways the spatial tree is queried. Once I get to that part I will start opening the relevant issues.

In order to be featured on https://rustsim.org, the space crate will need a logo (even if it is temporary)

I will look into that.

If that's okay with you, I will link this issue into the next monthly rustsim newsletter so potentially attract contributors.

Please do! I haven't properly tagged my issues yet, but many of them are simply building out new spatial tree types. I can look into tagging them appropriately based on difficulty.

#23 handles deny missing docs.

Status update
I am currently loaded up with fixing up photogrammetry crates in the Rust community. I will eventually finish that, get back to a hamming weight tree datastructure I am writing (and speeding up), then finally I intend to make the space crate a set of common traits and APIs for interacting with spatial trees in other crates (including hwt). I will split out any code from space into other crates for their purpose and implement the traits in space on those datastructures. Space will ultimately probably provide abstractions over distance metrics, ANN data structures, search radius, nearest neighbors, and search area. This will basically be like alga, but for spatial datastructures. I intend to use alga alone if possible to allow interaction with other crates than nalgebra, such as ndarray, and anything else that may come up in the future.
So, I really do want to get back to this, but I am down in the weeds of Rust photogrammetry for the time being until there are usable tools for those things. I think I can probably make the abstractions here in about 1-3 months, which will just depend on what order things happen in. I do intend to work on space immediately after hwt is finished to my liking, which will be a good exercise because hwt is working in Hamming space (defined by Hamming distance, which is basically just L1 with binary distances and positions).


UI Change in About info section

Proposal
I would like to change the UI of about section as it doesn't have much clearly visible color.

Currently :

@sairish2001  please assign me this issue


Combine KeyOverlaidModifier and KeyToKey for the same key

I have the following snippet which remaps K to modifier when pressed with another key:
  <autogen>
    __KeyOverlaidModifier__
    KeyCode::K,

    KeyCode::VK_LAZY_SHIFT_R, ModifierFlag::K_TO_SHIFT,

    KeyCode::J,
  </autogen>

  <block>
    <modifier_only>ModifierFlag::K_TO_SHIFT</modifier_only>
    <autogen>__BlockUntilKeyUp__ KeyCode::K</autogen>
  </block>

I have another item that does the following:
<autogen>__KeyToKey__ KeyCode::K, ModifierFlag::OPTION_R, KeyCode::KEY_9, ModifierFlag::SHIFT_R</autogen>

It seems I can only either get one or the other, is there any way to combine the behavior?

The order of the mod matter here, try this. I only modify K to J in the 2nd <autogen>
<autogen>
	__KeyToKey__
		KeyCode::J, ModifierFlag::OPTION_R,
		KeyCode::KEY_9, ModifierFlag::SHIFT_R
</autogen>

OR (do not do both edit, just pick one of them)
Come to think about it you can also just add  ModifierFlag::NONE to the 1st mod
  <autogen>
    __KeyOverlaidModifier__
    KeyCode::K, ModifierFlag::NONE

    KeyCode::VK_LAZY_SHIFT_R, ModifierFlag::K_TO_SHIFT,

    KeyCode::J,
  </autogen>

To understand the difference refer to the doc
https://pqrs.org/osx/karabiner/xml.html.en
search for Order of <autogen> and ModifierFlag::NONE to see which fit your case better. (They do work differently)

Now I look at it again you can just move the 2nd <autogen> above the 1st one would work too. Many different way to archive the same goal, still refer to doc to see which work better for you :)


Update deps

Coverage remained the same at 100.0% when pulling 3a2d8cf16f12e1dfc820feb9bbff02cea8b9584a on housekeeping into 2475fbc53847db0fd4eeff3912ccb85d56593522 on master.


0.4.1

Current dependencies on/for this PR:

main

PR #52   👈

This comment was auto-generated by Graphite.


[UST-01M] Insecure Burning Operation

UST-01M: Insecure Burning Operation

Type
Severity
Location

Logical Fault

USTB.sol:L100-L103

Description:
The USTB::burn function can be invoked by anyone with any from member, effectively compromising all balances held by all accounts in the system as any malicious user can simply burn the balance of another while acquiring the UNDERLYING tokens themselves.
Impact:
All funds held by the USTB contract are presently at risk due to an insecure burn mechanism.
Example:
function burn(address from, uint256 amount) external mainChain(true) {
    _burn(from, amount);
    IERC20(UNDERLYING).safeTransfer(msg.sender, amount);
}

Recommendation:
We advise the code to properly evaluate an allowance between the from member and the msg.sender, ensuring that the USTB::burn operation is securely performed.

Resolved in commit 1baa4107ffc0f8754a9b7b398a9f3ec585f27ef5.

nice catch


Improve "Quick Start" Documentation

Background
The Quick Start documentation just points you to 9 different pages. Thus, in order to "get started" with StreamAlert, you first have to read through half of the documentation.
Desired Change
I would love a "Getting Started" page which outlines (on a single page) the minimum number of steps for someone to get StreamAlert up and running. For example, creating an S3 bucket and configuring it as an event source, then sending CloudTrail data there. Something quick and tangible that people can use to easily try it.

https://streamalert.readthedocs.io/ really helped with initial quick start and deployment but I'd like to see more for setting up alerts.

It wasn't clear in getting started  docs that in addition to running python manage.py output new --service slack, i had to then update rules/ files to send alerts into Slack.

closing this since it's fairly outdated the and these concerns have been largely addressed


some problems with the cross-compile  of  azure-iot-sdk-python

#- OS and version used:
host：Linux version 3.13.0-32-generic
taget：openwrt 10.03, mtk7621
gcc：toolchain-mipsel_gcc-4.6
#- Python runtime used:
python2.7: ELF 32-bit LSB  executable, MIPS, MIPS32 version 1
- SDK version used:
azure-iot-sdk-python
#- Description of the issue:
Hi, I encountered some problems with the cross compile  of  azure-iot-sdk-python. When I compile the sdk on host system and not cross-compile, everything goes well. But, it always throws me errs:
-- Could NOT find Boost
-- Found PythonLibs: /home/wusc/R200/package/azure-iot/output/Python-2.7.12/lib/libpython2.7.a (found suitable version "2.7.12", minimum required is "2.7")
-- Could NOT find Boost
-- Could NOT find PythonLibs (missing:  PYTHON_LIBRARIES) (found suitable version "2.7.12", minimum required is "2.7")
CMake Warning at CMakeLists.txt:268 (message):
This package may only be installed when 'use_installed_dependencies' is ON
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
PYTHON_LIBRARY (ADVANCED)
linked by target "iothub_service_client_python" in directory /home/wusc/R200/package/azure-iot/py2.7.12_x86/azure-iot-sdk-python/service/src
linked by target "iothub_service_client_mock" in directory /home/wusc/R200/package/azure-iot/py2.7.12_x86/azure-iot-sdk-python/service/tests
# Code sample exhibiting the issue:
wusc@ff-compiler:~/azure-iot-sdk-python/build_all/linux$  ./build.sh --toolchain-file toolchain-openwrt.cmake -cl -ldl
# Console log of the issue:
-- The C compiler identification is GNU 4.6.3
-- The CXX compiler identification is GNU 4.6.3
-- Check for working C compiler: /home/wusc/R200/package/azure-iot/OpenWrt-Toolchain-mtk762x-for-mipsel-gcc-4.6-linaro_uClibc-<IP_ADDRESS>/toolchain-mipsel_gcc-4.6-linaro_uClibc-<IP_ADDRESS>/bin/mipsel-openwrt-linux-gcc
-- Check for working C compiler: /home/wusc/R200/package/azure-iot/OpenWrt-Toolchain-mtk762x-for-mipsel-gcc-4.6-linaro_uClibc-<IP_ADDRESS>/toolchain-mipsel_gcc-4.6-linaro_uClibc-<IP_ADDRESS>/bin/mipsel-openwrt-linux-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /home/wusc/R200/package/azure-iot/OpenWrt-Toolchain-mtk762x-for-mipsel-gcc-4.6-linaro_uClibc-<IP_ADDRESS>/toolchain-mipsel_gcc-4.6-linaro_uClibc-<IP_ADDRESS>/bin/mipsel-openwrt-linux-c++
-- Check for working CXX compiler: /home/wusc/R200/package/azure-iot/OpenWrt-Toolchain-mtk762x-for-mipsel-gcc-4.6-linaro_uClibc-<IP_ADDRESS>/toolchain-mipsel_gcc-4.6-linaro_uClibc-<IP_ADDRESS>/bin/mipsel-openwrt-linux-c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenSSL: /home/wusc/R200/package/azure-iot/output/openssl-OpenSSL_1_0_2-stable/lib/libssl.a;/home/wusc/R200/package/azure-iot/output/openssl-OpenSSL_1_0_2-stable/lib/libcrypto.a
-- Shared_Util architecture: GENERIC
-- Performing Test CXX_FLAG_CXX11
-- Performing Test CXX_FLAG_CXX11 - Failed
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.26")
-- Checking for module 'libcurl'
--   Found libcurl, version 7.35.0
-- Found CURL: curl
CMake Warning at uamqp/deps/umock-c/CMakeLists.txt:147 (message):
This package may only be installed when 'use_installed_dependencies' is ON
-- AMQP Target architecture: GENERIC
-- MQTT Target architecture: GENERIC
-- iothub architecture: GENERIC
-- Could NOT find Boost
-- Found PythonLibs: /home/wusc/R200/package/azure-iot/output/Python-2.7.12/lib/libpython2.7.a (found suitable version "2.7.12", minimum required is "2.7")
-- Could NOT find Boost
-- Could NOT find PythonLibs (missing:  PYTHON_LIBRARIES) (found suitable version "2.7.12", minimum required is "2.7")
CMake Warning at CMakeLists.txt:268 (message):
This package may only be installed when 'use_installed_dependencies' is ON
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
PYTHON_LIBRARY (ADVANCED)
linked by target "iothub_service_client_python" in directory /home/wusc/R200/package/azure-iot/py2.7.12_x86/azure-iot-sdk-python/service/src
linked by target "iothub_service_client_mock" in directory /home/wusc/R200/package/azure-iot/py2.7.12_x86/azure-iot-sdk-python/service/tests
-- Configuring incomplete, errors occurred!
See also "/home/wusc/R200/package/azure-iot/py2.7.12_x86/azure-iot-sdk-python/c/cmake/iotsdk_linux/CMakeFiles/CMakeOutput.log".
See also "/home/wusc/R200/package/azure-iot/py2.7.12_x86/azure-iot-sdk-python/c/cmake/iotsdk_linux/CMakeFiles/CMakeError.log".

I had sloved it

Hi, I also have problem with OpenWrt and python sdk rightnow. I would like to run the sdk on my router, which runs on OpenWrt and has 6MB storage. My question is, how did you bring the python sdk to a small OpenWrt router? Thanks


Update results

Hi, Teams!
The other day I submit the results of facebook-dpr-ctx_encoder-multiset-base in this PR. But later I realize that I made a mistake. For DPR model, it has separate query encoder and doc encoder, which means I shouldn't simply evaluate the performance of DPR with this:
from sentence_transformers import SentenceTransformer
model_name = "facebook-dpr-ctx_encoder-multiset-base"
model = SentenceTransformer(model_name)

Instead, I should implement the model like this:
class DPRModel():
    def __init__(self):
        self.devcie = torch.device("cuda")
        self.context_tokenizer = DPRContextEncoderTokenizer.from_pretrained("facebook/dpr-ctx_encoder-multiset-base")
        self.context_encoder = DPRContextEncoder.from_pretrained("facebook/dpr-ctx_encoder-multiset-base").to(self.devcie)

        self.query_tokenizer = DPRQuestionEncoderTokenizer.from_pretrained("facebook/dpr-question_encoder-multiset-base")
        self.query_encoder = DPRQuestionEncoder.from_pretrained("facebook/dpr-question_encoder-multiset-base").to(self.devcie)
        self.sep=" "

    def encode(self, sentences, batch_size=128, **kwargs):
        sentences = [sentences[idx:idx+batch_size] for idx in range(0,len(sentences),batch_size)]
        embeddings = []
        for s in sentences:
            inputs = self.context_tokenizer(s, padding=True, truncation=True, return_tensors='pt',max_length=512,).to(self.devcie)
            with torch.no_grad():
                embed = self.context_encoder(**inputs).pooler_output.cpu().numpy()
            embeddings.append(embed)
        return np.concatenate(embeddings,axis=0)

    def encode_queries(self, queries, batch_size=32, **kwargs):
        queries = [queries[idx:idx+batch_size] for idx in range(0,len(queries),batch_size)]
        embeddings = []
        for q in queries:
            inputs = self.query_tokenizer(q, padding=True, truncation=True, return_tensors='pt',max_length=512,).to(self.devcie)
            with torch.no_grad():
                embed = self.query_encoder(**inputs).pooler_output.cpu().numpy()
            embeddings.append(embed)
        return np.concatenate(embeddings,axis=0)

    def encode_corpus(self, corpus, batch_size=32, **kwargs):
        if type(corpus) is dict:
            corpus = [
                (corpus["title"][i] + self.sep + corpus["text"][i]).strip()
                if "title" in corpus
                else corpus["text"][i].strip()
                for i in range(len(corpus["text"]))
            ]
        else:
            corpus = [
                (doc["title"] + self.sep + doc["text"]).strip() if "title" in doc else doc["text"].strip()
                for doc in corpus
            ]
        corpus = [corpus[idx:idx+batch_size] for idx in range(0,len(corpus),batch_size)]
        embeddings = []
        for c in corpus:
            inputs = self.context_tokenizer(c, padding=True, truncation=True, return_tensors='pt',max_length=512,).to(self.devcie)
            with torch.no_grad():
                embed = self.context_encoder(**inputs).pooler_output.cpu().numpy()
            embeddings.append(embed)
        return np.concatenate(embeddings,axis=0)

So I want to confirm if this is the right way to evaluate a dual encoder model?
If so, could you please consider merge these two PRs DPR Dragon with the updated results?

Thanks @Hannibal046 this looks very reasonable, will merge it in.
@imenelydiaker, @Muennighoff we talked about adding a scripts folder for running models, what did we end up deciding on that one?

Actually, I don't see the difference between the 2 tokenizers and 2 encoders you added in your implementation.
The encoders both do a pooling just as SentenceTransformers does (look at the docs https://huggingface.co/docs/transformers/main/en/model_doc/dpr#transformers.DPRQuestionEncoderr). The only additional thing you're doing in the encoders is concatenating title and text to build a corpus. I think the MTEB tasks already do that, and that shouldn't be modified to make sure all models are evaluated on the same datasets.
The tokenizers for queries and context are the same (BERTTokenizer, see docs here: https://huggingface.co/docs/transformers/main/en/model_doc/dpr#transformers.DPRQuestionEncoderTokenizer)
After checking the results submitted in the previous PR and the new one, I see that you have the same results.
Something is wrong in the RP, your results should be added to the results folder not to the root:

Also, there will be duplicated results at the end (we should restart the leaderboard for them to apprear) because the results didn't overwrite the previous ones as they don't have the same folder name.

Hi, @imenelydiaker Thanks so much for the careful check!
Actually, the two DPR model are different because DPR is not a universal text embedding model, it is specially designed for retrieval task and has two separate encoders. Here separate  means two set of parameters, so even if they have same tokenizer and pooling method, for the same input, they would produce different output:

Sorry for mistakenly upload to wrong directory. But I am surprised that we got the same results. Is there something wrong with my implementation above? Could you please double check it? For the title concatenation part, I copy from here:
https://github.com/embeddings-benchmark/mteb/blob/b08913f8616c580f8bbb15bfa808549e2b74912a/mteb/evaluation/evaluators/RetrievalEvaluator.py#L162-L176

Okay my bad then. Maybe you should reopen a PR and put the results in the old folder so we can see the differences in results ?

Hi, I believe there is some improvement when using dual encoder DPR.

Okay my bad then. Maybe you should reopen a PR and put the results in the old folder so we can see the differences in results ?

Sure

Actually, SentenceTransformers proposes two models: one for queries https://huggingface.co/sentence-transformers/facebook-dpr-question_encoder-single-nq-base
and one for context : https://huggingface.co/sentence-transformers/facebook-dpr-ctx_encoder-multiset-base

Can we use these two models simultaneously for MTEB? If so, it would be very convenient to benchmark dual encoder!
BTW, do I have to wait for the refresh of the leaderboard since I tried it myself a few times, but still couldn't find the Dragon results merged hours ago.

Thanks for your assistance! I have make several new PRs to meet community requirements. https://huggingface.co/datasets/mteb/results/discussions/38
https://huggingface.co/datasets/mteb/results/discussions/39
https://huggingface.co/datasets/mteb/results/discussions/40

Can we use these two models simultaneously for MTEB? If so, it would be very convenient to benchmark dual encoder!
BTW, do I have to wait for the refresh of the leaderboard since I tried it myself a few times, but still couldn't find the Dragon results merged hours ago.

I don't thinks it's handled by MTEB, I think we use the same model for encoding queries and context. Maybe @Muennighoff can confirm this ?
I'll restart the leaderboard once this is merged https://huggingface.co/datasets/mteb/results/discussions/36, and the new results appear 🙂

You can use different models via encode_queries & encode_corpus as explained here
Actually to make merged results appear in the leaderboard, there's a few additional steps:

Merge PR into results
ONLY IF NEW MODEL: Add its name here
Recreate paths: Clone the results repo to have it locally, cd into it, open a Python interpreter, cp this function into it https://huggingface.co/datasets/mteb/results/blob/main/results.py#L164 & run it (Currently there is a problem with some files having the same name on Mac due to capitalization insensitivity, so you should rather clone it on a OS that distinguishes capitalization like Linux)
ONLY IF NEW MODEL: Add the Specs of the model to all EXTERNAL_... global variables in the leaderboard code i.e. here etc.
Restart the leaderboard space

I'm happy to do it if it's too complex, but maybe useful for everyone to know so you can also do it whenever you want :)
Also if people have ideas for simplifying it, ofc welcome. Maybe 1., 2. & 3. can be automated somehow.

I believe this issue is resolved - will close it for now


Transportation/commuting - " One more lane will fix it"

Find links to research for the two effects that will counter this:

Almost immediately the roads will be filled with more traffic because it is more convenient
With more roads you plan for thinly populated suburbs. This leads to a big need of cars since it's hard to get public transportation working

More roads means more cars in traffic jams:
https://www.forskning.no/miljo-samferdsel/storre-og-bedre-veier-ga-mer-trafikk-og-flere-bilister-ikke-mindre-ko/1676016


Local SyncStatSet will not sync to remote value with a same epoch.

BUG REPORT
When SyncStatSet changes in local, it should be merge to the remote value and then update the epoch.
See the logs below, the local SyncStatSet and the remote have different values with a same epoch.

Maybe we should use remote values instead of adding local brokerID to SyncStateSet to update the new sync state.

I would like to give it a try, can you assign this issue to me？

注意如果都采用远端的值，这个方法需要优化，shrink这里遍历的是已经存在的连接，但此时备连接还没有连上来，导致备没有shrink。

shrink

Try to shrink the sync state set when it is just started.


How to random augment process some patch of one img?

Dear author,I want process one img with random area in this img,such as contrast ,brightness in random area in this img Instead of augment process over img,what should i do with this imgaug?Thanks very much!

If you only want to augment a subarea of an image, it would probably make most sense to just extract it, augment it and then re-insert it into the full image.
image = ...
image_sub = image[10:20, 15:25, :]
image_sub_aug = iaa.LinearContrast((0.5, 1.5))(image=image)
image[10:20, 15:25, :] = image_sub_aug

I get it, thanks for your reply.by the way, can I use Gauss_blur to achieve image augment,  which means augment Gaussian distribution instead of uniform distribution with certain mask in one image.
this is uniform distribution, can i use this tool to achieve similar Gaussian distribution argument performance?

Do you mean that you want to have parameters that are following gaussian distributions? Something like MultiplyBrightness(factor) with factor ~ N(1.0, 0.5)? You can use the parameters in imgaug.parameters for that. E.g.
import imgaug.parameters as iap
aug = iaa.LinearContrast(iap.Normal(1.0, 0.5))

# or e.g.:
aug = iaa.LinearContrast(iap.TruncatedNormal(1.0, 0.5, low=1.0-0.5, high=1.0+0.5))

I get it,my code is:
aug = iaa.Add((-50, 50), per_channel=0.1)
# image = ia.quokka(size=0.22)
image=imageio.imread(r"C:\Users\ycc\Desktop\voc\someimages_cocotest\2007_001630.jpg")
batches = [[image] * 8, [image] * 8]  # two batches of each three images

# augment in stochastic mode
images_stochastic = [aug.augment_images(batch) for batch in batches]

if I want to choose one or two augment result as my final augment in pytorch train,instead of all possible result of iaa.Add function,can i find out this centain value for my choose parameter.as you know,8 result means 8 different parameter.but i just want to choose little augment result.

otherwise,If I use imgaug tools to augment dataset in pytorch,Is it enough to watch the tutorial?
thanks for your reply! Maybe bothering you,I'm so sorry.

There is currently no easy way to select only the N smallest samples for augmentation. You would have to implement that yourself with something along the lines of
import imgaug.parameters as iap
import imgaug.random as iarandom

rng = iarandom.RNG(123456)

for image in images:
    samples = iap.Uniform(-50, 50).draw_samples(8, rng)
    samples = sorted(samples)[0:2]
    images_aug = [iaa.Add(sample, per_channel=0.1)(image=image) for sample in samples]

Didn't test it, but might work. It will probably be rather slow.
Though if you take always the two smallest samples from a zero-centered symmetric uniform distribution, then that might be similar to just sampling from a poisson distribution (and then randomizing the sign of each sample). Something in the direction of iap.RandomSign(iap.Poisson(1)) might hence also work.
For the integration with pytorch there isn't yet a tutorial.

I get it, thank you very much!