Public eval set: errors and ambiguities detected during manual solve

I manually solved the entire public eval set in the ARCreate Playground. While doing so, I noticed errors and ambiguities in some tasks.
Here is the list of all the errors and ambiguities that I recorded. Please note that the versions of the tasks are the ones that were live in the ARCreate Playground during the dates I was solving them (2024-06-17 - 2024-07-03), so they may not reflect the latest commits to the repo. For each task, I give its number in the ARCreate Playground, as well as its filename.
(My original motivation was to determine human baseline performance, which I discuss in the last section.)
Errors (recoverable)
These tasks had errors, but I was able to produce an accepted test output anyway.

5 (05a7bcf2) Output 1: The right-most red shape has two extra red pixels.
96 (3ee1011a) Input 1: The green bar should be length 3, not length 4.
110 (4852f2fa) Output 1: The second copy of the shape has one pixel in the wrong position.
245 (9def23fe) Output 1: In the upper-left, the two red pixels should be black pixels.
321 (d2acf2cb) Demonstration 2: Input and output are swapped.
356 (e6de6e8f): Output 3 and Output 4: The red pixel path is wrong in both these outputs.
296 (c35c1b4c) Output 3: Missing a red pixel.
203 (85fa5666) Output 2: The orange line heading down-left stops too early.
330 (d931c21c) Output 4: Bottom rectangle has an extra red pixel in its upper-left corner.
336 (dd2401ed) Output 4: The red pixels left of the grey divider should be blue.
336 (dd2401ed) Output 3: The grey bar should have gone to the right of the first group of red pixels, I think.
260 (ac0c5833) Demonstration 3: Red pixel patterns in input and output don't match.
254 (a8610ef7) Output 4: The top and bottom pixels of the 2nd column should be red. (This is an exception where my test output wasn't accepted.)
306 (c92b942c) Output 2: Has 4 erroneous green pixels in the bottom row and right column.
342 (e1d2900e) Output 1: The blue pixel at the bottom should have moved rightwards.
231 (97239e3d) Test Input: Two donuts incorrectly have red pixels inside.
288 (bd14c3bf) Test input: Unlike every demo, the input top-left shape isn't red.

Ambiguities
These tasks have more than one test output that is consistent with the demonstrations, in my opinion. In some cases, I needed multiple tries to produce an accepted test output.

19 (0d87d2a6) Test Input: There's a rectangle that is just grazed, not pierced. Should it change color?
77 (310f3251): What should happen if there's a colored dot on the left or top edges such that going up-1 left-1 arrives on a black spot?
186 (79fb03f4): In the test middle path, when the dark blue is blocked but can't wrap around below, should it go partway?
381 (f3b10344): Test input contains non-center-aligned same-color rectangles. Demos don't. Should they connect?
277 (b7cb93ac) Test input: Green and pink are equivalent pieces when rotated. Two valid solutions.
271 (b15fca0b) Test input: This is the only time that multiple locally minimal paths are available.
215 (8fbca751): Both rectangle-filling and 4x4-square-filling fit the demonstrations, but they give different results on test.
264 (ad7e01d0): Is the key color always grey or the most frequent color? It matters for test input but not the demos.

Errors (unrecoverable)
For these tasks, I was not able to produce an accepted test output, so I suspect errors exist. I have not checked the files.

275 (b4a43f3b): This seems easy but it isn't accepting my output.
254 (a8610ef7): I have an idea that explains the demonstrations aside from the tiny error in Output 4 (mentioned previously), but my test output isn't accepted.
125 (50f325b5): Output 2's lower-right corner shows that mirroring the shape isn't allowed, but the reference test output mirrors the shape. (This is an exception where I was able to produce an accepted test output.)
138 (58e15b12): The idea is easy but my output isn't accepted.
100 (423a55dc): The idea is easy but my output isn't accepted.

Human baseline performance
I was able to find a working idea for every task, including the ones with ambiguities and unrecoverable errors, so, if these are fixed, I would consider human performance on the public eval set to be 100%. Without the fixes:

1.3% of tasks have unrecoverable errors, reducing solve rate to 98.8%.
7.0% of tasks have any error or ambiguity, so 93.0% of tasks are entirely fair.

Thus, human performance is somewhere between 93.0% and 98.8%, depending on the impact of recoverable errors and ambiguities.
However, practical human performance will be negatively impacted by the difficulty of producing the test output. Some tasks are unergonomic (particularly the numerous fill-in-the-pattern tasks), where it is challenging and time-consuming to produce the test output even if you have the right idea. Ergonomics could be improved with a more powerful solver tool: in particular, copy-paste with mirroring and rotation would simplify fill-in-the-pattern tasks, among others.

FYI I think some of these have been fixed already, e.g. see https://github.com/fchollet/ARC-AGI/commit/b7fd42c53f0c26a807ba0b00e42f858d2c11d125

Thank you for doing this.
BTW for the "Errors (unrecoverable)" section, I tried the following three (as of 2024-07-19) and got the correct solution on my first attempt for each of them:
275 (b4a43f3b)
138 (58e15b12)
100 (423a55dc)
So I don't see there is an error with these three, just the a human attempt messed up (which is understandable when doing a lot of them and getting tired, etc).

I think you may have been using an editor that is out of sync with the latest ARC-AGI dataset.
There has been lots of fixes to this ARC-AGI repo in the month (2024-may/jun) leading up to the launch of ARC-Prize.
I checked some of the issues you reported, and they seemed fixed.
This is a huge list of issues that hard to work with. I recommend that @malcolmsharpe splits this into smaller separate issues, and close this huge github issue.
Examples of well formatted github issues regarding specific tasks.

https://github.com/fchollet/ARC-AGI/issues/105
https://github.com/fchollet/ARC-AGI/issues/101
https://github.com/fchollet/ARC-AGI/issues/98

We have an active discord chat with a #tasks channel where we discuss individual mistakes, if you'd like to talk about these. For example 50f325b5 is discussed at
https://discord.com/channels/1237180803335720961/1263536157728182353 . Each task gets it's own discussion thread with a picture, so it's easy to discuss.


Extract libvirt_manager layout generation, rename fact

In order to get some more convenient features in the reproducer, we now
expose the "layout update" steps from libvirt_manager into its own tasks
file.
In order to make the _layout name slightly less "anonymous", it's also
renamed to _cifmw_libvirt_manager_layout in order to show its origin.
The _ prefix should show "that's private, don't override it".
As a pull request owner and reviewers, I checked that:

[X] Appropriate testing is done and actually running

/approve


Adaptive card is coming as icon in skype

Platform
What platform is your issue or question related to? (Delete other platforms).

.NET HTML
.NET WPF
Android
iOS
JavaScript
UWP

Author or host
Are you an author (like sending something to Outlook), or a host that is rendering your own cards?
If you're an author, who are you sending cards to?
Version of SDK
What version are you using? Ex: NuGet 1.0.2, or latest master, etc...
Issue
Explain your issue. If you just have a question, please post on StackOverflow instead.

Hi,
In skype bot, we have created an adaptive card for response. In mac, it is coming properly but in windows laptop it is coming as an icon. I am not able to see card here. How can I fix this issue for window laptops

Hi roshnig, for Skype issues, please reach out to the Bot Framework: https://github.com/Microsoft/botframework-sdk/issues


Add node 19.x to the test matrix to support the current node version

This PR adds support for the current version of NodeJS (node 19).
The last "odd" version of NodeJS (17) was also supported and I think I'm not the only one that uses "current" NodeJS for development.
As far as I can tell NodeJS 19 works perfrectly fine with this plugin.

This PR currently fails, because nodejs changed its error output.
I'm currently working on a fix, as this will most likely also break node 20 support.

Hey @Snapstromegon 👋  Thank you for making that change! It looks like the checks are failing due to a formatting issue - would you mind running npm run format and committing the results? Hopefully that should unblock us to get this merged 🚀

Sorry, I did the fix in the GitHub online IDE and didn't run any formatting 😅.
Just a small note: npm run format doesn't work on Windows (powershell, cmd and git bash), because the script string uses single quotes 'src/**/*.js' which creates the following output:
PS ...\netlify-plugin-lighthouse> npm run format

><EMAIL_ADDRESS>format
> prettier --write 'src/**/*.js'

[error] No files matching the pattern were found: "'src/**/*.js'".
PS ...\netlify-plugin-lighthouse>

Using WSL it works as does replacing the single quotes with \".

I also saw that the test failed again, I was able to reproduce this locally and am fixing it right now.


Restoring session with this plugin causes the first buffer to be all white

As per the title, when I restore my session with your 'persistence' plugin, the first buffer has no treesitter highlighting and text is all white. Running :e works to refresh and get highlighting back, but I'd say this is a bug with neodev as it doesn't occur when disabled/uninstalled.
on second thought it might not be neodev, I'm getting this issue what seems to be at random, and disabling a plugin might work once, but then re-enabling it will have it still work or disabling it will have the issue again. My config is heavily based on yours, I wonder, do you get this issue too? It's a bit annoying :slightly_smiling_face: would love a solution to this!
Edit: I've all but given up. 5+ plugins (in your dotfiles) cause this issue. And it's erratic too, so I'm giving up and will rely on :e to do the job. Sorry!

Hi! I don't have this issue, but had this in the past. Likely due to lazy-loading treesitter. Best not to lazy-load it. It should fix your issue

My config is heavily based off yours (like 90%+ the same, just a couple keybind tweaks/added plugins on my end), and I don't believe you're lazy loading treesitter :sweat_smile: oh well

ok, I've found the cause, I modified my null-ls config to load rust-tools when detected, going to open issue in your dot repo


⚠ ClamAV has degraded performance

In 65c1897, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 537 ms

Resolved: ClamAV performance has improved in 6fed3dc after 5 minutes.


lots of "warning: comparison of integer expressions of different signedness"

there are a lot of these warnings, mainly because of  comparison of ptrdiff_t value with a size_t value
I don't know if they should be fixed or not.

@vtorri
Please, a warming example (file, line).
OS name, compiler?

for example
E:/Documents/programmes_x64/msys2/home/vtorri/gitroot_64/lexbor/source/lexbor/dom/interfaces/node.c: In function 'lxb_dom_node_by_class_name_cb':
E:/Documents/programmes_x64/msys2/home/vtorri/gitroot_64/lexbor/source/lexbor/dom/interfaces/node.c:746:45: warning: comparison of integer expressions of different signedness: 'long long int' and 'size_t' {aka 'long long unsigned int'} [-Wsign-compare]
  746 |             if (pos != data && (data - pos) == cb_ctx->value_length) {
      |                                             ^~
E:/Documents/programmes_x64/msys2/home/vtorri/gitroot_64/lexbor/source/lexbor/dom/interfaces/node.c:775:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'size_t' {aka 'long long unsigned int'} [-Wsign-compare]
  775 |     if ((end - pos) == cb_ctx->value_length) {
      |                     ^~

it's on windows with gcc 64 bits

@vtorri
Thanks for the report!
Fixed in 76bc5ab.


Remove escaping from tooltip in js_map rendering.

Hi,
First of all i want to thank you for creating this awesome gem.
Second, i'm stucked on a little thing. Here is my situation:
I have a js map called like:
<%= js_map api_v1_domiciles_url(format: :json), controls: true, refresh: 300, height: '900px', width: '100%', tooltip: { hover: true, html: true } %>
And here is my json view:

When the map is rendered, the tooltip is escaping the html, and not possibiliting to render the link correctly:

Where i'm missing?

Hi @tiagocassio, try tooltips: instead of tooltip:.


NodeList, NodeListOf and HTMLCollection

Currently, the following DOM methods has a return type definition of NodeList, but the type of nodes returned is actually always Element:
getElementsByClassName
getElementsByTagNameNS
getElementsByTagName(name: string)
getElementsByName
msElementsFromPoint
msElementsFromRect
As a result, a cast to Element is required before any method of Element can be used. To remove the need of the cast, I suggest changing their return type definition to NodeListOf<Element>.
Also, there are some HTML DOM properties (e.g. document.forms) having a return type definition of  HTMLCollection, but HTMLCollection does not extend NodeListOf<HTMLElement>. That leads to some difficulties in creating a method that takes a list of elements. I suggest changing HTMLCollection to extend NodeListOf<HTMLElement>.
Finally, should a List<T> interface with the following definition be created, such that Array<T>, NodeList, NodeListOf<HTMLElement> and HTMLCollection all extend to List<T>?
interface List {
    length: number;
    [index: number]: T;
}

In many cases, we want certain sub-interface of Element to be returned from those DOM APIs.
Firstly, I suggest making those API as generic methods, e.g.:
interface NodeSelector {
  querySelector<E extends Element>(sel : string): E;
  querySelectorAll<E extends Element>(sel : string): NodeListOf<E>;
  //...
}

Additionally, I suggest making the non-generic versions return a UniversalElement or a list of it. UniversalElement is an additional interface that extends all known sub-interfaces of Element. Say:
interface UniversalElement extends
  HTMLAElement,
  HTMLInputElement,
  //...
  SVGLineElement,
  SVGRectElement,
  //...
 {}

interface NodeSelector {
  //...
  querySelector(sel : string): UniversalElement;
  querySelectorAll(sel : string): NodeListOf<UniversalElement>;
}

Rationales:

UniversalElement makes most type assertions unnecessary in DOM related codes, so that greatly simplifies those codes.
APIs like querySelector can actually return any sub type of Element, depending on the parameter and context, so it is not that crazy to let them return UniversalElement by default.
This change won't break existing (correct) code.
Maybe UniversalElement makes it easier for developers to produce type errors in rare cases (I haven't figured out one however), but they can use the generic version of those API to narrow-down the return type if necessary.

PRs welcomed, here is some information about submitting lib.d.ts changes: https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md#contributing-libdts-fixes

I am happy to add this. But I need to know what would be accepted. I was thinking of adding a new type modelled on NodeListOf called HTMLCollectionOf and then adding generic methods for the collection methods. For example I have these in the project I have open at the moment:
interface Document
{
    getElementById<THTMLElement extends HTMLElement>(elementId: string): THTMLElement;
    getElementsByClassName<THTMLElement extends HTMLElement>(classNames: string): NodeListOf<THTMLElement>;
}

interface Element
{
    getElementsByClassName<THTMLElement extends HTMLElement>(classNames: string): NodeListOf<THTMLElement>;
}

interface NodeSelector {
    querySelector<THTMLElement extends HTMLElement>(selectors: string): THTMLElement;
    querySelectorAll<THTMLElement extends HTMLElement>(selectors: string): NodeListOf<THTMLElement>;
}

Not an exhaustive list but just an example I have to hand.
Thoughts?

@crash-dive this looks like can be handled in a separate PR. the OP was about 1. adding a new HTMLCollectionOf<T extends HTMLElement> extends HTMLCollection and wiring this in the correct placeds.  2. switch msElementsFromRect and msElementsFromPoint to return NodeListOf<Element>, and possibly others that match their style. and 3. make NodeList, NodeListOf, HTMLElementCollection, HTMLElementCollectionOf to extend from ArrayLike

A PR has been submitted for adding HTMLCollectionOf. There will be another PR for  msElementsFromRect  and  msElementsFromPoint later. For #3, I think an explicit extension of  ArrayLike is not necessary because of structural typing.

A second PR for this issue has been made. I note that form.elements should be changed to return HTMLFormControlsCollection, but that change, in my view, should be tracked by another issue.  I think this issue may be closed after the second PR is accepted.


Not ready for SSR (NextJS)

Trying to use this package on NextJS Proj.
Having difficulties with the itegrations.
Steps to reproduce
npx create-next-app --typescript demo
cd demo
yarn add @vscode/webview-ui-toolkit

Usage with @vscode/webview-ui-toolkit/react
in index.tsx
import React from "react"
import { VSCodeButton } from  "@vscode/webview-ui-toolkit/react";

export default function Page(){
    return (<>
        <VSCodeButton>click me</VSCodeButton>
    </>);
}

will throw
Server Error
SyntaxError: Cannot use import statement outside a module

This error happened while generating the page. Any console logs will be displayed in the terminal window.

Nor the usage with @vscode/webview-ui-toolkit
import React from "react"
import "@vscode/webview-ui-toolkit";

declare global {
  namespace JSX {
    interface IntrinsicElements {
      "vscode-progress-ring": any;
    }
  }
}

export default function Page(){
    return (<>
       <vscode-progress-ring></vscode-progress-ring>
    </>);
}

This will throw SSR error - window is not defined
Will this package be ready to be used as plug-and-play in the near future ?
Ref

https://github.com/microsoft/vscode-webview-ui-toolkit/issues/409
https://github.com/microsoft/vscode-webview-ui-toolkit/issues/296

Hey @softmarshmallow, yeah this makes sense.
Web components do not support the ability to do SSR at this time (and notably the React components we ship are just web components under the hood wrapped in a React component).
Here's a resource that discusses some workarounds to this reality and may be helpful: https://css-tricks.com/using-web-components-with-next-or-any-ssr-framework/
But in general, SSR support is something that is considered out of scope for this project since we're building the toolkit for VS Code extension development (where source code gets compiled together and later installed by a user), so SSR is an architecture that doesn't really apply/make sense for this context.


Patch review by Claude

Mostly minor things.

Thanks! Will review later.
On Fri, May 22, 2015 at 9:46 AM, Daniel Wiesmann<EMAIL_ADDRESS>wrote:

Merged #1 https://github.com/geodesign/django/pull/1.
—
Reply to this email directly or view it on GitHub
https://github.com/geodesign/django/pull/1#event-311870331.

--
David Wasserman
Email<EMAIL_ADDRESS>Cell:<PHONE_NUMBER>


API Token + a bit flip at end of token wrongly allows upload

Describe the bug
For fun I tried to swotch the last letter of my token and try to upload a new version on a test package.
The upload worked.
Expected behavior
Single bit flip in the token should not allow to upload.
To Reproduce
Here is my session.  The token has been revoked so is in clear.
~/dev/undefined[master ✓] $ export FLIT_PASSWORD='pypi:AgEIcHlwaS5vcmcCJDliOWJhNmY0LWM2MTItNDVhZC1hOWNhLWI1MTZjODk3OTc5NAACOnsicGVybWlzc2lvbnMiOiB7InByb2plY3RzIjogWyJ1bmRlZmluZWQiXX0sICJ2ZXJzaW9uIjogMX0AAAYgRrROleEWvzqI1Z6v5KIxZ6gPjCzj_4vGl_3L6a4CJyM'
~/dev/undefined[master ✓] $ export FLIT_USERNAME='@token'
~/dev/undefined[master ✓] $ flit publish
Found 7 files tracked in git                                                                                I-flit.sdist
Writing generated setup.py                                                                                I-flit.sdist
Built sdist: dist/undefined-0.0.7.tar.gz                                                                                I-flit.sdist
Copying package file(s) from /var/folders/93/61br0dvj6_1306cdc7t1c_5r0000gp/T/tmp980ap2jr/undefined-0.0.7/undefined       I-flit.wheel
Writing metadata files                                                                                I-flit.wheel
Writing the record of files                                                                                I-flit.wheel
Built wheel: dist/undefined-0.0.7-py3-none-any.whl                                                                        I-flit.wheel
Using repository at https://upload.pypi.org/legacy/                                                                      I-flit.upload
Uploading dist/undefined-0.0.7-py3-none-any.whl...                                                                       I-flit.upload
Package is at https://pypi.org/project/undefined/                                                                        I-flit.upload
Using repository at https://upload.pypi.org/legacy/                                                                      I-flit.upload
Uploading dist/undefined-0.0.7.tar.gz...                                                                                I-flit.upload
Package is at https://pypi.org/project/undefined/                                                                        I-flit.upload

Bump package version and change last token letter from M to N:
~/dev/undefined[master ✓] $ export FLIT_PASSWORD='pypi:AgEIcHlwaS5vcmcCJDliOWJhNmY0LWM2MTItNDVhZC1hOWNhLWI1MTZjODk3OTc5NAACOnsicGVybWlzc2lvbnMiOiB7InByb2plY3RzIjogWyJ1bmRlZmluZWQiXX0sICJ2ZXJzaW9uIjogMX0AAAYgRrROleEWvzqI1Z6v5KIxZ6gPjCzj_4vGl_3L6a4CJyN'
 ~/dev/undefined[master ✓] $ flit publish
Found 7 files tracked in git                                                                                I-flit.sdist
Writing generated setup.py                                                                                I-flit.sdist
Built sdist: dist/undefined-0.0.8.tar.gz                                                                                I-flit.sdist
Copying package file(s) from /var/folders/93/61br0dvj6_1306cdc7t1c_5r0000gp/T/tmp8ihapmbx/undefined-0.0.8/undefined       I-flit.wheel
Writing metadata files                                                                                I-flit.wheel
Writing the record of files                                                                                I-flit.wheel
Built wheel: dist/undefined-0.0.8-py3-none-any.whl                                                                        I-flit.wheel
Using repository at https://upload.pypi.org/legacy/                                                                      I-flit.upload
Uploading dist/undefined-0.0.8-py3-none-any.whl...                                                                       I-flit.upload
Package is at https://pypi.org/project/undefined/                                                                        I-flit.upload
Using repository at https://upload.pypi.org/legacy/                                                                      I-flit.upload
Uploading dist/undefined-0.0.8.tar.gz...                                                                                I-flit.upload
Package is at https://pypi.org/project/undefined/

Wait what ?
Let's do other changes: switch ...yM to ...tM (incorrect) :

403 Client Error: The credential associated with user 'mbussonn' isn't allowed to upload to project 'undefined'. See https://pypi.org/help/#project-name for more information. for url: https://upload.pypi.org/legacy/

Ok, good.
back to ...yM

400 Client Error: File already exists. See https://pypi.org/help/#file-name-reuse for url: https://upload.pypi.org/legacy/

Make sens with correct credentials.
... change back M to N:

400 Client Error: File already exists. See https://pypi.org/help/#file-name-reuse for url: https://upload.pypi.org/legacy/

Well I shoudl get a 403, nto a 400.
Summary, changing the last letter of my token still make it a valid token to upload my project... that seem strange to me.
My Platform
OS X, using flit, most recent stable (1.3) – but that should not matter. My password removed from .pypirc.

Thank you @Carreau for this bug report!
(I did some quick checking with another maintainer to verify that this isn't bad enough that we should deal with it privately. But for your and other peeople's reference in the future, if you believe you have discovered a security vulnerability in PyPI/Warehouse, please follow our security policy to notify us privately.)
A malfeasor would still have to get every other character of the token correct, so this isn't TOO awful, but I'd still like to get this fixed before we publicize the new beta feature much further (#5661). I'm open to being persuaded that I'm wrong!

Yes, opened a bug report as this is only in beta and you asked for testers.
I agree it looks non critical, just want to make sure it does not hide
other issues. I'm tempted to think it comes from the base64 encoding. The
token is not padded with = (equal signs) at the end, so maybe the last few
bits don't matter ?
On Thu, Jul 25, 2019, 19:09 Sumana Harihareswara<EMAIL_ADDRESS>wrote:

Thank you @Carreau https://github.com/Carreau for this bug report!
(I did some quick checking with another maintainer to verify that this
isn't bad enough that we should deal with it privately. But for your and
other peeople's reference in the future, if you believe you have discovered
a security vulnerability in PyPI/Warehouse, please follow our security
policy https://pypi.org/security/ to notify us privately.)
A malfeasor would still have to get every other character of the token
correct, so this isn't TOO awful, but I'd still like to get this fixed
before we publicize the new beta feature much further (#5661
https://github.com/pypa/warehouse/issues/5661). I'm open to being
persuaded that I'm wrong!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pypa/warehouse/issues/6265?email_source=notifications&email_token=AACR5T3KVVKF5MWDF2PNP33QBJMHNA5CNFSM4IG7XIKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD23I7XQ#issuecomment-515280862,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACR5T2BN665SNUDDBNPNI3QBJMHNANCNFSM4IG7XIKA
.

This is just completely down to base64 encoding nonsense.
>>> from base64 import urlsafe_b64decode as d
>>> good = d("AgEIcHlwaS5vcmcCJDliOWJhNmY0LWM2MTItNDVhZC1hOWNhLWI1MTZjODk3OTc5NAACOnsicGVybWlzc2lvbnMiOiB7
InByb2plY3RzIjogWyJ1bmRlZmluZWQiXX0sICJ2ZXJzaW9uIjogMX0AAAYgRrROleEWvzqI1Z6v5KIxZ6gPjCzj_4vGl_3L6a4CJyM=")
>>> bad = d("AgEIcHlwaS5vcmcCJDliOWJhNmY0LWM2MTItNDVhZC1hOWNhLWI1MTZjODk3OTc5NAACOnsicGVybWlzc2lvbnMiOiB7I
nByb2plY3RzIjogWyJ1bmRlZmluZWQiXX0sICJ2ZXJzaW9uIjogMX0AAAYgRrROleEWvzqI1Z6v5KIxZ6gPjCzj_4vGl_3L6a4CJyN=")
>>> good == bad
True

Those two strings base64 decode to the exact same bytes, so there's not a lot we can do except either use a less malleable encoding standard.

Thanks for the info. Readong on it more it seem that at worse the last 4 bits are thrown away.
Would it make sens to amke sure the last "thrown away" bits are always 0 ?  I'm not a security expert so not quite sure about the implications. I'm thinking for example at Bots that make sure no credentials are leaked on GH, or similar that would fail to match a different token..

Maybe just reject any token where encode(decode(token)) != token?

Would it make sens to amke sure the last "thrown away" bits are always 0 ? I'm not a security expert so not quite sure about the implications.

I'm not sure we could do this, at least not without fiddling with the internals of the Macaroon serialization format.

I'm thinking for example at Bots that make sure no credentials are leaked on GH, or similar that would fail to match a different token..

As far as automated token scanning goes, I believe the current plan is to support GitHub's credential alerting system. Theirs is pattern based and (for PyPI) will probably be keyed on the pypi: token prefix, so discrepancies in trailing bits won't matter to it.

Thanks for the discussion & clarification. Sounds like this isn't a flaw we need to address right now, so I'm taking it out of the scope of what we need to do in this milestone.

Doing some cleanup: this is considered expected behavior, per base64's own malleability. As @dstufft notes these bits don't matter and don't affect the cryptography behind the Macaroon at all, so this currently has no security salience.
(This could theoretically have security salience if PyPI ever performed e.g. ratelimiting operations based on a direct string comparison of the Macaroon, but it doesn't do that and has no reason to.)


init_project

🆒 Your use case
init project
🆕 The solution you'd like
init project
🔍 Alternatives you've considered
init project
ℹ Additional info
init project

init vue project

config ionic project

complete init project


colab Error, hand.fbx does not exist.

maybe hand.gbx. The file path seems to be incorrect. please help.

ERROR:    Exception in ASGI application

Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/starlette/responses.py", line 335, in call
stat_result = await anyio.to_thread.run_sync(os.stat, self.path)
File "/usr/local/lib/python3.9/dist-packages/anyio/to_thread.py", line 31, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
File "/usr/local/lib/python3.9/dist-packages/anyio/_backends/_asyncio.py", line 937, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.9/dist-packages/anyio/_backends/_asyncio.py", line 867, in run
result = context.run(func, *args)
FileNotFoundError: [Errno 2] No such file or directory: '/content/repository/extensions/sd-webui-3d-open-pose-editor/models/hand.fbx'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/uvicorn/protocols/http/h11_impl.py", line 429, in run_asgi
result = await app(  # type: ignore[func-returns-value]
File "/usr/local/lib/python3.9/dist-packages/uvicorn/middleware/proxy_headers.py", line 78, in call
return await self.app(scope, receive, send)
File "/usr/local/lib/python3.9/dist-packages/fastapi/applications.py", line 273, in call
await super().call(scope, receive, send)
File "/usr/local/lib/python3.9/dist-packages/starlette/applications.py", line 122, in call
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.9/dist-packages/starlette/middleware/errors.py", line 184, in call
raise exc
File "/usr/local/lib/python3.9/dist-packages/starlette/middleware/errors.py", line 162, in call
await self.app(scope, receive, _send)
File "/usr/local/lib/python3.9/dist-packages/starlette/middleware/gzip.py", line 24, in call
await responder(scope, receive, send)
File "/usr/local/lib/python3.9/dist-packages/starlette/middleware/gzip.py", line 44, in call
await self.app(scope, receive, self.send_with_gzip)
File "/usr/local/lib/python3.9/dist-packages/starlette/middleware/exceptions.py", line 79, in call
raise exc
File "/usr/local/lib/python3.9/dist-packages/starlette/middleware/exceptions.py", line 68, in call
await self.app(scope, receive, sender)
File "/usr/local/lib/python3.9/dist-packages/fastapi/middleware/asyncexitstack.py", line 21, in call
raise e
File "/usr/local/lib/python3.9/dist-packages/fastapi/middleware/asyncexitstack.py", line 18, in call
await self.app(scope, receive, send)
File "/usr/local/lib/python3.9/dist-packages/starlette/routing.py", line 718, in call
await route.handle(scope, receive, send)
File "/usr/local/lib/python3.9/dist-packages/starlette/routing.py", line 276, in handle
await self.app(scope, receive, send)
File "/usr/local/lib/python3.9/dist-packages/starlette/routing.py", line 69, in app
await response(scope, receive, send)
File "/usr/local/lib/python3.9/dist-packages/starlette/responses.py", line 338, in call
raise RuntimeError(f"File at path {self.path} does not exist.")
RuntimeError: File at path /content/repository/extensions/sd-webui-3d-open-pose-editor/models/hand.fbx does not exist.

When you installed the extension, did you change the directory name to something other than "sd-webui-3d-open-pose-editor"?
Renaming directory of extension is not yet supported.

At first, I tried installing it by extracting the zip file, and then I installed it by downloading it from git after deleting it.
But, It isn't work also.

I have never used Colab. 🤔
Show me the file list in "/content/repository/extensions/"
!ls /content/repository/extensions/

only txt file, because colab use /content/Drive/MyDrive/SD/extentions/

@gootalok
Fixed. But it might be an error depending on the path. If it still doesn't work, please let me know the error message.


pull request for e2e test at 12/05/2016 03:15:03

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

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


Mailman variables

Don't merge without creating a k8s secret, I will send the file.
This pull request adds Django variables pointing to mailman3 servers.
Main tasks to include mailman3 in the project:

Install mailman3-core servers on dedicated VMs in Google Cloud.  They are running. There is a mailman core instance for each environment (stage, production, revsys).  Separate database, different from Django.

Add mailman3-web front-end to the Django project. Use the same set of user accounts, passwords, database, etc. This front-end web integration still remains to be done, Nessita was working on that.

What's provided here are secrets and variables allowing web to reach mailman-core. If you would like to ssh into the servers we can set up access.

MAILMAN_HAYSTACK_URL is now directing the haystack search back to the mailman_core machine which is a coincidence since ElasticSearch could be hosted anywhere.
The reasoning is, that ElasticSearch can/should be installed on a dedicated server that's not ephemeral the way kubernetes pods are.  And a mailman-core server is a dedicated VM where mailing-list related services are already being installed.


Document new profiler and data quality configuration and deployment

Document configuration and deployment for the profiler and data quality using a manner similar to what we do now for metadata ingestion.
Docs for: https://github.com/open-metadata/OpenMetadata/issues/2845

@pmbrull can you provide a high level list of steps a user needs to walk through to manually configure and deploy the new profiler.

@shannonbradshaw , it is on gitbook https://app.gitbook.com/o/-MehiNqHP1pI0oSe7bvF/s/JUz6NmjOXjrY5pVqDjw7/data-quality/data-quality-overview


When "tag" is used with the summon command, "Unexpected key ‘tag’.” is output as a warning.

A warning occurred when the following command was written.
summon armor_stand ~ ~ ~ {ArmorItems:[{},{},{},{id:"minecraft:lime_stained_glass_pane",Count:1b,tag:{Omitted}}]}
summon item ~ ~ ~ {Item:{tag:{Omitted}}}

There are many things should be done with those NBTs. This issue will take a bit longer.

:tada: This issue has been resolved in version 1.8.1 :tada:
The release is available on:

npm package (@latest dist-tag)
Visual Studio Marketplace
GitHub release

Your semantic-release bot :package::rocket:

This bug is not fixed, the error is the same

:tada: This issue has been resolved in version 1.8.2 :tada:
The release is available on:

npm package (@latest dist-tag)
Visual Studio Marketplace
GitHub release

Your semantic-release bot :package::rocket:


v0.2.3 changelog and version increment

Hey @robacarp, have you considered using github actions to further automate the release script?
For example, you could come up with a workflow (that can be scheduled or dispatched manually) to execute the release script. We'd done something similar for the js packages.
Note that only collaborators with write permissions on the repo can execute these workflows. If you like the idea, I can help with the implementation!

@subzero10 I'm not opposed. The low frequency of releases here has felt like the payoff wouldn't be worth the investment. The script I added here is one I've copied over and over and over on dozens of projects, but I've never invested the time to actually tick the version numbers to match for a crystal project.

I see. Then let's come back to this if we start releasing more frequently 👌


Remove tests?

DISCUSSION
Current Behavior
The functional and unit tests are out of date and have not been updated (or run) in a very long time.
Proposed Behavior
Since these aren't being used, we should consider removing them from the repository.
Why This Matters
We shouldn't have code in the repository that isn't being used, since it is confusing for onboarding.
Relevant Tickets
References DoSomething/devops#52.

Refs https://github.com/DoSomething/phoenix/issues/1746 too, e.g. dosomething_reportback.test


AttributeError: type object 'CarlaDataProvider' has no attribute 'set_random_seed'

Hello author,
I tried to evaluate your pre-trained model today using the following command:
CUDA_VISIBLE_DEVICES=0 ./leaderboard/scripts/run_evaluation.sh
But I encountered an error saying

AttributeError: type object 'CarlaDataProvider' has no attribute 'set_random_seed'.

And the problem is with leaderboard_evaluator.py line 218.
After checking the leaderboard_evaluator.py file in Carla official repository, I found CarlaDataProvider doesn't have set_random_seed: https://github.com/carla-simulator/leaderboard/blob/master/leaderboard/leaderboard_evaluator.py#L208.
Did you implement "set_random_seed" yourself? And do you know how should I solve this issue?
Thanks!
Console output:
pygame 2.1.2 (SDL 2.0.16, Python 3.7.16)
Hello from the pygame community. https://www.pygame.org/contribute.html

========= Preparing RouteScenario_16 (repetition 0) =========
> Setting up the agent
load model: leaderboard/team_code/interfuser.pth.tar
routes_town05_long_08_14_23_04_08
> Loading the world

The scenario could not be loaded:
> type object 'CarlaDataProvider' has no attribute 'set_random_seed'

Traceback (most recent call last):
  File "leaderboard/leaderboard/leaderboard_evaluator.py", line 313, in _load_and_run_scenario
    self._load_and_wait_for_world(args, config.town, config.ego_vehicles)
  File "leaderboard/leaderboard/leaderboard_evaluator.py", line 218, in _load_and_wait_for_world
    CarlaDataProvider.set_random_seed(int(args.carlaProviderSeed))
AttributeError: type object 'CarlaDataProvider' has no attribute 'set_random_seed'
> Registering the route statistics

Hi!
Our repo provides this function:
https://github.com/opendilab/InterFuser/blob/e4f0314482124bb06a475c3f6fb4bfe3a2701c4d/scenario_runner/srunner/scenariomanager/carla_data_provider.py#L759
Please export out scenario_runner as SCENARIO_RUNNER path


Add slash to the end of the root mount ufs uri

@gpang @madanadit PTAL

does this break backcompat in any way?

does this break backcompat in any way?
It allows a superset of what worked before to be mounted.  Will monitor the tests as they are the only ones that rely on the error behavior

@yuzhu Is a unittest possible?

@gpang looked into unit test, since we use temp directories as ufs root for all of our tests.. we can't really construct a uri with just a scheme and port

@gpang are you ok with addressing the test for this later in a separate PR?

alluxio-bot, merge this please

alluxio-bot, cherry-pick this to branch-2.4 please

alluxio-bot, cherry-pick this to branch-2.4 please

alluxio-bot, cherry-pick this to branch-2.4 please

alluxio-bot, cherry-pick this to branch-2.4 please

alluxio-bot, cherry-pick this to branch-2.4 please


Sanitize option not in docs

Hello,
I am not sure if this is a ng-showdown issue or Showdown issue but how to enable sanitization is missing from the docs. I had to look at multiple issues and the code itself to realise this.
Here is the option: $showdownProvider.setOption('sanitize', true)

I'd argue sanitize should default to enabled, as best practice to to have secure defaults.

Sanitize is kind of a "false security" measure. See https://github.com/showdownjs/showdown/wiki/Markdown's-XSS-Vulnerability-(and-how-to-mitigate-it) for more info.

by itself, it does not protect against XSS attacks?

Could you please expand on why is this te case ?
Reading the link you pasted, it seems to me that applying ngSanitize to the output of showdown should be enough to prevent XSS, but it looks like I may be missing something.


Fixed typographical error, changed adminstrator to administrator in README.

@cloudfoundry, I've corrected a typographical error in the documentation of the loggregator project. You should be able to merge this pull request automatically. However, if this was intentional or if you enjoy living in linguistic squalor, please let me know and create an issue on my home repository.

We will fix this, but we can't accept PRs from a bot (needs to sign CLA :-)

Bot's can sign a CLA too -- somebody had to make them. :) I've signed CLA's
for a bunch of companies now under my maker, @thoppe. Either way, I'm glad
I found the typo, I've since been shutdown by github.
On Wed, Oct 14, 2015 at 6:54 PM, Jim-Campbell<EMAIL_ADDRESS>wrote:

We will fix this, but we can't accept PRs from a bot (needs to sign CLA :-)
—
Reply to this email directly or view it on GitHub
https://github.com/cloudfoundry/loggregator/pull/85#issuecomment-148226355
.


Operation Not permitted

I’m traying to fix the log4j vulnerability in Viya 3.5 environment on Linux. It only found one jar, however when I run it to fix it, I get the error:
Error while patching : java.nio.file.FileSystemException: ./loguccino-patch-27122021120042/inventoryOriginals/0/opt/sas/viya/home/libexec/cachelocator-service-1.25.14.jar: Operation not permitted
I have been running both with the user who owns the jar and with the installer user but in both cases the error is the same.
Should the patch be run with a specific user?

The patch needs to be run as the sas user.  There are also umask settings needed.
See https://go.documentation.sas.com/doc/en/log4j/1.0/p1pymcg1f06injn10rho5mkmmhe4.htm.
Also, make sure the location where you are writing the output of the patch command has write access by the sas user.
You can run scan as the installer it.  But patch must be run as the sas user (sudo su - sas).

@NuriaU I remember encountering a similar issue & having to stop the cachelocator service before the patch operation could make changes to the .jar.
If that doesn't fix it, could you have a look at the most recent loguccino-XXX.log file and post any relevant info you find in there?

This is inactive so I'm closing it. @NuriaU feel free to reopen it if you still have the same problem.


Stacked Horizontal Bar Chart for timeline?

I'd like to create a timeline-like graph, using a stacked horizontal bar chart:

There are two series, A and B, and they are in different states (represented by colours) at various times - time is along the x-axis.
Is there any way at all to do this using Chartist.js?

Shouldn't be an issue. Did you made any progress?

Aha, ok, I think I've got it - I can use stackBars: true to stack the bars, and horizontalBars: true to make them horizontal.
So, using the example from http://gionkunz.github.io/chartist-js/examples.html:
  labels: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
  series: [
    [5, 4, 3, 7, 5, 10, 3],
    [3, 2, 9, 5, 4, 6, 4]
  ]
}, {
  stackBars: true,
  seriesBarDistance: 10,
  reverseData: true,
  horizontalBars: true,
  axisY: {
    offset: 70
  }
});

However, my question is, how do I work in time into that?
As in, I assume from my backend, what I can do is calculate each horizontal segment in terms of duration in seconds.
However, on the x-axis, ideally I'd like wall-time. Any thoughts on how to work that into Chartist.js?

Its totally fine to use timestamps as values and then format them with labelInterpolationFnc to display human readable. Sorry for the late reply. Please re-open if required.

hey @victorhooi  were you able to make this chart possible?? i am trying to do the same for my project but havent been succesfull :(


Command Prompt reported as not accepted value for terminal.integrated.defaultProfile.windows in vscode insiders

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.75.0-insider
OS Version: 19045.2364

Steps to Reproduce:

Set terminal.integrated.defaultProfile.windows to Command Prompt
Press CTRL + `  - it opens powershell.

Cannot reproduce - what happens if you click Command Prompt from the dropdown?

I don't have this option:

that means you don't have cmd prompt at the place where expecting it to be https://github.com/microsoft/vscode/blob/f078e6db483250957314c56c3b12e23dae03d351/src/vs/platform/terminal/node/terminalProfiles.ts#L106-L110
so i'd suggest finding where you've installed it and creating a profile pointing to the right path

What? Since when do you manually install cmd on Windows? It is where it should be, in normal vscode it is detected, in insider it stopped being after the update.

I also hit this -- it seems like a regression to me.

I run VS Code Insiders on two machines, one for work & one on my personal machine.
I had both open at the same time, one with the latest update to VS Code Insiders, other not.
I was able to see "Command Prompt" and "Cmder" on the one not updated & not the other. Once I updated the working one and re-opened, both profiles were missing.

I copied my settings.json file into the VS-Code 1.74.2 stable build and the Command Prompt/Cmder options appear just fine and load fine, but the same settings file in VS-Code-Insiders 1.75 it says Cmder and Command Prompt are not valid options and doesn't have them appear


events after engine connection inexistent

If an agent is disconnected from a cluster, that shows up in the list of events of swarm master
2015-09-16T05:34:37.000000000+01:00 (from swarm node:node1) engine_disconnect

However, the same doesn't occur if node1 is connected again.

Hi @aanm, hmm strange we do have an emitted engine_connect event on ConnectWithClient.. does this only happen when the engine disconnects and reconnects?

@abronan I had a master and an agent on that node (node-1). I was listen for events on the master node (node-0). I did docker rm -f swarm-agent on node-1, waited more or less minute an half until I saw 2015-09-16T05:34:37.000000000+01:00 (from swarm node:node1) engine_disconnect on node-0. After a while I did docker run swarm-agent (with the specific arguments for using consul). I wait a minute and I could see node-0 with docker -H node-1:2375 info but I didn't see the message.

@aanm Ok. In the meantime do you see the first engine_connect when an engine first connects to a cluster? Trying to narrow down and see if this only happens on disconnect/reconnect.

@abronan Weird...

 Annoying if you rely on events to register connection/disconnection from an external program. I'll try to have a look at it.
@vieux any idea?

@abronan Maybe I have found what's wrong. I'll try to fix. :)

Close via https://github.com/docker/swarm/pull/1219


Fix member-ordering warning in botConfiguration.ts

Proposed Changes
Fix member-ordering TSLint warnings in botframework/src/botConfiguration.ts
Testing
Travis will no longer report these warnings

Replaced with https://github.com/southworkscom/botbuilder-js/pull/20

Pull Request Test Coverage Report for Build 80

34 of 34 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 69.036%

Totals

Change from base Build 78:
0.0%

Covered Lines:
2233

Relevant Lines:
3086

💛  - Coveralls


[NPM] Use fakeexec for ipsm and iptm tests

Reason for Change:

Issue Fixed:

Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests

Notes:

/azp run

/azp run

/azp run

/azp run


fix(version): update ngx-fabric8-wit to 6.17.7

@fabric8cd snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-779-fabric8-ui.int.rdu2c.fabric8.io


AttributeError: 'NoneType' object has no attribute '_put'

When using record = gr.pop_record() to extract and item, if I try to modify it and then update it record.update(), it fails with
AttributeError: 'NoneType' object has no attribute '_put'

Thanks ! :clap:


Remove "Person: " from People.js display

My div head doesn't like it.  Picky, picky, picky.  I guess I'll make it a config value.

Pull request #49, branch simplePeople, live at schedule.boskone.org.


[feat] Ability to modify hass/devices.js at runtime

Is your feature request related to a problem? Please describe.
I'm looking into to modifying the devices.js file to customize the HASS discovery docs for a few devices I have. But as I'm now running the snap edition, I can't do this as this file (compiled as hass/devices.ts) is placed on a read-only filesystem.
Describe the solution you'd like
I'd like a simpler way to modify this file at runtime, so it could possible be placed in the configuration directory (or an extra file could be placed there), which could then be read in addition to the file distributed with the app.
I'm not sure about the reload semantics either, but I'm guessing that if i did modify the devices.js/ts file, I'd have to restart the app for it to take effect. If so, a button or something to reload the file would also help a lot (or maybe just load it whenever it's needed, so it's always newest).
Describe alternatives you've considered
N/A
Additional context
N/A

From Slack, I found that there apparently is a customDevices file.. which was not in the docs.
This issue might already be solved, but then it's a docs issue :)
Unless it isn't possible to reload the customDevices, in which case it's still a feature request :)

It's actually possible, there is a watcher on that file :) Just a docs issue so


Compiler swap messes up includes

I'm probably doing something wrong but I don't know how to proceed. Would like a pointer if anyone knows.
I can compile the library. But now I want to cross-compile to ARMv8.
When i change the build command from
cmake ..
to
cmake .. -DCMAKE_C_COMPILER="aarch64-linux-gnu-gcc"
The compiler command changes from
/usr/bin/cc
    -Dmraa_EXPORTS
    -I/home/erik/projects/dragonboard-sensors/vendor/mraa/api
    -I/home/erik/projects/dragonboard-sensors/vendor/mraa/api/mraa
    -I/home/erik/projects/dragonboard-sensors/vendor/mraa/include
    -I/usr/include/json-c
    -Wall
    -Werror=main
    -Wformat
    -Wmain
    -Wuninitialized
    -Winit-self
    -Werror=implicit
    -Werror=missing-parameter-type
    -DONEWIRE=1
    -DX86PLAT=1
    -DJSONPLAT=1
    -fPIC
    -std=gnu99
    -o CMakeFiles/mraa.dir/mraa.c.o
    -c /home/erik/projects/dragonboard-sensors/vendor/mraa/src/mraa.c

to
/usr/bin/aarch64-linux-gnu-gcc
    -Dmraa_EXPORTS
    -I/usr/include
    -I/home/erik/projects/dragonboard-sensors/vendor/mraa/api
    -I/home/erik/projects/dragonboard-sensors/vendor/mraa/api/mraa
    -I/home/erik/projects/dragonboard-sensors/vendor/mraa/include
    -I/usr/include/json-c
    -Wall
    -Werror=main
     -Wformat
    -Wmain
    -Wuninitialized
    -Winit-self
    -Werror=implicit
    -Werror=missing-parameter-type
    -DONEWIRE=1
    -DX86PLAT=1
    -DJSONPLAT=1
    -fPIC
    -std=gnu99
    -o CMakeFiles/mraa.dir/mraa.c.o
    -c /home/erik/projects/dragonboard-sensors/vendor/mraa/src/mraa.c

The added -I/usr/include will cause the wrong headers to be included and compilation will fail.

This is fixed if I remove line https://github.com/intel-iot-devkit/mraa/blob/0a12c5a0177f9fa8e7c4c564e70a65c4a0bb81af/CMakeLists.txt#L143

When cross compiling, you might need to specify a cmake toolchain file.


roadmap [archive candidate]

this repo tries to do many things at once, it is being semi-retired, if someone from community wants to maintain it PRs will be accepted, but it will stop being shipped in our images and go into life support mode otherwise

move log monitor helper class to ovos-utils
new util entrypoint in ovos-utils -> ovos-log-monitor path/to/logs/folder
this repo only for backwards compat in mycroft.client module, to be dropped in 0.2.0
adopt neon mana as default component of OVOS, it uses the several messagebus apis and handles the decentralized nature of our services https://github.com/NeonGeckoCom/neon-mana-utils

changes in neon-mana:

mycroft-messagebus-client -> ovos-bus-client
pyyaml~=5.4 bump to 6.0
drop neon-utils + port b64 methods to ovos-utils

issues in ovos-cli-client:

inherently tied to hardcoded log locations, there is no proper fix possible for #12 when each service may be in a different machine or logs not being saved
not updated, many commands are broken such as :skills not accounting for latest ovos updates and not using the messagebus api
exception to the messagebus routing paradigm, it is considered a native audio source for legacy reasons

wontfix:

https://github.com/OpenVoiceOS/ovos-cli-client/issues/12
https://github.com/OpenVoiceOS/ovos-cli-client/pull/9

My only issue with mana is the Neon dependencies it pulls in.

changes in neon-mana:
drop neon-utils + port b64 methods to ovos-utils

If that can be fixed, I'm ok with adding it to the images


Add support for FTDI USB-COM485-PLUS2 for DMX USB Interface

This has been tested and works fine using port #0 on the unit i.e.
port closest to the USB connector.

Looks good, thanks! 👍


How to use polyfill.js in webpack entry file?

How to use polyfill.js in webpack entry file such that the modules function defined in the polyfill can be found my subsequent wasm?
Here is my sample entry file.
https://gist.github.com/alanpoon/0da16e04fbccf29c0846c8c32324c622

I'm unfortunately not familiar enough with webpack to know how to answer this myself.

This was about the polyfill at https://wasi.dev/polyfill/index.html, right? It is now gone.


Use DataFrames to linearize indices

Pull request details
Describe the changes made in this pull request
Uses DataFrames to linearize the indices of the variables, expressions and constraints.
The tutorial has been slightly increased and changed to incorporate the new changes.
List of related issues or pull requests
Closes #294
Collaboration confirmation
As a contributor I confirm

[x] I read and followed the instructions in README.dev.md
[x] The documentation is up to date with the changes introduced in this Pull Request (or NA)
[x] Tests are passing
[x] Lint is passing

Apparently I have conflicts now, not sure why. Will check in the afternoon


{% parent %} tag does not function inside an {% if %} block

This is likely a problem for more things than the {% if %} block, but when extending a template like so:
{% extends '/layout.html' %}
{% block someblock %}{% if something %}{{ something }}{% else %}{% parent %}{% endif %}{% endblock %}

The parent content does not appear until I move {% parent %} outside the {% if %}.  There are also no tests for the {% parent %} tag.
I'm willing to take a crack at fixing this if you let me know your preferred/suggested route.

Looks like I forgot to pass parentBlock through to tags. All of the tags will need to accept another parameter, parentBlock  (starting here) and send the parentBlock back through the compiler where necessary (like here, but there are many more instances in the tags.js file.
Not sure how I forgot to write any tests for this! Make sure to include them in a patch if you get to this.

Also, if you want to take a stab at updating the docs for custom tags when this is fixed, that'd be great, otherwise I'll get to it when I have a chance.

I have some tests already.  I'll give this a go this week and will send a pull request.


Multiple editors in a single tab feel awkward, how do you navigate between the two editors?

#16530

VSCode Version: Code - Insiders 1.8.0-insider (c425cd159bd389844e9400be801675f54f2443c7, 2016-12-06T17:07:24.668Z)
OS Version: Linux x64 4.8.0-28-generic
Extensions:

Extension
Author
Version

EditorConfig
EditorConfig
0.3.4

lorem-ipsum
Tyriar
1.0.0

sort-lines
Tyriar
1.1.0

theme-glacier
Tyriar
0.0.10

vscode-svgviewer
cssho
1.2.0

vscode-eslint
dbaeumer
1.1.0

tslint
eg2
0.7.1

git-project-manager
felipecaputo
1.0.0

Theme-Wombat
gerane
0.0.2

md-navigate
jrieken
0.0.1

vscode-scss
mrmlnc
0.6.0

csharp
ms-vscode
1.5.3

typescript-javascript-grammar
ms-vscode
0.0.10

sass-indented
robinbentley
1.2.1

dark-plus-material
vangware
0.1.4

I'm a heavy user or ctrl+1, 2, 3 to focus the various editors available to me, when there is a tab with multiple editors especially when there is only 1 editor group ctrl+2 feels very strange as it opens a new editor tab. I don't know how to get focus into the default settings editor.
Assigning this to people involved in these split tabs as it's more of a general problem. Maybe I'm just missing something having not used the diff editor. I want a reliable way to focus either editor within a split tab and/or potentially making it more obvious that it's a split editor? If there is already a way to deal with this, is there a better way we could educate users like myself?

I have mine bound to alt + ➡ and alt + ⬅
    {
        "key": "alt+left",
        "command": "workbench.action.focusPreviousGroup"
    }
    {
        "key": "alt+right",
        "command": "workbench.action.focusNextGroup"
    }

That's from my configs
Works pretty well for me.

@rozzzly that actually highlights the problem. In the latest Insiders this does not work as you may expect intuitively in the settings editor as there are 2 editors in a single editor group.

I like the idea of introducing commands when a side by side editor is opened that allow to navigate between left and right editor inside the split editor 👍

Assigning this to November milestone

Moving to January since this is no urgent

I'd love to be able to bind alt+← and alt+→ to move to the previous next editor regardless of whether it was in the same group. That would replace my reliance on ctrl+num personally.

If you're interested in another reference - A really polished implementation of this is available inside Xcode ( cmd + j ) which also supports navigation between tabs and creation of new helper tabs etc

I think this is also related: https://github.com/Microsoft/vscode/issues/22412

Just to add even more color to this request. I would love this feature for GitLens, so that I could control which pane was focused depending on the command.
For example, alt+, in GitLens opens the a diff with the previous version, so if I could focus the left pane (i.e. previous), you could just keep pressing alt+, to navigate backward. And then I would leave focus on the right pane when navigating forwards alt+. to allow that smooth navigation as well.
But right now, since the right pane is always focused, the forward navigation works, but the backward navigation requires you to press alt+,, focus the left pane, rinse repeat :)
Thanks!

Vim has its own diff feature (vimdiff or :diffthis) using (normal) split pane, and it can be navigated to left by Ctrl+w Ctrl-h or right by Ctrl+w Ctrl-l. But currently VSCodeVim won't work as such, Ctrl+w Ctrl-h will skip to sidebar.

FYI I solved this problem recently for myself with help from @roblourens, now I just open the right settings pane with this setting:
"workbench.settings.openDefaultSettings": false

I then have these keybindings if I want to search all settings:
{ "key": "shift+cmd+,",      "command": "workbench.action.openRawDefaultSettings" },
{ "key": "shift+ctrl+,",     "command": "workbench.action.openRawDefaultSettings" }

This seems to be really counterintuitive. You'd expect to be able to move between the two panes easily when editing settings. Is the new settings editor being prioritized instead of supporting this? Even just opening the right settings pane and raw default settings in two split workgroups would be much more intuitive than the current default.
Thank for the solution by @Tyriar. It suffices for now.


Cell to boundary as WKT

Fixes #45

For WKB, could reference https://github.com/visgl/loaders.gl/blob/a19c1c5ace13fe419d9768c4d4a765d159705c49/modules/wkt/src/lib/encode-wkb.ts


Random Uniform Not Supported for TFlite Conversion

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 18.04
TensorFlow installed from (source or binary): source
TensorFlow version (or github SHA if from source): tf-nightly 1.14.0-rc0

Provide the text output from tflite_convert
Some of the operators in the model are not supported by the standard TensorFlow Lite runtime and are not recognized by TensorFlow. If you have a custom implementation for them you can disable this error with --allow_custom_ops, or by setting allow_custom_ops=True when calling tf.lite.TFLiteConverter(). Here is a list of builtin operators you are using: ADD, AVERAGE_POOL_2D, BATCH_TO_SPACE_ND, CAST, CONCATENATION, CONV_2D, FULLY_CONNECTED, GREATER_EQUAL, MUL, RESHAPE, RESIZE_BILINEAR, SPACE_TO_BATCH_ND. Here is a list of operators for which you will need custom implementations: RandomUniform.

Also, please include a link to a GraphDef or the model if possible.
Any other info / logs
I followed #26300 by using
converter.target_ops = [tf.lite.OpsSet.TFLITE_BUILTINS,
                        tf.lite.OpsSet.SELECT_TF_OPS]

But I still can't create .tflite file correctly.

There's a warning from lite/toco/graph_transformations/resolve_constant_random_uniform.cc
RandomUniform op outputting "segmentation_dropout/random_uniform/RandomUniform" is truly random (using /dev/random system entropy). Therefore, cannot resolve as constant. Set "seed" or "seed2" attr non-zero to fix this

@futuyao In order to expedite the trouble-shooting process,Please provide the detail error message. Thanks!

Resolved by downgrading Tensorflow version to r1.13.

I can now convert the model to tflite with select tensorflow operators. But when I try to load the model in XCode for iOS, it sill can't find Random Uniform operator.
Didn't find custom op for name 'RandomUniform' with version 1

I can now convert the model to tflite with select tensorflow operators. But when I try to load the model in XCode for iOS, it sill can't find Random Uniform operator.
Didn't find custom op for name 'RandomUniform' with version 1

Sorry for the late reply!
Could you provide with us the .tflite flabuffer or the original GraphDef you are usin(assuming it's not confidential), so that I can give it a try.

Sorry for the late reply!
Could you provide with us the .tflite flabuffer or the original GraphDef you are usin(assuming it's not confidential), so that I can give it a try.

I have my tflite file here: https://drive.google.com/file/d/1yIjABOGxUTP81O0gJeaRHFayoNLiDKIi/view?usp=sharing
Thanks!

Sorry for the late.
It seems like the iOS app is not built with the select TF ops (RandomUniform), so it can't resolve the op at runtime.
Could you follow instructions here and try again? Thanks.
https://www.tensorflow.org/lite/guide/ops_select#ios

Hi, @futuyao
Sorry for the belated. Is ios ops_select working for your model?


Add Docker and Poetry support

I know this app is not maintained for ages, but I've been working on a similar solution and wanted to give it a try. It was really painful to install and find the right dependencies, but I was able to get it running with Poetry and Docker.

@fabiocarneiro this PR is awesome 😃Thank you for pushing this!
I was planning to do something like this since forever but never got the time to do it. I am going to have a look at it and let you know. Just for my curiosity, for what kind of project do you use stream-framework?

I'm actually not using it, and not even sure I will. I've been researching on the subject and it seemed it would be easy to just run this project and try. Unfortunately, it wasn't true, and since I spent a lot of time-fighting with Pipenv (which doesn`t install at all with those dependencies), and I managed to install with Poetry, I think it would be useful for others...

@tbarbugli Any news regarding this? I'd like to exclude it from my mental list of things to track.
Isn't the Travis output enough to prove its working? The only thing missing is the support for Cassandra, but I guess it's not working with either of those without the current approach, so its definitely not a regression.

@fabiocarneiro PR is good, I just needed a bit of time to review and play with it myself ;)


Install Instructions Changed

Changed the name on conda from bio-hansel to bio_hansel for consistency.
Also added the conda install badge.

@peterk87 Link is now changed.


[SPARK-28939][SQL][BACKPORT-2.4] Propagate SQLConf for plans executed…

… by toRdd

What changes were proposed in this pull request?

The PR proposes to create a custom `RDD` which enables to propagate `SQLConf` also in cases not tracked by SQL execution, as it happens when a `Dataset` is converted to and RDD either using `.rdd` or `.queryExecution.toRdd` and then the returned RDD is used to invoke actions on it.

In this way, SQL configs are effective also in these cases, while earlier they were ignored.

### Why are the changes needed?

Without this patch, all the times `.rdd` or `.queryExecution.toRdd` are used, all the SQL configs set are ignored. An example of a reproducer can be:
```
  withSQLConf(SQLConf.SUBEXPRESSION_ELIMINATION_ENABLED.key, "false") {
    val df = spark.range(2).selectExpr((0 to 5000).map(i => s"id as field_$i"): _*)
    df.createOrReplaceTempView("spark64kb")
    val data = spark.sql("select * from spark64kb limit 10")
    // Subexpression elimination is used here, despite it should have been disabled
    data.describe()
  }
```

Why are the changes needed?

Without this patch, all the times .rdd or .queryExecution.toRdd are used, all the SQL configs set are ignored. An example of a reproducer can be:
      withSQLConf(SQLConf.SUBEXPRESSION_ELIMINATION_ENABLED.key, "false") {         val df = spark.range(2).selectExpr((0 to 5000).map(i => s"id as field_$i"): _*)         df.createOrReplaceTempView("spark64kb")         val data = spark.sql("select * from spark64kb limit 10")         // Subexpression elimination is used here, despite it should have been disabled         data.describe()       }
Does this PR introduce any user-facing change?

When a user calls .queryExecution.toRdd, a SQLExecutionRDD is returned wrapping the RDD of the execute. When .rdd is used, an additional SQLExecutionRDD is present in the hierarchy.
How was this patch tested?

added UT

cc @cloud-fan @hvanhovell @maropu @viirya
I haven't yet added the flag requested by @hvanhovell as I have some doubts about it as I expressed in the other PR. I'll add if you think it is needed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/15343/
Test PASSed.

Test build #110354 has started for PR 25734 at commit e9d22e1.

Test build #110354 has finished for PR 25734 at commit e9d22e1.

This patch fails to build.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class SQLExecutionRDD(

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/110354/
Test FAILed.

Test build #110356 has started for PR 25734 at commit d145b14.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/15345/
Test PASSed.

Test build #110356 has finished for PR 25734 at commit d145b14.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/110356/
Test PASSed.

Hi, All.
Shall we hold on this? The original PR seems to break JDK11 build.

https://github.com/apache/spark/actions

https://github.com/apache/spark/pull/25738 is ready.

hi all, I am going to update this once the followups are done, meanwhile do you all agree adding the flag proposed by @hvanhovell ? If so, I'll add it when I update this PR. Thanks.

Yes. I'm +1 for @hvanhovell 's advice for the flag. Please add a document for that flag, too.
cc @gatorsmile

+1 for the flag to keep the legacy behaivour. Is that document @dongjoon-hyun suggested the migration guide? Yea, we need to update that, too.

Test build #110471 has started for PR 25734 at commit 43bd021.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/15450/
Test PASSed.

Test build #110471 has finished for PR 25734 at commit 43bd021.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/110471/
Test PASSed.

Test build #110506 has started for PR 25734 at commit a5eb604.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/15482/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/15623/
Test PASSed.

Retest this please.

Test build #113545 has started for PR 25734 at commit 1b145e2.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18435/
Test PASSed.

Test build #113545 has finished for PR 25734 at commit 1b145e2.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113545/
Test PASSed.


list index out of range

I'm trying to run on my window, I got the issue "list index out of range".
Could you let me know how to resolve it?

I have a proxy question:
I want to buy proxy on here. Do you think it's ok for youtube? Or do you have any suggestions?
https://stormproxies.com/residential_proxy.html

Many thank for the good script.

As i face this problem i think your video is not displayed on the first videos for example your video is not in first top 20-30 videos

What's in your search.txt?
And about stormproxies you can't directly use this script because they will provide a gateway you need to input not a proxy list.

my search.txt is empty, because i just pust direct link on urls.txt.
Is search.txt is required?
Do you have any suggestions where we can buy the good proxy?

my search.txt is empty, because i just pust direct link on urls.txt.
Is search.txt is required?
Do you have any suggestions where we can buy the good proxy?

I don't think that there is proxy list provider most of them provide username and password to account so you will get proxy from pools you wont get them like plain text to place them in this script, and also i think search is required because script contains 2 methods

@luatndl yes search.txt is required. Using this feature you can actually rank your video for those keywords. So it's a nice feature.
Sorry at this time this script doesn't support paid proxies.

So I'm understanding that each line on search.txt have to match with a video link on urls.txt
Example:
If i have 5 url pust on urls.txt, in the search.txt we have to put 5 line inlcuded keyword, title of each video on urls.txt.
Am i correct?

No you can provide as many line as you want. urls.txt and search.txt doesn't have to do anything wlth another.

so, why I can't use urls.txt only?

If proxy position is odd number it will go gor urls.txt. Same way if it's even number it will go for search.txt....so everytime proxy position is even number it throws an error if search.txt is empty like you're facing now

I understand now, thank you very much :)
one more question:
if I get paid proxies as txt, I can be using it. Right?

No you see paid proxies will be user:pass:ip:port..this script doesn't support proxies with authentication...every paid proxies will be proxies with authentication or a gateway.

halo MShawon Thx for great effort and magical app. i want to ask how must i fill in search.txt?
i dont know what must i fill.

@kingofthew0rld https://github.com/MShawon/YouTube-Viewer#new-feature take a look at this.
if you are still confused, tell me how can I find your video on youtube? What should I put in search box to find your video?

ahh genius explain... thx broo
God Bless You..
im sorry i miss that part
thx

As many as you want. This script will always choose a random query from search.txt.

aye aye capt..
thx..

No you see paid proxies will be user:pass:ip:port..this script doesn't support proxies with authentication...every paid proxies will be proxies with authentication or a gateway.

Can I modify the source code to apply paid proxies?
I found a way like that:
proxies = {     "http": "http://username:password@proxy.yourorg.com:80",     "https": "http://username:password@proxy.yourorg.com:80" }

@luatndl  what you are using is only applicable to python request module. Currently selenium doesn't support proxy with authentication. To use this feature you need to switch to selenium wire.

@luatndl if you want to use storm proxies I can give you the modified script. But I can't guarantee you this paid proxies will work 100% or views won't be deleted later. However if you want to give it a try, just let me know.

Thank you very much. I will try this

@niloy1187 thanks for pointing out ':' issue. I didn't realize people can have ':' in their title. But '%20' and '+' shouldn't be a problem.
And 'list index out of range' is related to urls.txt or search.txt not proxies. I am guessing your search.txt is not functioning because of ':'.


[libxmlmm ] Add new port libxmlmm 0.6.0

Describe the pull request

What does your PR fix? Fixes #

Adds libxmlmm in version 0.6.0

Which triplets are supported/not supported? Have you updated the CI baseline?

Known good triplets:
x86-windows
x64-windows
x64-linux
The code is quite portable and most should be suported.

Does your PR follow the maintainer guide?

I checked and hope I did all right.

Do you want to squash the change into one clean comit?

Hi @rioki
Thanks for this PR.
There is no need to squash the change into one clean commit.
The current status looks good.
Is there anything need to be done on your sides?

Thank you for your assistance.

LGTM now. Thanks for your hard work.

Thanks for your contribution!


Issue with understanding what's needed to do for "CLOCK"

I realize that this is not a technical but a "PEBCAK" issue, but I wasn't sure where else to raise it, so I'm trying here. Please let me know if there's a better way to ask for help while working on an exercise!
I started to tackle the "CLOCK" exercise but am mystified where what type of code needs to be added. This is at least in parts due to the starting point of the code looking different compared to the eight exercises I already solved where each of the methods did have a returning parameter which is not the case here. Given that I'm still not well-versed with ABAP-OO, I'm for example wondering what needs to be put into the CONSTRUCTOR method and/or whether I need te create a new private method for some of the tasks.
For me, it would be helpful if I could already take a peek at other solutions to get a better idea of what I need to do - but the community solutions are of course not yet available as I haven't managed to pass all tests yet - a bit of a catch22. Perhaps the tips option could provide some pointers for me and (possibly) others?
Thanks and cheers
Bärbel

The beauty of TDD is, the unit tests are already available and you can always analyse the expected behaviour for any method. I would suggest, you have a thorough look on the unit tests.
Apart from that, you could prepare your solution based on the following pointers.
Method Constructor: This method would be triggered at the time of instantiation of the object. As you can see it has two importing parameters minutes and hours. So, in a way, you need to store this information to capture what is the current time based on the parameters received.
Say, the parameters are 12(hour) and 30(minutes). So the current time is 12:30
Method add: It has an importing parameter “minutes”.
So you need to add the minutes to the stored value on your clock. Say, the minutes is supplied as 90, then you need to add 90 to 12:30 and the new value for your clock becomes 14:00.
Method sub: Same as add, but you need to subtract the minutes from current clock time.
Method get: This method should be able to return the current time of your clock taking into account if any addition or subtraction is done after instantiation.

Thanks, @shafiq2601! I'll check this out in more detail over the weekend. I'm fairly certain that I'm making this more complex than it needs to be and then getting ever more confused!

I tried again but I don't have much of a clue of what all needs to go into this to make the tests pass (and I found the issue you raised about this exercise, Shafiq, but I only follow the gist of what your code is supposed to do). I'd really need to see a working solution which solves this in an easy to follow way to be able to come up with something workable myself. So, I'll just shelve this for now.
I however wish that mentoring were available while working on an exercise as opposed to only becoming availble once all tests pass. This for me would really help the learning experience (and keep frustrations at ones own limitations in check!). Is this perhaps something for Exercism to think about @ErikSchierboom?

@BaerbelW When creating an object instance you need to store the supplied values you receive in the constructor in an attribute. The get method must return this attribute. ABAP's time data type makes this exercise very easy.
On a general note, the Exercism tracks also have a "learning mode" which includes individual "concepts", but they are a lot of work and we haven't done them for ABAP (yet!). Look at the tracks which have the learning mode tag https://exercism.org/tracks
Open one of these and you'll see a Syllabus link at the top next to Exercises, you can browse any track's syllabus. The idea is that exercises get unlocked based on which concepts you've already learnt - I'm doing the Javascript track myself and clock is not available because I haven't completed Classes yet. To give you an idea of what it looks like, here's my JavaScript status:

The lightbulbs are concept exercises which will then unlock some of the others.
For this particular exercise, have a look at the C# Classes concept, it's not a million miles away from ABAP - what we call attributes they call fields, but otherwise the concepts are pretty close.
https://exercism.org/tracks/csharp/concepts
I wouldn't mind your feedback if you think the C# page helps, it's roughly what I'd base the ABAP one on.

@pokrakam Thanks, Mike!, But I'm getting more confused by the minute (pun intended) and looking at other languages will just add to my confusion, I'm afraid! I'll have to wait until I have a SAP-system with debugging available sometime next week to actually see what is happening while the tests are executed and what the various variables contain during the execution. Right now, I have a hard time picturing what is actually happening in which sequence when the tests run.

I suggested the other tracks for the content, not for the language, please have a look at swift or java (not javascript!) class concepts, as they include a lot of background info on transitioning to OO. The ideas behind them is exactly the same as in ABAP - it was Java/C that provide the conceptual basis for OO-ABAP.
Here's a hint in a report format. The start-of-selection section does what the unit tests do, except they use asserts to verify the result instead of write to output it.
REPORT zmptest.

PARAMETERS p_num TYPE i.

CLASS memoriser DEFINITION.

  PUBLIC SECTION.
    METHODS constructor IMPORTING i_num TYPE i.
    METHODS get RETURNING VALUE(result) TYPE i.

  PRIVATE SECTION.
    DATA my_number type i.

ENDCLASS.

CLASS memoriser IMPLEMENTATION.

  METHOD constructor.
    my_number = i_num.
  ENDMETHOD.

  METHOD get.
    result = my_number.
  ENDMETHOD.

ENDCLASS.

START-OF-SELECTION.

  DATA(mem) = NEW memoriser( p_num ).   "<-- NEW calls constructor, if implemented
  WRITE / mem->get( ).  "<--- what was entered

Thanks again, Mike! This is the part I actually do get in the exercise and I manage to have the GET-method put out what gets fed in via the CONSTRUCTOR. Where things "fall apart" for me is trying to figure out how to actually do the addition/subtraction in the other two methods and which variable types I need to use. At a guess, this would (for me) be a lot easier to understand if the incoming paramaters actually were one for time (formatted as hh:mm and interpretable as type t) and then another for minutes to add or subtract (type i). I'm getting confused with the typing and not being able to see what is actually happening with the formats and field content.

I however wish that mentoring were available while working on an exercise as opposed to only becoming availble once all tests pass. This for me would really help the learning experience (and keep frustrations at ones own limitations in check!). Is this perhaps something for Exercism to think about @ErikSchierboom?

Yeah, this is something we've considered and so far have decided not to implement. We'll discuss this to see if we want to change this in the future.

I however wish that mentoring were available while working on an exercise as opposed to only becoming availble once all tests pass

For context, the reason we don't do this is that if we did, it would almost certainly overwhelm our mentors immediately with people who get stuck on exercises, and then not allow them to do the type of mentoring that things are designed for. We have plans to overcome this issue, but it's not a simple problem to fix.

@ErikSchierboom & @iHiD
Hi Erik, hi Jeremy,
I understand. Could setting up a kind of user forum help, where we can help each other when we get stuck? Something like we have here on Github to raise technical issues for which it works nicely, but isn't really intended for the type of question I "abused" it for with this thread?

@BaerbelW What makes ABAP well suited for this exercise is that a type t is stored as a readable char6 but when used in numeric expressions it performs calculations in seconds. Same as with date.
So if the time is 10:30, let's add 5 minutes:
data time type t.
time = '103000'.
time += 300.     " 5 * 60 seconds, time is now '103500'
write time.      "--> 10:35:00

What makes this exercise a little 'special' is that formatting without seconds means you need to do it manually. Since time is a character field, string templates is your friend here:
result = |{ time(2) }:{ time+2(2) }|.

@BaerbelW did above help, can the issue be closed?

@larshp - IIRC, I found a workaroud and got it to work eventually. Sorry for not closing this earlier.
Cheers
Bärbel


feat(search): recent search mutation

Mutation to save a search to 'recent searches'
Only applies to premium users.
POCKET-10003

schema looks good to me 👍
for at least a couple years there hasn't been a way in the app to attach the optional search context and our code has been sending the v3 recent_search action with a search term only, so makes sense not to support it in the mutation

Thanks for confirming, I didn't see any context in the database for quite a while.


Support distribution constructor args and enable DirichletCategorical.

This also addresses @ThomasColthurst 's remaining comments from #33 and #40 .

I haven't managed to get this working, so I'm going to leave it as-is for now and maybe come back to it (feel free to send a PR if you get around to it too).


Optimize for speed and size

Very very cool - thanks!
Is it ready to merge, or are you still on?

yeah, Ready to merge!


How to access elements in MongoDB\Model\BSONDocument

$Existing = $DB->selectCollection('domains')->findOne(['DomainName' => $BaseDomain]);

$Existing has a several elements inside, for example, DomainName or its _id. How do we access them?
HHVM Hack Type Checker reports that the $Existing is an object of type MongoDB\Model\BSONDocument and is not an object of type KeyedContainer, so, we cannot do a $Existing['_id'].
Now, how do we access the elements inside?

It's an object, so you can do $Existing->_id. If you have an existing PHP class that implements MongoDB\BSON\Unserializable you can unserialize the return directly to your own class. Check out the documentation here for more: http://mongodb.github.io/mongo-php-library/tutorial/bson/#type-maps

I'm using this in HackLang actually and $Existing->_id will not work because you can't apply static typing for each MongoDB\Model\BSONDocument  as they can be different all the time. But I just found out that you can do a
$Existing = $Existing->toArray();

Thanks for the time

@raeesiqbal Glad to try to help! I would really look into http://mongodb.github.io/mongo-php-library/tutorial/bson/#persistable-classes if you can. It's very nice to have results just populate into a model class. It's like having a lite ODM.

I will look into it. Thanks

@raeesiqbal: I've not worked much with HackLang's Collection interfaces, but the library's BSONDocument class, which we use by default, extends PHP's ArrayObject class, which implements ArrayAccess. Does HackLang not allow you to use the offset accessors (e.g. []) on ArrayObjects in strict mode?

If you disable the type checker $restult['_id'] will work just fine (maybe because of PHP compatibility). But the type checker reports that MongoDB\Model\BSONDocument must implement [KeyedContainer](https://docs.hhvm.com/hack/reference/interface/HH.KeyedContainer/) to be accessible in ['_id'] style

I tried to add KeyedContainer manually to MongoDB\Model\BSONDocument's definition:
class MongoDB\Model\BSONDocument extends ArrayObject implements MongoDB\BSON\Serializable, MongoDB\BSON\Unserializable, MongoDB\BSON\Type, KeyedContainer {
    public static function __set_state(array $properties);
    public function bsonSerialize();
    public function bsonUnserialize(array $data);
}

But it gives an error that KeyedContainer interface expects 2 arguments. Here is the definition for KeyedContainer:
interface KeyedContainer<+Tk, +Tv> extends Container<Tv>, KeyedTraversable<Tk, Tv> {}

I don't think BSONDocument should be implementing KeyedContainer, as that interface entails declaring a type for all keys and values. The values in your BSON document are going to vary based on the fields in your document schema.
I assume that since the library is written in PHP, any HackLang code interacting with it will need to use partial mode. I don't believe you mentioned what mode you were using, but I assumed it was strict.
I also dug up https://github.com/facebook/hhvm/issues/6745#issuecomment-171022143 from a few months ago, where @simonwelsh reported that "Hack doesn't support ArrayAccess on user land classes." It doesn't look like that note has been added to the unsupported features documentation yet.

If possible, specify the typeMap-option to return the result as an array instead of an object. It's both faster (not by much, but it's faster) and you can access the fields as a normal array.
$driverOptions= [
    'typeMap' => [
        'root' => 'array',
        'document' => 'array',
        'array' => 'array'
    ]
];

$client = new \MongoDB\Client($uri, $uriOptions, $driverOptions);

@jmikola , I am using strict mode for all of my application except for the libraries written in PHP, like mongo-php-library. And I added nullable array as return type for MongoDB\Collection's functions I'm using, for example:
class MongoDB\Collection implements Stringish {
  public function find($filter = array (), array $options = array ()): Vector<array>;
  public function findOne($filter = array (), array $options = array ()): ?array;
}

And @lindelius HHVM actually does not complain in the runtime when I handle BSONDocument like array. And the type checker wont know if I have specified the typeMap and the result will be in array, because the typeMap is an array and type checker is only smart with shapes in this matter. The problem was with the type checker only which I kind of hacked. PHP and HackLang are pretty different languages, so, unless this library is re-written in HackLang, I think this is the best we can get.


kctf-operator stuck in shutdown leads to stuck deployments

If we have a existing kctf-operator instance that is in shutdown, it does not release the lock on the operator.
Code Reference: https://github.com/google/kctf/blob/v1/kctf-operator/cmd/manager/main.go#L143
As a result, the new operator instance is stuck waiting for this lock to be released. So, if we are stuck in this state and we make any changes to the deployments, they don't get deployed to the kctf cluster.
Example:
{"level":"info","ts":1633226662.943512,"logger":"leader","msg":"Found existing lock","LockOwner":"kctf-operator-895969847-r449c"}

To fix this, I had to manually delete the existing operator pods in shutdown using kubectl delete pod kctf-operator-<xxx>.
Ideally, if a operator is going to shutdown, it should release the lock to let the new one take over.

@sroettger where do we need to put that? on the operator?

yes, but it looks like we're already doing that:
https://github.com/google/kctf/blob/v1/kctf-operator/main.go#L79 has
	mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{
		Scheme:                 scheme,
		MetricsBindAddress:     metricsAddr,
		Port:                   9443,
		HealthProbeBindAddress: probeAddr,
		LeaderElection:         enableLeaderElection,
		LeaderElectionID:       "558d99b6.dev",
		Namespace:              "",
	})

oh, maybe this got fixed on the migration to the new operator version?


Question: use case for PyPI XMLRPC API

it was noticed that this uses an api for PyPI that has been in an indefinite state of "to be deprecated soon" in
https://github.com/sphinx-contrib/spelling/blob/22fe760921eb9cba4361d9fa71d785b4964daaea/sphinxcontrib/spelling/filters.py#L161-L166
Honestly, there's a good chance that this deprecation is growing nearer and nearer as PyPI begins to explore a modern API for other use cases, as soon as we're over that hump it it is only a matter of time before XMLRPC is turned off.
So the Question: "What is the current use case? Can I as a PyPI administrator and PSF Infrastructure maintainer help the maintainers of this project find a better option?"

Hi, @ewdurbin , thanks for reaching out.
We could at least disable the filter by default. I'll see if I can find some time to get to that.

@dhellmann It is fortunately already off by default :)

If you wanted to re-enable it....
Without digging too deeply it looks like you just need a list of strings?
curl -H"Accept: application/vnd.pypi.simple.v1+json" https://pypi.org/simple/ is supported way to get a JSON representation of all known project names on pypi.

ref: https://peps.python.org/pep-0691/

@dhellmann It is fortunately already off by default :)

Clearly it has been a while since I've looked at this code base. :-)

If you wanted to re-enable it....
Without digging too deeply it looks like you just need a list of strings?
curl -H"Accept: application/vnd.pypi.simple.v1+json" https://pypi.org/simple/ is supported way to get a JSON representation of all known project names on pypi.

Excellent, thank you for the tip, that'll help someone who wants to rewrite it (future me, or someone else who needs it).

As I indicated in #213 - even if this can be rewritten in terms of a curl call, I'd suggest its a really bad idea to do so. There are 440k+ packages on PyPI, and every single one of them becomes a legal spelling word when this feature is turned on.
"Cute intentional misspellings of dictionary words" is a very common pattern of package naming - e.g., dropping the final vowel of flicker for flickr.
It won't pick up words that might be a violation of a project's style guide: namespace, phablet, or passthrough. This includes unilaterally accepting the US or UK spelling of any word that has a package by that name.
It won't pick up off-by-one typos: pypu instead of pypa or pypi
I'm sure an audit of the 440k package names on PyPA would reveal plenty of other "interesting" spellings.
And none of this takes into account the load that is put on the PyPA servers by downloading a 440k word list every time it rebuilds the spelling environment.
I'd strongly advocate for this entire feature being deprecated and removed.
If it is going to be retained, it should be reduced to the  packages in the currently installed virtual environment, rather than the whole of PyPA (although I'd argue explicit inclusion in a dictionary is a much safer option).

@freakboy3742 Thank you for the advice. I don't intend to do anything at all with this for now, as I tried to make clear in an earlier comment here.


Conflict about object limits for Azure AD B2C Tenant

Noticed that Service Limits for B2C article conflicts with the FAQ located at regarding user limits on a B2C Tenant.
https://learn.microsoft.com/en-us/azure/active-directory-b2c/faq?tabs=app-reg-ga#how-many-users-can-an-azure-ad-b2c-tenant-accommodate-,
It would be interesting to have a clearer perspective on default limit and maximum limit of objects in a B2C tenant, as per support request. For exemple:

Total number of objects (user accounts and applications) per tenant (using a verified custom domain) | 5.25 million extensible up to XXXX million per Microsoft Support Request

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

ID: bdc36e54-cd9b-e581-34e4-952eff4936ec
Version Independent ID: 8634c912-91c9-dfd6-96fb-786fa164f475
Content: Azure Active Directory B2C service limits and restrictions
Content Source: articles/active-directory-b2c/service-limits.md
Service: active-directory
Sub-service: b2c
GitHub Login: @kengaderdus
Microsoft Alias: kengaderdus

Hi @davi-cruz
The default limit for the number of objects (user accounts and applications) per tenant in Azure AD B2C is 5.25 million. However, this limit can be extended up to a higher number upon request to Microsoft Support. The exact maximum limit will depend on the specific needs and usage of your tenant.

Thanks for your reply @AjayBathini-MSFT!
Are there any hard limits on how much it can grow? Let's say 100 million users, would it be capable of being extended to this number or even higher based on a support request?
The reason of my question is that some big implementations would require higher limits, not supported by the default limits in docs, possibly causing the same misunderstanding as I have and leading people to other solutions

Hi @davi-cruz
I'd recommend working closer with our support team via an [Azure support request] (https://docs.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request).


[T2A2][W11-A4]Lui Rong Hua

Ready for Review.

@Roahhh

you have found a couple of good coding standard violations and fixed them.
going forward I encourage you to pay closer attention to coding standards.
some useful ones include checking how conditional statements are written, naming conventions etc.,


Add jq tool which is a prerequisite to post connector configs in json

… format. See https://stackoverflow.com/questions/46119074/how-do-i-create-the-json-for-creating-a-distributed-kafka-connect-instance-with/

@breadfan What not use https://github.com/datamountaineer/kafka-connect-tools

Merged, thanks! We already have many tools in fast-data-dev, so jq isn't gonna make a significant difference in size and it is useful due to the JSON endpoints in Kafka services.


Issues with Virtualenvs

I want to run PyCall.jl off a Python interpreter in a virtualenv. Thus:
ENV["PYTHON"]="/Users/MyUsername/.virtualenvs/myvirtualenv/bin/"

So far, so good. However, calling Pkg.build("PyCall") yields
INFO: Building PyCall
INFO: No system-wide Python was found; got the following error:
could not spawn `/Users/MyUsername/.virtualenvs/myvirtualenv/bin/ -c "import distutils.sysconfig; print(distutils.sysconfig.get_config_var('VERSION'))"`: permission denied (EACCES)
using the Python distribution in the Conda package

...and on it goes to install me a Miniconda, which is not what I wanted. The venv, of course, is totally accessible and owned by me, and so is the Julia executable (under Applications, on a Mac). I wonder why that happens?

You need ENV["PYTHON"]="/Users/MyUsername/.virtualenvs/myvirtualenv/bin/python" — the path of python, not the directory python` lives in.

Duh. NOW I feel silly. Thanks, @stevengj. Apologies for cluttering up issues.