key error: 'content'

KeyError                                  Traceback (most recent call last)
 in <cell line: 112>()
111 subtopic_reports = []
112 for subtopic in subtopic_checklist:
--> 113     subtopic_report = generate_subtopic_report(subtopic)
114     subtopic_reports.append(subtopic_report)
115
1 frames
 in generate_text(prompt, model, max_tokens, temperature)
19     response = requests.post("https://api.anthropic.com/v1/messages", headers=headers, json=data)
20     print(response.json())
---> 21     response_text = response.json()['content'][0]['text']
22     print(remove_first_line(response_text.strip()))
23     return remove_first_line(response_text.strip())
KeyError: 'content'

me too

I added an error check to the generate text function
def generate_text(prompt, model="claude-3-haiku-20240307", max_tokens=2000, temperature=0.7):
headers = {
"x-api-key": ANTHROPIC_API_KEY,
"anthropic-version": "2023-06-01",
"content-type": "application/json"
}
data = {
"model": model,
"max_tokens": max_tokens,
"temperature": temperature,
"system": "You are a world-class researcher. Analyze the given information and generate a well-structured report.",
"messages": [{"role": "user", "content": prompt}],
}
response = requests.post("https://api.anthropic.com/v1/messages", headers=headers, json=data)
# Debug: Print the response JSON for inspection
response_json = response.json()
print(response_json)

# Check if 'content' key exists in the response JSON
if 'content' in response_json and response_json['content']:
    response_text = response_json['content'][0]['text']
    print(remove_first_line(response_text.strip()))
    return remove_first_line(response_text.strip())
else:
    # Handle the missing 'content' key
    print("Error: 'content' key not found in the response.")
    return ""

I did hit the anthropic rate limit though...

Git pull latest push.
Any rate limit issues are problems with billing on your API services.

It's likely a rate-limit issue. Similar to this https://github.com/mshumer/gpt-author/issues/33#issuecomment-2041369178
Solution is to upgrade to Build tier.  You can just add $5 to your account in Build tier and it will solve the issue.

Just upgraded to the Build tier, and I still have the same issue (rate limit).

I just upgraded to the build tier as well, and I'm getting the same error with the rate limit.

The rate limit error usually happens with AI researcher agents like these. Did anyone find a solution yet?

Also you may want to check your API key requests. Check how many request per minute, how many token per day used, and token per minute that your key is doing across all of your applications. I know a friend who's running into the same issue because he has multiple agents that sending more than 50 requests per minute to api.antropic.com.
Also it has been noted in several reddit threads that if you run concurrent requests you may be throttled even if your request per minute is well below the limit.

Any ideas on this? Chatgpt basically said I need to create a buffer with an adaptive delay? but i haven't tested it yet.
def request_with_adaptive_delay(url, headers, data=None, method='get'):
max_attempts = 5
for attempt in range(max_attempts):
response = requests.request(method, url, headers=headers, json=data) if method == 'post' else requests.get(url, headers=headers)
if response.status_code == 200:
return response
elif response.status_code == 429:
retry_after = int(response.headers.get('Retry-After', 60))
print(f"Rate limit exceeded. Retrying after {retry_after} seconds.")
time.sleep(retry_after)
else:
print(f"Request failed: Status code {response.status_code}, Response: {response.text}")
time.sleep(5)  # Wait 5 seconds before retrying for other errors
return None  # Return None if all attempts fail

Just remove the part for generating additional search queries. Instead, continue the search with initial queries. Commenting it out like this below will work so that you don't hit rate limits.
print(f"Generating additional search queries for subtopic: {subtopic}...")
        # additional_queries_prompt = f"Here are the search results so far for the subtopic '{subtopic}':\n\n{str(search_data)}\n\n---\n\nHere are all the search queries you have used so far for this subtopic:\n\n{str(all_queries)}\n\n---\n\nBased on the search results and previous queries, generate 3 new and unique search queries to expand the knowledge on the subtopic '{subtopic}'. Return your queries in a Python-parseable list. Return nothing but the list. Do so in one line. Start your response with [\""
        # additional_queries = ast.literal_eval('[' + generate_text(additional_queries_prompt).split('[')[1])
        all_queries = initial_queries
        # initial_queries = additional_queries
        # all_queries.extend(additional_queries)


SignalR 3

Any plans on supporting SignalR 3 from https://github.com/aspnet/SignalR-Server ?

Hey,
The last time I looked at SignalR3 it looked like the backplane/scaleout api had remained unchanged from version 2. Admittedly this was 6 moths ago.
If this was still the case an upgrade to SignalR3 would be a case of updating the nuget package to of SignalR. Is this something you have tried?
I don't have a use case for SignalR3 at the moment but would be willing to work with someone that does.
Thanks,
Mark

@mdevilliers Perfect. I havn't tried to get it to work yet, but I will share my findings here as things progresses on my side.

I have pushed my findings here:
https://github.com/rmja/SignalR.RabbitMq/tree/SignalR3
It seems to work:)

Hey,
This looks awesome. Looking at your branch it seems you have spiked a solution to moving it the project to VNext as well.
Is you plan to work towards a PR?
If you were wanting to get involved I'd be happy to make you a contributor/maintainer on the project. I've recently moved jobs and don't do as much .net as I used to - it would be great to keep the project going.
Mark

Hi Mark,
Thanks, yes that is my plan, but i wanted to test it thoroughly first. I guess the pr should be to a different branch to maintain support for v2?
I know that signalr 3 is postponed until after Asp.Net Core RTM, so the code is still preliminary, but it seems to work sweet with the current bits😊
-----Oprindelig meddelelse-----
Fra: "Mark deVilliers"<EMAIL_ADDRESS>Sendt: 16-03-2016 20:27
Til: "mdevilliers/SignalR.RabbitMq"<EMAIL_ADDRESS>Cc: "rmja"<EMAIL_ADDRESS>Emne: Re: [SignalR.RabbitMq] SignalR 3 (#42)
Hey,
This looks awesome. Looking at your branch it seems you have spiked a solution to moving it the project to VNext as well.
Is you plan to work towards a PR?
If you were wanting to get involved I'd be happy to make you a contributor/maintainer on the project. I've recently moved jobs and don't do as much .net as I used to - it would be great to keep the project going.
Mark
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub

The v2 branch seems like a good idea - in case we needed to patch a v2 release/nuget package.
Maybe the v3 support should be on master and the nuget package gets a major version increment in line with Signalr3?


Request: Makebuffer_idx_mode=2 be indexed by global variable

Currently implementation of g:airline#extensions#tabline#enabled = 1 with g:airline#extensions#tabline#buffer_idx_mode = 2 start indexing from 11.
This is a little bit awkward, as now there is now discrepancy between the indices in :ls and the indices for the tabs are off by 10.
I understand the rational for starting at 11, but could I suggest a compromise:
Create a global variable, e.g. g:airline#extensions#tabline#buffer_start_at_01 = 0. And by adjusting it to 1, indexing start 01, instead of 11.
Not that I am only suggesting this affect buffer_idx_mode = 2.
I am willing to give making a PR a shot, if this feature is of interest.

Thanks, appreciated. Please go ahead.

Am 25.12.2019 um 13:59 schrieb Jonathan Feinberg<EMAIL_ADDRESS>
Currently implementation of g:airline#extensions#tabline#enabled = 1 with g:airline#extensions#tabline#buffer_idx_mode = 2 start indexing from 11.
This is a little bit awkward, as now there is now discrepancy between the indices in :ls and the indices for the tabs are off by 10.
I understand the rational for starting at 11, but could I suggest a compromise:
Create a global variable, e.g. g:airline#extensions#tabline#buffer_start_at_01 = 0. And by adjusting it to 1, indexing start 01, instead of 11.
Not that I am only suggesting this affect buffer_idx_mode = 2.
I am willing to give making a PR a shot, if this feature is of interest.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

fixed by #2033


一个问题，请教。

一个问题，请教。

can not  run the  Synology HDD db

You've downloaded the wrong file.

See https://github.com/007revad/Synology_HDD_db/blob/main/images/how_to_download.png
Then unzip the zip file and run the syno_hdd_db.sh file.

You've downloaded the wrong file. You actually downloaded the webpage.

See https://github.com/007revad/Synology_HDD_db/blob/main/images/how_to_download.png
Then unzip the zip file and run the syno_hdd_db.sh file.

谢谢已经成功运行，讽刺感谢。


I want to set appendPadding after render

F2 Version: 3.3.1
Platform: dingding
Mini Showcase(like screenshots): no need
CodePen Link: no need

i want to set appendPadding after render. i cant find any api for this from online document

sorry, not support...

We do not offer the api, but there is a very hacked way to refer to:
  // after render
  const padding = chart.get('_padding'); //  get calculated padding
  const appendPadding = chart.get('appendPadding'); // get appendPadding

  const newPadding = [];
  padding.map(val => {
    newPadding.push(val - appendPadding); // update padding based on the new value of appendPadding
  });

  chart.set('_padding', newPadding); // set new  padding
  chart.changeSize();


non-local impl definition, they should be avoided as they go against expectation

Bug Description
In our code https://github.com/GreptimeTeam/greptimedb/blob/main/src/script/src/python/pyo3/vector_impl.rs#L94 like
#[pymethods]
impl PyVector {
    /// convert from numpy array to [`PyVector`]
    #[classmethod]
    fn from_numpy(cls: &PyType, py: Python<'_>, obj: PyObject) -> PyResult<PyObject> {
        let pa = py.import("pyarrow")?;
        let obj = pa.call_method1("array", (obj,))?;
        let zelf = Self::from_pyarrow(cls, py, obj.into())?;
        Ok(zelf.into_py(py))
    }
    ...
}

Compile with toolchain nightly-2024-04-18 would get the following error:
error: non-local `impl` definition, they should be avoided as they go against expectation
  --> src/script/src/python/pyo3/vector_impl.rs:94:1
   |
94 | #[pymethods]
   | ^^^^^^^^^^^^
   |
   = help: move this `impl` block outside the of the current method `__or__` and up 2 bodies
   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
   = note: the attribute macro `pymethods` may come from an old version of the `pyo3_macros` crate, try updating your dependency with `cargo update -p pyo3_macros`
   = note: this error originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)

Steps to Reproduce
git clone https://github.com/waynexia/greptimedb.git
cd greptimedb
git checkout update-toolchain-3
make clippy

Source
Backtrace
N/A

Your operating system and version
Arch Linux x86_64 6.8.6-arch1-1
Your Python version (python --version)
Python 3.11.8
Your Rust version (rustc --version)
rustc 1.79.0-nightly (becebb315 2024-04-17)
Your PyO3 version
0.20
How did you install python? Did you use a virtualenv?
pacman
Additional Info
To workaround it, add this to Cargo.toml
rust.non_local_definitions = "allow"

Please update to the current version 0.21.2 which resolves this.

@adamreichold Thanks for your information!
In GreptimeDB we can't upgrade pyo3 now due to our deps (arrow, datafusion) are using pyo3 0.20:

https://github.com/apache/arrow-datafusion/pull/9808
https://github.com/apache/arrow-rs/pull/5566

But once these deps upgrade, we'll try this out.

Closing as resolved in latest PyO3 versions.


fix(challenge): Update tail section for "Return a Value from a Function with Return"

Pre-Submission Checklist

[X] Your pull request targets the staging branch of freeCodeCamp.
[X] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[X] You have only one commit (if not, squash them into one commit).
[X] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[X] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[X] Tested changes locally.
[X] Closes currently open issue (replace XXXX with an issue no): Closes #9583

Description
Implements @erictleung's suggested changes from #9651 (comment).
This solves the issue mentioned above, but I'm still not happy with the result. Ideally, campers should be able to add console.log(timesFive(someNumber)) to test their function and see the result in the simulated console to the left on their screen.
However, it's currently only possible to see this test output when the challenge is freshly loaded from the seed (either by visiting it for the first time or by resetting it). As soon as tests has been run, all that's displayed is
// running test
// tests completed

I'm open for any suggestions!

LGTM. So I haven't been QA-ing many of the recent PRs, but does the left in-site console show this after running tests?

At the very least, this PR will remove any confusion from timesFive only returning 25.

@erictleung Thanks for the review! This removes the constant output so technically, it fixes the issue.
However, campers still can't test using console.log() like they might want to. It seems like execution of the tests somehow clears the output coming from the camper's code itself. Maybe this should be triaged and solved in it's own issue?
When loading the challenge for the first time, I see the output coming from the example function call console.log(minusSeven(10)):

If I run the tests at this point, I see this:

And finally, with a valid solution, this is the output:

@systimotic Np! :smile:


ParseError {errorContexts = [], errorMessage = "Failed reading: takeWhile1", errorPosition = 10:39} @(yesod_GBB6gCJ4065E6aE3B1q92h:Yesod.Core.Class.Yesod ./Yesod/Core/Class/Yesod.hs:629:5)

I got this error while trying to load: haddock.prof.txt
TKYProf <IP_ADDRESS> launched, listening on http://localhost:3000/
15/Jun/2016:10:36:16 +0100 [Info#yesod-core] Application launched @(yesod_GBB6gCJ4065E6aE3B1q92h:Yesod.Core.Dispatch ./Yesod/Core/Dispatch.hs:157:11)
15/Jun/2016:10:36:29 +0100 [Error#yesod-core] ParseError {errorContexts = [], errorMessage = "Failed reading: takeWhile1", errorPosition = 10:39} @(yesod_GBB6gCJ4065E6aE3B1q92h:Yesod.Core.Class.Yesod ./Yesod/Core/Class/Yesod.hs:629:5)
<IP_ADDRESS> - - [15/Jun/2016:10:36:29 +0100] "POST /reports HTTP/1.1" 500 - "http://localhost:3000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36"

The profile was produced with GHC 8.

I suspect it's because it was created with -P instead of -p.

Thanks for the report. Apparently the SRC column has been added (since GHC 8?). I've fixed it in my ghc-time-alloc-prof library, which is meant for a replacement for the parser in tkyprof. I think I had a branch for this but I need some time to remember where I was.
For the time being, you can try the dump command in ghc-time-alloc-prof. The UI isn't good at all but it's kind of usable.

Who calls it:
% stack exec dump -- haddock.prof.txt tcRnModuleTcRnM TcRnDriver
Callee {calleeName = "tcRnModuleTcRnM", calleeModule = "TcRnDriver", calleeEntries = 468, calleeTime = 0.0, calleeAlloc = 0.0, calleeTicks = Just 0, calleeBytes = Just 0}
CallSite {callSiteCostCentre = CostCentre {costCentreName = "withTcPlugins", costCentreModule = "TcRnDriver", costCentreSrc = Just "compiler/typecheck/TcRnDriver.hs:(2502,1)-(2518,31)", costCentreNo = 1732, costCentreEntries = 468, costCentreIndTime = 0.0, costCentreIndAlloc = 0.0, costCentreInhTime = 57.5, costCentreInhAlloc = 50.1, costCentreTicks = Just 1, costCentreBytes = Just 29952}, callSiteContribEntries = 0, callSiteContribTime = 0.0, callSiteContribAlloc = 0.0, callSiteContribTicks = Just 12, callSiteContribBytes = Just 835016}
CallSite {callSiteCostCentre = CostCentre {costCentreName = "withTcPlugins", costCentreModule = "TcRnDriver", costCentreSrc = Just "compiler/typecheck/TcRnDriver.hs:(2502,1)-(2518,31)", costCentreNo = 2148, costCentreEntries = 0, costCentreIndTime = 0.0, costCentreIndAlloc = 0.0, costCentreInhTime = 0.0, costCentreInhAlloc = 0.0, costCentreTicks = Just 0, costCentreBytes = Just 0}, callSiteContribEntries = 0, callSiteContribTime = 0.0, callSiteContribAlloc = 0.0, callSiteContribTicks = Just 0, callSiteContribBytes = Just 0}
CallSite {callSiteCostCentre = CostCentre {costCentreName = "CAF", costCentreModule = "TcRnDriver", costCentreSrc = Just "<entire-module>", costCentreNo = 864, costCentreEntries = 0, costCentreIndTime = 0.0, costCentreIndAlloc = 0.0, costCentreInhTime = 0.0, costCentreInhAlloc = 0.0, costCentreTicks = Just 0, costCentreBytes = Just 48}, callSiteContribEntries = 0, callSiteContribTime = 0.0, callSiteContribAlloc = 0.0, callSiteContribTicks = Just 0, callSiteContribBytes = Just 0}
CallSite {callSiteCostCentre = CostCentre {costCentreName = "tcRnModule", costCentreModule = "TcRnDriver", costCentreSrc = Just "compiler/typecheck/TcRnDriver.hs:(133,1)-(159,45)", costCentreNo = 1727, costCentreEntries = 468, costCentreIndTime = 0.3, costCentreIndAlloc = 0.2, costCentreInhTime = 57.8, costCentreInhAlloc = 50.2, costCentreTicks = Just 213, costCentreBytes = Just 114853928}, callSiteContribEntries = 468, callSiteContribTime = 0.0, callSiteContribAlloc = 0.0, callSiteContribTicks = Just 1, callSiteContribBytes = Just 117168}

Thanks for the quick response. I think I've tried ghc-time-alloc-prof from Hackage and got the same error. I will try the github repo. The think I want to eventually achieve is to compute a difference between two profiles. Your library looks like a good fit.


fix can not children while loading temporarily

@hush881025 Hi, do you remember what is the issue the commit 19b2b88 fix can not children while loading temporarily refer to?  I've forgotten.


Incorrect UserPlugins symlink in the macOS disk image

When installing reaper_sws-arm64.dylib via the .dmg download from https://www.sws-extension.org I got an instruction to copy the file into the UserPlugins Folder to install it, and the folder did not exist, to create one at /Library/Application Support/REAPER/UserPlugins
I created this folder and copied the file there, to no effect.
In fact, the file needed to be copied to /Applications/REAPER.app/Contents/Plugins, at least on my M2 macbook running Ventura 13.3.1
Took me much much much longer than it should have to figure it out, but I'm sure that other people even less capable than I am would appreciate having the instructions fixed

It needs to be copied to the UserPlugins directory in your REAPER install's resource path: Options > Show REAPER resource path in explorer/finder.
It's /Users/$USER/Library/Application Support/REAPER/UserPlugins for a regular non-portable install.

In fact, the file needed to be copied to /Applications/REAPER.app/Contents/Plugins, at least on my M2 macbook running Ventura 13.3.1

That Plugins directory is reserved for REAPER's internal components.

I made a simple MacOS app in Automator to install the SWS .dylib to the default UserPlugins folder in the correct User Library, attached. The app also quarantines the .dylib so users don't have to "allow" it in MacOS System Preferences/Security. Would you consider adding this or a similar install application to the next build of SWS for MacOS?
Install SWS Extension.zip

That app would need to itself be unquarantined...

True. I've instructed my students to command-click the app and select "Open" -- you still get the "this could be a malicious developer" popup, but at least if you "control-click Open" it gives you the option to open without having to go through the whole System Prefs/Security "allow" thing. It's a much smaller hurdle for people who are less tech savvy, in my experience. And unlike the outdated instructions on the .dmg, it gets the .dylib where it needs to go. But obviously the best thing would be have an Apple developer codesign... Is that possibly in the cards?
(Ideally it'd also be nice to have an installer app with the same options as on Windows, where you can install to the default UserPlugins folder or to a portable install location. But my feeling is that portable install folks are already way more tech savvy, while the current MacOS install asks a lot of the average user.)

I've been wondering whether a shell script that copies its arguments into the proper directory could solve this (or would that gets blocked by Apple too?) but haven't got around to testing it.
Something like "Drop files here.sh" instead of the current broken UserPlugins symlink:
# TODO: Detect what the file is and install into Scripts/UserPlugins/etc
# TODO: Handle dropping multiple files at once
# TODO: Check whether the resource path exists and report failure

cp "$1" ~/Library/'Application Support'/REAPER/UserPlugins/

If that's not possible (needs to be +x & not blocked), then the proper solution would be replacing the .dmg altogether with a .pkg installer. OSARA did that last time I checked.

I'll defer to your judgement on the best way to do it -- my application is just a stopgap to get a classroom of students up and running.
It looks like OSARA uses a shell command but has users context menu-Open, too.
FWIW I did try doing this as shell script as a first-draft, actually (this was my first attempt at a shell script or using Automator). If fact, my app is just a wrapper for that script. The  script.command also had to be "allowed" in Sys. Prefs./Sec., but it didn't occur to me to try right-click/context "Open" until I had already made the Automator app. (And the app felt a bit cleaner for my purposes than the script.)


:sparkles: JDBC device_code authorization

Thanks for your contribution, @xuxiaowei-com-cn!
I went ahead and incorporated your commit into my branch so you'll see your name (English alphabet) in the commit history. This was merged via cf7ecc161da61a69c45d1fc8bee7bb6c2ca3d419. I also added a polish commit via 5c6879d9791480fc3527004e6e145d2eb0cf151b along with 13a61034eda67f74a2162c5edbaec5243218341e.

@sjohnr Nice to contribute to open source projects


Ensure built-in poster has default background color

I think this may have regressed as part of the seamless poster change in #890 . I don't think it's necessary for the poster to have a fallback color of inherit for seamless poster transitions to work, and also it means that in most cases, the built-in poster won't have any background color at all.

Hmm, I think the issue is less seamless posters and more transparent rendering (and therefore transparent posters). Look at modelviewer.dev/examples/lazy-loading.html with this change. You'll see that the background color changes from white to grey now, which is why I put inherit IIRC.

Ah, so the poster color needs to be transparent in the case that there is a configured poster image with transparency in it? I think it's fair to say that this should be configured by the user as needed to achieve the desired effect.

Many docs and an example have been updated


Dataset for training X3D

Hello,
Thank you for the amazing work.
is it possible to see the dataset that you prepared for training X3D in this repository.
Thanks

I apologize that dataset is too big and I didn't make a save, maybe you can use this repo for data labeling to make the dataset


[upgrade] Failing pre-flight check [API Server is unhealthy]

2019-11-12T16:11:02.6892660Z 16:11:02 INFO cli.engine.ansible.AnsibleCommand - TASK [upgrade : upgrade-master | Validate whether cluster is upgradeable] ******
2019-11-12T16:11:02.9553615Z 16:11:02 INFO cli.engine.ansible.AnsibleCommand - fatal: [vm-qa-upgrades-ubu-master-001]: FAILED! => {"changed": false, "cmd": "kubeadm upgrade plan v1.12.10", "delta": "0:00:00.042074", "end": "2019-11-12 16:11:02.912653", "msg": "non-zero return code", "rc": 1, "start": "2019-11-12 16:11:02.870579", "stderr": "[upgrade/health] FATAL: [preflight] Some fatal errors occurred:\n\t[ERROR APIServerHealth]: the API Server is unhealthy; /healthz didn't return "ok"\n[preflight] If you know what you are doing, you can make a check non-fatal with --ignore-preflight-errors=...", "stderr_lines": ["[upgrade/health] FATAL: [preflight] Some fatal errors occurred:", "\t[ERROR APIServerHealth]: the API Server is unhealthy; /healthz didn't return "ok"", "[preflight] If you know what you are doing, you can make a check non-fatal with --ignore-preflight-errors=..."], "stdout": "[preflight] Running pre-flight checks.\n[upgrade] Making sure the cluster is healthy:", "stdout_lines": ["[preflight] Running pre-flight checks.", "[upgrade] Making sure the cluster is healthy:"]}

fixed in #704


fix undefined references

When building, i get numerous undefined references.
Don't know, does anyone have working it, as i get X BadAlloc error, which might be due to intel video driver bug (glxinfo showes opengl version 3.0).

Thanks!


twitter auth Experiment 3

error log lines are not working, but print does ... to cloudwatch See what is in the WSGIRequest on the server, to develop new redirect url

👍


PHP 7.3 Deprecated warnings on filter_var()

PHP 7.3:
PHP Deprecated:  filter_var(): explicit use of FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED is deprecated in C:\php\rss-bridge\lib\FeedItem.php on line 154

My PR #982 should fix this.


[Android] Java vs Kotlin for Android

[Android] Kotlin vs Java for Android.
Introduction paragraph (2-3 paragraphs):
Java is a reputable programming language with vast open source tools and libraries to help developers.
On the other hand, Kotlin is an expressive and concise programming language that reduces common errors.
New Android developers want to know which language they should learn for building modern Android applications. Development teams want to be sure that Kotlin will not have a negative impact on their app’s performance, their ability to hire qualified engineers, or on their overall developer productivity.
Key takeaways:

Requirements/installations
Differences/comparison
Performance and compatibility
Syntax
Best choice for beginners

References:
N/A
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Unfortunately, this topic is already covered here https://www.section.io/engineering-education/difference-between-kotlin-and-java/. Feel free to suggest another topic. Thanks


Fixed wild card name matching

I found the problem with wildcards and fixed it. Please merge it to the main stream.

Coverage decreased (-0.2%) to 93.671% when pulling d7c639920f0f8eb114bfc25782d44ba28d50b141 on quantnet-golovin:master into e1f1d6af34f82b3b75021883a02f72db9d9d41b5 on joohoi:master.

Based on some quick testing (since I'd like this functionality, too), this only works for one level of wildcarded labels. e.g. *.my.host.tld. AAAA 2600::, I will get a response for label.my.host.tld., however will not get a response for another.label.my.host.tld.
I made a half-hearted attempt to solve this with this patch to your pr:
diff --cc dns.go
index 1a7e0e0,dcfda8d..0000000
--- a/dns.go
+++ b/dns.go
@@@ -130,8 -107,26 +130,33 @@@ func (d *DNSServer) readQuery(m *dns.Ms
                        m.Ns = append(m.Ns, d.SOA)
                }
        }
 -
  }

+ func (d *DNSServer) getRecordByDomainName(domainName string) (Records, bool) {
+       lowerName := strings.ToLower(domainName)
+       domain, ok := d.Domains[lowerName]
+       if ok {
+               return domain, ok
+       } else {
 -              split := strings.SplitAfterN(lowerName, ".", 2)
 -              split[0] = "*"
 -              wildName := strings.Join(split, ".")
 -              domain, ok := d.Domains[wildName]
 -              for i := 0; i < len(domain.Records); i++ {
++              split := strings.Split(lowerName, ".")
++              for j := 0; j < len(split); j++ {
++                      split[0] = "*"
++                      wildName := strings.Join(split, ".")
++                      domain, ok := d.Domains[wildName]
++                      for i := 0; i < len(domain.Records); i++ {
+                       domain.Records[i].Header().Name = lowerName
++                      }
++                      if ok {
++                              return domain, ok
++                      } else {
++                              newsplit := append(split[:0], split[1:]...)
++                              split = newsplit
++                      }
+               }
 -              return domain, ok
++      return domain, ok
+       }
+ }
+
  func (d *DNSServer) getRecord(q dns.Question) ([]dns.RR, error) {
        var rr []dns.RR
        var cnames []dns.RR

@echarlie I added your changes.

+1

+1

How about adding tests for this?

Hi, sorry it took a while to get around to reviewing this. The PR looks good, but I'd really like to see test cases included.

Hi, sorry it took a while to get around to reviewing this. The PR looks good, but I'd really like to see test cases included.

Giving this a small bump. Anyone working on tests?


Bump github.com/containerd/containerd from 1.7.4 to 1.7.11

What does this PR do?
Bump github.com/containerd/containerd from 1.7.4 to 1.7.11
Motivation

Fixes DataDog/image-vuln-scans#1257

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided. Except if the qa/skip-qa label, with required either qa/done or qa/no-code-change labels, are applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

/merge


Use API key with google geocoder

Is it possible to use an API key with Google Geocoder at the moment? Thanks

Yes, it is possible.

okay thanks. How do I pass the API key? Thanks

Through geocoder.key config parameter.

okie thanks :+1:

I tried creating a server key in Google API console and tried a few different combinations, traccar doesn't get the address. I have added the geocoder.key in traccar config file. Also just to be sure that I have enabled the correct API, here's the list of APIs that I see in Google API manager.  For now I have enabled the geolocation, geocoding and javascript map APIs from Google. The key I have already put in the config file
Google Maps APIs

Google Maps Android API
Google Maps SDK for iOS
Google Maps JavaScript API
Google Places API for Android
Google Places API for iOS
Google Maps Roads API
Google Static Maps API
Google Street View Image API
Google Maps Embed API
Google Places API Web Service
Google Maps Geocoding API
Google Maps Directions API
Google Maps Distance Matrix API
Google Maps Geolocation API
Google Maps Elevation API
Google Maps Time Zone API

Thanks a ton. M.M

Wait, what version of Traccar are you using? It's only available in the latest one.

hi, I am using v 3.5 ... release date 17 Apr 2016

Try to build a JAR file from the latest source code. It might fix the problem.

oops my experience with java is almost nil. Is there anything else that I could check to narrow in on the cause? Thanks. M.M

Here is a new build to try:
https://www.dropbox.com/s/cgmlansv32j3ii0/tracker-server.jar?dl=0

Amazing, that works!!! :100:  So kind of you to sort this out so fast. Cheers - M.M

Hello, i am new to this.
I can see google maps on my local machine but on accessing my server from external IP, google maps vanished.
After reading i find out its because i have to enter google maps key, i have generated API code, but cant understand where to enter and how to? can you guide me wit the same ?
I also found a .jar file shared above, but cant understand how to use it ?

@shubhamalive, are you talking about actual maps or reverse geocoder?

@tananaev I am using actual maps. Geocoder i saw from some above posts.

How are you using Google Maps with Traccar? It doesn't support it.

@tananaev i Have used this > http://traccar.litvak.su/installation.html to change traccar Web UI, i got google maps and many more feature with it. Features list > http://traccar.litvak.su/features/

That's not an official Traccar project. You should ask the author.


fix: Types incorrectly pulling in .src

What:
A fix for types where it was incorrectly pulling in .src
Why:
It will cause errors in Typescript when trying to compile a project with jest-dom
How:
Removed the unnecessary reference
Checklist:

[x] Documentation - N/A
[x] Tests - N/A
[x] Ready to be merged
[x] Added myself to contributors table

@kentcdodds Sorry, I accidentally added an invalid reference to the extend-expect.d.ts file which causes Typescript to not be able to compile.

Thank you! Again sorry for not catching it earlier!

:tada: This PR is included in version 1.5.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


The GRP_ASSGN views don't expose the office of the groups.

The DB_OFFICE_ID column is the office of the locations, not the office of the groups.  The where clause needs to look at the grp_office from the *cat_grp views.

This probably needs an integration test.

No time like the present.

I added an integration test that uses a group from CWMS with office specific ts.


[feature request] mmseqs prefilter missing option

The following options (available in mmseqs search but not in mmseqs prefilter) would be extremely useful when running a prefilter analysis:
-e                 evalue cut-off
--max-accept       max number of hits to report (currently all matches are reported creating very big files)
--start-sens       start sensitivity
--sens-step-size   sensitivity step sizes

Do you still use the prefilter as alignment replacement?

hi @martin-steinegger. only for tests.... I would need the same filtering options, cascading clustering, and parseable outputs.

@jhcepas you can use --alignment-mode 4 now to do your wanted operations.
This feature works since commit https://github.com/soedinglab/MMseqs2/commit/04f86023b2eb20d41c70be2bf6d0157daea8d9c2.
This mode calls the prefilter followed by the rescorediagonal module. So it is way faster compared to the smith waterman alignment. Please let me know if you encounter any problems with it.

that's wonderful news, thanks!
If I understood correctly the clustering algorithm, using alignment-mode 4 should not impact much the quality of the clusters, right?

@jhcepas yes the quality should be the same.


Usage of internal API should cause CI failure

@dividedmind had the idea to fail CI if internal API is used again.
We could implement this after https://github.com/getappmap/appmap-intellij-plugin/pull/498 was merged. The plugin verifier can be configured in a way to fail when usage of internal API was detected.

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

v0.57.0
GitHub release

Your semantic-release bot :package::rocket:


Fire And Forget AcessDeniedException

File: docs/guides/crosswalk/aws/ecs.md
const api = new awsx.apigateway.API("hello-world-api", {
    routes: [{
        path: "/hello",
        method: "GET",
        eventHandler: async (req) => {
            // Anytime someone hits the /hello endpoint, schedule our task.
            const result = await helloTask.run({ cluster });
            return { statusCode: 200, body: "OK" };
        },
    }],
});

I got this error with thie line of code
{
    "errorType": "AccessDeniedException",
    "errorMessage": "User: arn:aws:sts::680928640442:assumed-role/trigger-buildfc45ff03-8a0677d/trigger-buildfc45ff03-ea7b647 is not authorized to perform: ecs:RunTask on resource: arn:aws:ecs:us-west-2:680928640442:task-definition/build-bitstream-aece9bcd:1",
    "code": "AccessDeniedException",
    "message": "User: arn:aws:sts::680928640442:assumed-role/trigger-buildfc45ff03-8a0677d/trigger-buildfc45ff03-ea7b647 is not authorized to perform: ecs:RunTask on resource: arn:aws:ecs:us-west-2:680928640442:task-definition/build-bitstream-aece9bcd:1",
    "time": "2020-04-07T02:46:20.519Z",
    "requestId": "68aa9b2f-e330-42c0-ad0c-ba127279b7b4",
    "statusCode": 400,
    "retryable": false,
    "retryDelay": 31.98567057234596,
    "stack": [
        "AccessDeniedException: User: arn:aws:sts::680928640442:assumed-role/trigger-buildfc45ff03-8a0677d/trigger-buildfc45ff03-ea7b647 is not authorized to perform: ecs:RunTask on resource: arn:aws:ecs:us-west-2:680928640442:task-definition/build-bitstream-aece9bcd:1",
        "    at Request.extractError (/var/runtime/node_modules/aws-sdk/lib/protocol/json.js:51:27)",
        "    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)",
        "    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:78:10)",
        "    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:683:14)",
        "    at Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)",
        "    at AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)",
        "    at /var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10",
        "    at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)",
        "    at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:685:12)",
        "    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:116:18)"
    ]
}

Just hit the same issue:
{
    "errorType": "AccessDeniedException",
    "errorMessage": "User: arn:aws:sts::554523412554:assumed-role/batch-poc-schedule-a1297ba/batch-poc-schedule-325ae24 is not authorized to perform: ecs:RunTask on resource: arn:aws:ecs:us-east-1:554523412554:task-definition/batch-poc-aece9bcd:1",
    "code": "AccessDeniedException",
    "message": "User: arn:aws:sts::554523412554:assumed-role/batch-poc-schedule-a1297ba/batch-poc-schedule-325ae24 is not authorized to perform: ecs:RunTask on resource: arn:aws:ecs:us-east-1:554523412554:task-definition/batch-poc-aece9bcd:1",
    "time": "2021-04-08T10:05:54.888Z",
    "requestId": "978fa4d1-33fb-486e-98e6-1c9d44526469",
    "statusCode": 400,
    "retryable": false,
    "retryDelay": 3.7942372227858234,
    "stack": [
        "AccessDeniedException: User: arn:aws:sts::554523412554:assumed-role/batch-poc-schedule-a1297ba/batch-poc-schedule-325ae24 is not authorized to perform: ecs:RunTask on resource: arn:aws:ecs:us-east-1:554523412554:task-definition/batch-poc-aece9bcd:1",
        "    at Request.extractError (/var/runtime/node_modules/aws-sdk/lib/protocol/json.js:52:27)",
        "    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)",
        "    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:78:10)",
        "    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:688:14)",
        "    at Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)",
        "    at AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)",
        "    at /var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10",
        "    at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)",
        "    at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:690:12)",
        "    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:116:18)"
    ]
}

I've raised an issue in the main Pulumi repo as it seems to be code issue rather than a documentation one:
https://github.com/pulumi/pulumi/issues/6725


Use an actual DNS resolver

Without this the statistics requests will never reach the server if it's not available on <IP_ADDRESS> directly (think load balanced or distributed services).
Let the system supply a DNS resolver or use Cloudflare's <IP_ADDRESS> as an default.

The Problem is that the systems dns resolver will never resolve domains while developing locally. For example when using Laravel Valet.
Maybe we could make this dependent on wether or not the app environment is set to production.
What do you think @freekmurze ?

@mpociot I noticed that too 👍 I made an config option for it 😄

Wouldn't that DNS lookup block our server?

It shouldn't since it's using the Reacts Async DNS lookup and also uses the in-memory cache for lookups.
But otherwise some other way needs to be devised to get the statistics across since it just silently fails on our production cluster without it 😄

I'm ok with adding this to the package. I don't know how, but it would be nice if we could have an automated test for this.
Could you also PR that docs (update the config file there)

Hmm we could test if it resolves not to <IP_ADDRESS> with that config option set possibly.

A small note FYI, we actually support the hosts file of *nix and Windows systems through the HostsFileExecutor which is used by default on both the non-cached and the cached resolvers. And as long as you try to resolve localhost it will always return <IP_ADDRESS>.

@WyriHaximus interesting... so as long as the entry is in the hosts file it will never even hit the network? Very nice!
This will still not allow us to enable it by default because Valet does not write to the hosts file but good to know that adding entries to the hosts file will make sure no network requests are made for DNS resolving when this is enabled.

@WyriHaximus Valet places a custom configuration, depending on the TLD that you choose inside the etc/resolver/ folder. And this DNS will then point to <IP_ADDRESS>.
Too bad that it's not possible to add multiple DNS servers yet.
@stayallive thanks for the PR!


fix(nedb): revert to use nedb [INS-4503]

Close INS-4503

Closed as this would cause old consistency issues to reappear. Leaving us stuck with an unmaintained upstream. Preferred approach would support both modules aliased to same module, in order to unblock legacy plugin imports.


Bug: Recursive fails when using get_multiple in SSM parameters

Expected Behaviour
When attempting to retrieve multiple parameters from AWS Systems Manager (SSM) using the recursive flag, we should have access to all the parameters in a given path. If I have the parameters /leo/aa, /leo/aa/cc and /leo/aa/cc/zz, I should be able to fetch all of them by using all_parameters = ssm_provider.get_multiple("/leo", recursive=True), but this is not working.
Current Behaviour
If I have the parameters /leo/aa, /leo/aa/cc and /leo/aa/cc/zz and useall_parameters = ssm_provider.get_multiple("/leo", recursive=True), this only fetch the first level, which is aa.
Code snippet
from typing import Any

from aws_lambda_powertools.utilities import parameters
from aws_lambda_powertools.utilities.typing import LambdaContext

ssm_provider = parameters.SSMProvider()

def lambda_handler(event: dict, context: LambdaContext):

    all_parameters: Any = ssm_provider.get_multiple("/leo", recursive=False)

    for parameter, value in all_parameters.items():

        print(f"Parameter: {parameter}")
        print(f"Value: {value}")

Possible Solution
Need to pass the recursive parameter here: https://github.com/aws-powertools/powertools-lambda-python/blob/develop/aws_lambda_powertools/utilities/parameters/base.py#L210
Steps to Reproduce
Create parameters and deploy a Lambda with the provided code.
Powertools for AWS Lambda (Python) version
latest
AWS Lambda function runtime
3.12
Packaging format used
PyPi
Debugging logs
No response

Closing this issue! I was using modified local code which impacted this test. Sorry.


windows missing in ilia -p windows

Some applications, e.g. xterm, do not appear in the ilia -p windows list.
Reason: They  do not set the _NET_WM_WINDOW_TYPE property. According to https://specifications.freedesktop.org/wm-spec/1.3/ar01s05.html,   windows without this property should be taken  by the WM as if _NET_WM_WINDOW_TYPE_NORMAL is set.
Please change the test in src/windows/WindowPage.vala:traverse_nodes() so that  windows with window_type=="none" are included, too.
Thank you!

Hi @MHellmund , thanks for providing the background info and hints for implementation.  That made it pretty easy to follow your thinking and make the change.  I found that after allowing windows of type "unknown" to pass the filter that i3bar was also present. It doesn't make sense for i3bar to be in the window list.  For now, I'm explicitly excluding it via it's class property.  The change is building now into unstable, but I may opt to revert or change it if other issues pop up in testing.

Thank you!
One could argue that this is a bug in i3bar. According to the specifications, only 'normal' windows like xterm are allowed to not set the window type. Apps like i3bar should set it to 'dock' or 'desktop', imho.
Perhaps the best solution for ilia would be some config mechanism, where users can include/exclude windows as they like
according to class properties, similar to the i3 config?


[Feat] ADD an image editor app

Description
@beRajeevKumar I would like to work on this issue please assign me this. It is a simple image editor built with HTML, CSS, and JavaScript, allowing users to adjust image properties like brightness, contrast, saturation, grayscale, inversion, sepia, hue rotation, and blur using sliders. Users can upload images, apply edits, reset changes, or save the edited image. The project highlights basic web-based image manipulation using vanilla JavaScript. It also focuses on clean, responsive design, ensuring usability across various devices.
I have a similar project like this : https://github.com/Edasgh/Vanilla-Js-Projects-from27thJune/tree/master/Projects/image-editor
And here is the live link : https://image-editor-with-html-css-js-rspn.netlify.app/
@beRajeevKumar Please assign me this gssoc-ext level 3 or level 2 tags
Thank You
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I'm a GSSoC'24-Extd contributor
[ ] I'm a Hacktoberfest'24 contributor
[X] I am willing to work on this issue (optional)

@beRajeevKumar Sir, kindly look into this issue


Port to PySide6

Fixes #1215
Fixes #1220
This PR upgrades opentimelineview to work with PySide6. I believe most of these changes are also compatible with PySide2 except for these:

from PySide6
QtGui.QAction

I'm not very familiar with Python so I'm not sure if there is a way to support both PySide2 and PySide6?
A screenshot of otioview running with PySide6 on an Apple M1:

That's awesome! I was much closer to the finish line than I thought, although I was stumped on the regexp. Unfortunately, I think we are stuck with pyside2 for a while for some users, I wonder what a strategy might be to work with both? Maybe we could land this on a pyside6 branch so we can start exercising it while we discuss what to do about 2?

Codecov Report

Merging #1221 (a143d1f) into main (8f93157) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1221   +/-   ##
=======================================
  Coverage   86.15%   86.15%
=======================================
  Files         196      196
  Lines       19624    19624
  Branches     2302     2302
=======================================
  Hits        16907    16907
  Misses       2159     2159
  Partials      558      558

Flag
Coverage Δ

unittests
86.15% <ø> (ø)

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

Continue to review full report at Codecov.

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

Yeah, the regexp stuff was a bit confusing, though I do have to say Qt did a nice job documenting the other stuff that was deprecated.
I did a bit of searching and it looks like this can be used to support both PySide versions:
try:
    from PySide6 import QtWidgets, QtGui, QtCore
except ImportError:
    from PySide2 import QtWidgets, QtGui, QtCore

Do you know if something similar would work for the QtGui.QAction statements?

I added the try/except for the PySide2 and PySide6 imports, and realized I could also do the same for QAction. I think this will work now for both versions, but I haven't tried it with PySide2 yet since that doesn't seem to be available on my mac.

I think that try/except business is the right approach.
That just leaves QRegExpr, vs QRegularExpression, since I assume QRegularExpression doesn't exist in PySide2? Perhaps just using re is the right answer there?

I tried with PySide2 on my Linux box and it looks like QRegularExpression is supported. According to the Qt docs QRegularExpression was added in Qt 5.0.
I also added a small update to the quickstart docs about supporting PySide2 and PySide6. It looks like README.md and setup.py also reference PySide2, but maybe that's OK for now since PySide2/Qt5 is probably the main use case?

If it's possible ~ for setup.py to default (for now) to PySide2/Qt5 except on M1, where it should use PySide6/QT6 ~ I think we'd have the best out of the box experience.

I wonder what notes would be most useful in the README? Should setup.py also take a flag to allow PySide6 as an installation preference?

I'm not familiar with setup.py, is that specific to OTIO or part of Python?

It's the install script for Python that exists at the root of this repo. It specifies which PySide to fetch here:
https://github.com/PixarAnimationStudios/OpenTimelineIO/blob/8f93157e2777536c2f90a871b21edbc492698a29/setup.py#L359
It's typical to invoke it via something like python setup.py install

@meshula something like this could do it:
[
    'PySide2; platform.machine=="x86_64"',
    'PySide2; platform.machine=="aarch64"'
]

Potentially more complex markers could be used.

I think that'll cover the use cases we know about!

I modified setup.py and was able to run python -m pip install . on both my x64 Linux workstation and M1 laptop.


Expose isCircuitBreakerOpen as 0 and 1 instead of boolean string

We are using a KPI that can accept number only for KPI.   Can you change the code to expose 0 and 1 instead of boolean string true/false in the HystrixServoMetricsPublisherCommand.java?  I can also contribute with a pull request.  Let me know.  Thanks.

I am referring to the following class.
HystrixServoMetricsPublisherCommand.java

Changing it is not an option, as that breaks any current consumers.
If I were you, I wouldn't consume this data at all.  The number of commands that get executed and short-circuited is already available, and is a generally more useful metric.  Do you agree with that?

Got it.   I can monitor the short-circuited count to get the same info.   That will work.  Thanks.

To be clear, it's not the same.  The isCircuitBreakerOpen measures the amount of time that a circuit is open, while comparing countSuccess and countShortCircuited measures the command invocations which passed through the circuit-breaker or got short-circuited.  IMO, the latter is more useful.

Got it.   In this case, I am looking for "rate of change" with countShortCircuited to detect anomaly.   So it will work for us.   Thanks for the clarification.


Looking for Maintainers

Hi all!
I no longer have the time or motivation to manage the rust-portaudio crate. These days, most of my efforts have been going into CPAL - a pure-Rust alternative. As a result, I find it difficult to prioritise issues and PRs here.
If anyone would like to step in as the maintainer for the crate they would be more than welcome. I'd be happy to add them as an administrator to the RustAudio organisation if they are not already so.

I volunteer to take ownership of this crate in the interim for maintenance purposes and bugfixes. If there's someone more excited about adding new features, happy to pass on ownership.

I could consider taking ownership of RustAudio/synth, let me know.

I'd like to take ownership of rust-portaudio if the offer is still open.

Thanks all!
@mcginty Apologies for not replying here - I sent an invite a while back, hopefully you received it.
@Mec-iS I've been meaning to add a deprecation notice to RustAudio/synth for a while now - I think in retrospect it's quite convoluted for what it achieves, especially considering how much more concisely it could be written again now that dasp is around, but it was a fun way to learn Rust and if you'd like to hack on it I'd be happy to accept PRs :)
@wmedrano thanks, it is indeed! I've just sent you an invite to the RustAudio portaudio team.


Explain how leftover files and directories are meant to be interpreted if jobs fail

If something fails, the user is left with a lot of files and directories. It took me a while to figure out what to do with that, maybe we should add to the README how to interpret these directories (e.g. running_analysis)

There is a script to cancel all jobs of a prod.
Shall we add a "clean tree" to that script and document it for the end user?
@garciagenrique


cut.ly

Energized Protection - block ⚡

Let's make an annoyance free, better open internet, altogether!

Issue Submit Form

  Provide the following info properly, which will help us to resolve your issue quickly.

Issue(s):
Type x in between [ ] and make sure there isn't any space between brackets. Example; for Your Selected Issue(s), type like this - [x]
You can select more than one category of issues if you need to!

[X ] Whitelist
[ ] Blacklist
[ ] App Broken
[ ] Website Broken
[ ] Request
[ ] Other Issue

Pack(s):
Write the name of the pack(s) you are using.

Pack(s) Name:  Ultimate

Extension(s):
Also name the extension(s) if you are using any. If you don't then leave it blank.

Extension(s) Name:

Domain(s):
If you are submitting this issue for whitelist/blacklist issue, send us the domain(s) for whitelisting/blacklisting here. Kindly use the Code Tag to prevent tracking.

Domain(s): cut.ly

Your Config:
Just to ensure there is no issues or conflicts with other app/software/magisk module/extension/source list.
Make sure you are running Energized Protection Service only.

Client: PiHole

Version: 5.7

Detail:
Write us a lil bit more about your issue or query. You can attach any screen shot or log of the issue or advert, this will help to highlight it.

Your Issue Detail:
I believe cut.ly is a false positive
It is just a URL shortening service and is not inherently malicious

Thank you for making Energized Protection great, with your kind help!
A project by Ador with ❤

Is this still an issue? I don't see it in the unified lists anymore


Kotlin Import does not work

Adding the import code to my build.gradle file did not allow me to use Fuzzywuzzy functionality.
sourceSets {
  commonMain {
      dependencies {
          implementation "com.willowtreeapps:fuzzywuzzy-kotlin:0.1.1"
      }
   }
}

Only after adding the import from the Java port was the library recognized.
repositories {
    jcenter()
}
dependencies {
    implementation 'me.xdrop:fuzzywuzzy:1.3.1'
}

Same it is not working for me either. How did  you make it work?

It's impossible to use this library.

It's impossible to use this library.

It looks that something is wrong with the published artifact on maven, but you can build the library on your own with ./gradlew jvmJar. This generates fuzzywuzzy-kotlin-jvm-0.1.1.jar inside fuzzywuzzy-kotlin/app/build/libs/.
Then you place the jar in a folder of your project (e.g. libs) and add the local dependency en gradle:
 implementation files('libs/fuzzywuzzy-kotlin-jvm-0.1.1.jar')

I was previously using https://github.com/xdrop/fuzzywuzzy but its license is too restrictive. Thanks for the fork!

Happy to see people using/wanting to use this lib.  I'm no longer working for willowtree, which has the access to publish new artifacts.  If you bug them enough I'm sure and intern or some awesome android eng can update the lib and publish.  Alternatively copy in the code, or fork it, update and make a PR to get some attention
@sheaam30 @konwinkler @imbeyondboredom

@fgsalomon @patjackson52 I ported the swift version to kotlin. I might release a new version under my public organization.


move to parameterized classes

We needed more flexibility in :

choosing the source, so we can use a local mirror
where the symbolic link is created.

only the check with puppet 4 fails due to version conflict :
ERROR:  Error installing rubygems-update:
There are no versions of rubygems-update (= 3.0.3) compatible with your Ruby & RubyGems
rubygems-update requires Ruby version >= 2.3.0. The current ruby version is 2.1.0.


Don't allow constructing a RouteId with invalid uuid

I'm not sure if this is the right way to go about this since the result is being thrown away and reparsed later.
A few days ago, a User was trying to list a routes Euis and being met with an unauthorized request signature error, when it was a route_id typo.
Making sure a user provides a valid Uuid as early as possible can provide better guidance towards using the system. Normally the route id is not attempted to be parsed until the db is about to be hit where other concerns are more pertinent. This leaves Uuid parsing errors mostly to be overwritten as general authentication errors.

i think this is definitely a reasonable thing to expose to a user to improve their ability to do error handling but i'd lean more toward the alternative implementation i put up in https://github.com/helium/oracles/pull/598 which just reuses the existing error instead of swallowing the details in the rpc handler's map_err()

Closing in favor of https://github.com/helium/oracles/pull/598


unexpected behavior animationplayer seek( )

Godot version
3.3.stable
System information
windows 10
Issue description
animationplayer.seek(0,true) looks at keyframe later on in animation track to determine the state of an object.
This is unexpected ; if no keyframe is present in a track at time 0, the animationplayer should determine the state from the code, or, if not specified in code, from the scene nodetree. Instead the animationplayer is using the first available keyframe in the track.

Steps to reproduce
. disable coll shape from code
. animationtrack with 1 keyframe @1 sec : toggles coll shape activity
. use animplayer.seek(0,true)
Minimal reproduction project
test_animplayer_seek.zip

3.3.stable

Godot 3.3.x is not supported for bug fixes anymore, so please upgrade to 3.4.3 and check if the issue still occurs there.

I hadn't heard of capture  mode before, but after some searching, I found this explanation :
"When these tracks are set to capture, the current property value in the object is remembered. From there onward, it will blend with the first animation key found ..."
So, no, this is not the desired behavior. The value of the 'disabled' property was set from code. It should not change (or blend) to some other value until the keyframe that changes this is reached.

So, no, this is not the desired behavior. The value of the 'disabled' property was set from code. It should not change (or blend) to some other value until the keyframe that changes this is reached.

Did you try it in the MRP? It outputs "True" when using Capture mode.


add json mimetype header for IG response

What this PR does / why we need it:
correct mimetype response for graph router when json is used
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #2401
Type of changes
Please delete options that are not relevant.

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

Feature/Issue validation/testing:
Please describe the tests that you ran to verify your changes and relevent result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.

[ ] Test A

[ ] Test B

Logs

Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Checklist:

[ ] Have you added unit/e2e tests that prove your fix is effective or that this feature works?
[ ] Has code been commented, particularly in hard-to-understand areas?
[ ] Have you made corresponding changes to the documentation?

Release note:

@rachitchauhan43 done

@yuzisun / @sukumargaonkar : LGTM for a short term fix, specifically for json responses.
As main problem is that mimesniff is not able to detect json content-type so setting the Content-Type as application/json in case of valid json response body.
Long term fix will be to propagate last node's response's Content-Type as IG's response Content-Type to make sure all the content-types supported at ISVC level are supported at IG level too.
WDYT ?

re: #2401

Thanks @krazik-intuit !
/lgtm
/approve


Startup time seems to have gotten much longer

VSCode Version: Code 1.17.2 (b813d12980308015bcd2b3a2f6efa5c810c33ba5, 2017-10-16T13:59:46.104Z)
OS Version: Windows_NT x64 10.0.16299
Extensions:

Extension|Author (truncated)|Version
csharp|ms-|1.12.1

Steps to Reproduce:

Open code
Wait.  An older (2-3 months ago) version of Code in one of my VM's loads in 3-4 seconds.  The current version Code on the physical machine takes 29 seconds.

Reproduces without extensions: Yes/No
Yes

Can you attach the readings from F1 > Startup Performance and can you also create a startup performance profile by starting like this code --prof-startup

First start after system restart is extremely long.

Two issues here, (1) extremely slow starting of additional processes on your machine. It takes around 5seconds (blocking) to start the extension host, file watchers etc... and (2) it does take a long time to set the menus (which is noticeable given the horrible spawn times)

The slow spawning issue is tracked here #24884, the slow menu here #21964. I am closing this as a dupe of those two issues. Thanks for reporting!

You wanna tweak your AV software as have heard this might be the cause for this: https://github.com/Microsoft/vscode/issues/24884#issuecomment-294877147

@jrieken  I do not know about reporter, but I do not have AV other than built in Windows 10.


[Test Proxy ]Add header regex sanitizer

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-core-test


add sql_definition option to drop_view call

... so reverting create_view with sql_definition would not fail

The intention is for sql_definition to be used only by the schema loader/dumper. In fact, we've kicked around the idea of removing it all together. I'd encourage you to use create_view with a specific version. The differentiator for Scenic is that it lets you keep a versioned history of your view.
If we were to accept sql_definition here, what would we do for update_view?

I use sql_definition for generated sql which cannot go into files.

Can you give me a more concrete example? I'm not entirely following. How is the SQL generated and why couldn't it live in a file?

In my project, I have to create 40 similar views for timeshifted program_events, so the querying would be easier. One per each utc offset. It seems easier to me to generate sql in migration file rather than generate 40 raw sql files in this case.

So, what do you think?

I'm not sure just yet. There's a few tricky isses that have arisen post 1.0 and I'd like to think through those before changing any public API right now.

I'm inclined to say that in this case you should consider using up and down methods in your migration. I'm hesitant to make the sql_definition part of the API more substantial because it's really meant to exist for the schema dumper's purpose only and it's something we may decide to move away from.
If you have it handy, what is the error you got? We may need to do some work so that it raises IrreversibleMigration in these circumstances.
I'm going to close this for now, but please let me know if you have anything more to add to the argument.


Windows build instructions broken

Description
Build from source instructions for Windows point to MAC OS build:
https://mxnet.incubator.apache.org/versions/master/install/index.html

This has been fixed. @lebeg can you confirm and close if it works for you?

I like the 'Will be available soon.'


Re-order categories list bug [Test-categories] Branch

Hello, what is the purpose exactly for use "rank" in update productCategories list?
I cannot save my new categories order, it works only when I remove it.
await client.admin.productCategories.update(dragItem.id, {         parent_category_id: parentId,         rank,       })
https://github.com/medusajs/admin/blob/4cfa3323e85262193be0b5b908b756aceb122e47/src/domain/product-categories/components/product-categories-list.tsx#L51

@pumbaaisacoder What admin repository are you using? The latest changes to Product Categories can be found in the core repository and are part of the Release Candidate for 1.8. Therefore, you might experience issues with our newest features, if you are using this repository which will be deprecated very soon.
@riqwan Will you assist here?

@pumbaaisacoder rank is a column that we use to set order under a category node. Categories won't work correctly in the admin repository you've linked, you will have to use the admin from core. Its pretty quick to get started, the release candidate link shared by Oliver has the instructions.


how to turn off hotkeys on  focus when typing

When this gets fired...
const keyHandlers = {
      focusInput: () => {
        document.querySelector('input').focus();
        return false;
     },
}

How can I keep HotKeys from firing as I type in the focused input field?
We're checking to see if there is something built-in before we find a workaround.

You could track the if the input has focus and then simply return in your handler functions.  See this: https://codesandbox.io/s/18mppo62kj

Yeah, @barrettg! That works. 😎


Feature request: If no text is selected, use the word that the cursor is on

If no text is selected and I run one of the commands, I need to type in something to search for. Would it be possible to use the word that the cursor is on? Either by opening the URL directly, or by pre-populating the search box with this word?

Hey @bveldkamp thank you for this.
Will dig if this even possible considered the Vscode API. On top of my head this would be a optional behavior with a config  like onFocus
Use cases:

activateInputBox: true, onFocus: false, no text selected -> empty input box is opened.
activateInputBox: false, onFocus: true, no text selected -> search with text on focus.
activateInputBox: true, onFocus: true, text is selected -> search with selected text.
activateInputBox: false, onFocus: false, text is selected ->  search with selected text.
activateInputBox: false, onFocus: false, no text selected -> error/hint

What do you think?

@platinumjesus Looks good to me


FTPFileProvider protocol exception?

Hi amosavian,
first of all I would like to thank you! This library is awesome.
However, I think I found an issue which may happen with server responses. Long time ago I developed a small http-server and discovered that not all servers are "literally" following the specification. Sometimes there is whitespaces missing or just a dash inserted so that the parser gets confused. I am not sure if this is the case here. Maybe you could have a look at this:
In the
func ftpRetrieve(_ task: filePath: from position: length: onTask:  onProgress: completionHandler:)
the framework calls the closure
{ (response, error) in

           do {
                        if let error = error {
                            throw error
                        }

                        guard let response = response else {
                            throw self.urlError(filePath, code: .cannotParseResponse)
                        }

                        if !(response.hasPrefix("1") || response.hasPrefix("2")) {
                            throw FileProviderFTPError(message: response)
                        }

                    } catch {
                        self.dispatch_queue.async {
                            completionHandler(error)
                        }
                 }

I was curious what happened, because "officially" the connection timed out. I did a debug-dump of the variable response. The result was:
200 Type set to I\r\n350 Restarting at 0. Send STORE or RETRIEVE to initiate transfer\r\n227 Entering Passive Mode (212,227,24,12,218,208).
So it looks like the server works properly and accepts the calls from your framework. Is this probably a case which could be covered by this framework?
Or did I misunderstand how it works? Because I assume the callback is correct. But no data is being transmitted, the frameworks stops with a timeout.

I don't know what's your point exactly. But timeout is handled by these three lines in the closure you mentioned:
if let error = error {
    throw error
}

Hi amosavian,
thank you for your quick reply. Yes, I was a little bit sloppy in my text, sorry for that. You are right, the control connection works perfectly, but the data connection doesn't work and times out.
I hie read similar complaints in other issues listed here. Probably you could help me pointing out where the parallel data connection is handled in your code, then I can do some debugging. Maybe there is some specialties with some servers, why you can't recreate that error.
I already tried .extendedPassive. But in that case absolutely nothing happens. Only .passive works for me.
Can you tell me where in the code the data transfer is initiated? I am sometimes confused while searching in that code. It became a really complex framework. If I find the problem, this could probably solve some of the other open issues.

ftpDataConnect() method establishes data connection.

Cool, thank you. I will do some debug traces and let you know what I can find.

@JackPearse I have the same issue in my test. The problem is not establishing data connection. I think it's related to locks. I will address them

Now I have a more detailed insight. However, I still don't understand why this happens.
This is the log I could trace
copyItem -> ftpLogin(task) closure: starting ftpDownload on task OK
copyItem -> ftpLogin(task) -> ftpDownload(...) OK
copyItem -> ftpLogin(task) -> ftpDownload(...) starting ftpRetrieve
copyItem -> ftpLogin(task) -> ftpDownload(...) -> ftpRetrieve(...) was entered
copyItem -> ftpLogin(task) -> ftpDownload(...) -> ftpRetrieve(...) -> attributesOfItem(...) was called
copyItem -> ftpLogin(task) -> ftpDownload(...) -> ftpRetrieve(...) -> attributesOfItem(...) -> ftpLogin(taks) -> completion hanlder was called
copyItem -> ftpLogin(task) -> ftpDownload(...) -> ftpRetrieve(...) -> attributesOfItem(...) -> ftpLogin(taks)  command: LIST /testfolder/Testfile.json
(ftp client waits for 20 seconds)
copyItem -> ftpLogin(task) -> ftpDownload(...) -> ftpRetrieve(...) -> attributesOfItem(...) -> ftpLogin(taks) -> execute() completionHandler was called
copyItem -> ftpLogin(task) -> ftpDownload(...) -> ftpRetrieve(...) -> attributesOfItem(...) -> ftpLogin(taks) -> execute() ------> error: defer war called
error: Optional(Error Domain=NSURLErrorDomain Code=-1017 "(null)" UserInfo={NSErrorFailingURLStringKey=ftp://<myhost>:21/, NSURL=ftp://<myhost>:21/, NSErrorFailingURLKey=ftp://<myhost>:21/}), where <myhost> ist the correct host name of my server.
copyItem -> ftpLogin(task) -> ftpDownload(...), onTask was called
copyItem -> ftpLogin(task) -> ftpDownload(...), progress Date has been set
(wait for 5 seconds)
copyItem -> ftpLogin(task) -> ftpDownload(...)  completionHandler closure was called with error: NSURLErrorDomain error -1001

Do you have any idea what could have happened here? I could try some deeper search, but right now I am lost and missing an idea where to search.

I found out what is happen and fixed it. There is another minor issue to fix and I will push commit after fixing.
 That's quick. Thank you very much for the professional diagnosis. It was really fun to browse your code. A really elegant framework! Thank you very much.

Thank you so much. Indeed this framework needs heavy refactoring.
I could not fix the other issue, which caused corrupted file to be uploaded with size less than source file. I will work on it and will inform you when a fix becomes available.

@JackPearse please find latest commit

Works like a charm!


Be able to build visit with adios without MPI

Description
Resolves #17565

This change should allow visit to build adios without MPI.
Type of change

[x] Bug fix
[ ] New feature
[ ] Documentation update
[ ] Other

How Has This Been Tested?

Builds successfully, and determined that existing MPI functions appearing in the no_mpi libraries are just stubs.
Checklist:

[x] I have followed the style guidelines of this project.~~
[x] I have performed a self-review of my own code.~~
[x] I have commented my code where applicable.~~
[x] I have updated the release notes.~~
[ ] I have made corresponding changes to the documentation.
[ ] I have added debugging support to my changes.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] I have confirmed new and existing unit tests pass locally with my changes.
[ ] I have added new baselines for any new tests to the repo.
[x] I have NOT made any changes to protocol or public interfaces in an RC branch.~~
[x] I have assigned reviewers (see VisIt's PR procedures for more information).~~

How can I test this other than watching it build successfully?

How can I test this other than watching it build successfully?

Well, my first thought is that after seeing a build complete without error, I think the next step is to test the build by trying to read adios data into a serial engine. But, I see that a) we don't have any adios test data in our repo (we probably could go find some and I went looking for some .bp files and wasn't able to find any) and b) we don't have a test in src/test/tests/database/ for adios either.
So, short of that, one thing I would do us run nm command on all the stuff it installs in lib dir and grep -i mpi_. So, so something like...
nm <path-to-adios-install-point/lib/*.{a,so,dylib,dll} | grep -i mpi_

When I do something similar (with cut, sort and uniq filters) on my adios_ser install (which should be serial only so no MPI_ symbols), on my macOS system, I get...
nm /Users/miller86/visit/third_party/3.2.0/adios2-ser/2.5.0/i386-apple-darwin18_clang/lib/*.{a,so,dll,dylib} | grep -i mpi_ | cut -d' ' -f3 | sort | uniq
_MPI_Allgather
_MPI_Allgatherv
_MPI_Allgatherv.cold.1
_MPI_Allreduce
_MPI_Allreduce.cold.1
_MPI_Barrier
_MPI_Bcast
_MPI_Comm_dup
_MPI_Comm_f2c
_MPI_Comm_free
_MPI_Comm_rank
_MPI_Comm_size
_MPI_Comm_split
_MPI_Finalize
_MPI_Finalized
_MPI_Gather
_MPI_Gather.cold.1
_MPI_Gather.cold.2
_MPI_Gather.cold.3
_MPI_Gather.cold.4
_MPI_Gather.cold.5
_MPI_Gather.cold.6
_MPI_Gatherv
_MPI_Gatherv.cold.1
_MPI_Get_processor_name
_MPI_Init
_MPI_Initialized
_MPI_Irecv
_MPI_Isend
_MPI_Recv
_MPI_Reduce
_MPI_Reduce.cold.1
_MPI_Scatter
_MPI_Scatter.cold.1
_MPI_Scatter.cold.2
_MPI_Scatter.cold.3
_MPI_Scatter.cold.4
_MPI_Scatter.cold.5
_MPI_Scatter.cold.6
_MPI_Scatterv
_MPI_Scatterv.cold.1
_MPI_Send
_MPI_Type_size
_MPI_Type_size.cold.1
_MPI_Wait
_MPI_Wtime
_SMPI_Allgather
_SMPI_Allgatherv
_SMPI_Allreduce
_SMPI_Barrier
_SMPI_Bcast
_SMPI_Comm_dup
_SMPI_Comm_free
_SMPI_Comm_rank
_SMPI_Comm_size
_SMPI_Gather
_SMPI_Gatherv
_SMPI_Reduce

Thanks Mark. I'll try that.

I accidentally had it pointed to develop,

I do that a lot 😉

I'm not too sure what to make of this, but I get the following:
bash-4.2$ nm temp/third_party/adios/1.13.1/linux-x86_64_gcc-7.3/lib/*_nompi.a | grep -i mpi_ | cut -d' ' -f3 | sort | uniq | grep -v nompi

MPI_Allgather
MPI_Allreduce
MPI_Barrier
MPI_Bcast
MPI_Comm_dup
MPI_Comm_f2c
MPI_Comm_free
MPI_Comm_rank
MPI_Comm_size
MPI_Comm_split
MPI_Error_string
MPI_File_close
MPI_File_get_size
MPI_File_open
MPI_File_read
MPI_File_seek
MPI_Finalize
MPI_Gather
MPI_Gatherv
MPI_Get_count
MPI_Get_processor_name
MPI_Init
MPI_Initialized
MPI_Scatter
MPI_Scatterv
MPI_Wtime

Is this cause for concern? I guess ideally there is nothing related to MPI in the libraries being used for a serial install of adios, but then I'm not sure what these things do. The other wrinkle is that the parallel build asks for some libraries that have _nompi in the name, so maybe these should be here?

Is this cause for concern? I guess ideally there is nothing related to MPI in the libraries being used for a serial install of adios, but then I'm not sure what these things do. The other wrinkle is that the parallel build asks for some libraries that have _nompi in the name, so maybe these should be here?

My first thought is YES its a problem. However, there is a slight chance it might not be. Adios might handle the _nompi case by defining its own internal set of MPI symbols  that do  the right thing in serial. I've seen this done in many other codes before. Basically, Adios could be spoofing the parts of the MPI API it uses for the _nompi case.
But, if that is true, they would have to make darn sure those symbols are internal only to any library a caller would link to otherwise, any linking scenario where a caller using the real MPI library would experience a symbol collision. Because of that risk, I think its highly, highly unlikely this is what Adios is actually doing and I think those MPI symbols are from the real MPI library and so something has gone amiss here.
Another tool to use is ldd on the *.so files you created. That will list the dependent libs and if you see anything listed there that is the real MPI library, then its still a problem.

@markcmiller86 Eric and I investigated this and it appears that the MPI functions appearing in the no_mpi libraries are just stubs. I'll go ahead then and take this out of draft. We can discuss further if needed.

MPI functions appearing in the no_mpi libraries are just stubs

OMG...really 😕 ... very surprised to learn that is how Adios is coded. So, its the second case I mentioned above, then, right? The MPI interface is being spoofed internally to build Adios without mpi?

The MPI interface is being spoofed internally to build Adios without mpi?

That's what we saw. We didn't look at every function name but we looked at a bunch.

merged into develop in #17607


Error When running movebase with Husky

Hi there,
I am writing my own package to spawn a husky and make it do a random walk. I obtained the random walk code from https://raw.githubusercontent.com/ras-sight/hratc2015_entry_template/master/examples/cpp/random_walk_navigation.cpp
When I run the code, I get the following error:
Msg Connected to gazebo master @ http://<IP_ADDRESS>:11345
Msg Publicized address: <IP_ADDRESS>
[ INFO] [1439967219.405517496]: Laser Plugin (robotNamespace = /), Info: Using the 'robotNamespace' param: '/'
[ INFO] [1439967219.405609058]: Starting Laser Plugin (ns = /)!
[INFO] [WallTime:<PHONE_NUMBER>.407472] [0.000000] Spawn status: SpawnModel: Successfully spawned model
[ INFO] [1439967219.407954641]: Laser Plugin (ns = /)  <tf_prefix_>, set to ""
Dbg Plugin model name: -x
[ INFO] [1439967219.438324459, 0.023000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1439967219.473397073, 0.056000000]: Physics dynamic reconfigure ready.
[spawn_husky_model-4] process has finished cleanly
log file: /home/toshiba/.ros/log/2802f36c-460c-11e5-827c-587f66e212a4/spawn_husky_model-4*.log
[ INFO] [1439967220.436458703, 1.006000000]: Waiting for the move_base action server to come online...
[ WARN] [1439967224.459399804, 5.023000000]: Waiting on transform from base_link to map to become available before running costmap, tf error:
What am I missing here ? All my .yaml files are from the husky_navigation package as it is with no changes and so my husky_urdf where the only thing I changed is adding a hokuyo description to its urdf.
As in the github repo I posted above I want to be able to use Movebase to send a goal position to husky. Please advise how to fix this error to simulate a random walk for a husky.

I am using ROS Hydro with Ubuntu 12.04 Precise and Gazebo 1.9

The husky stack underwent significant rework for the indigo release, and the navigation demos were written with the new structure in mind. I would recommend running in the simulator in ROS Indigo from debians.

I managed to fix that bug but I have one more bug now. Husky spawns in Gazebo but it just stays frozen. It doesnt move when I launch move base. I wrote the code following the link https://github.com/ras-sight/hratc2015_entry_template/blob/master/examples/cpp/random_walk_navigation.cpp
when I do rostopic echo /husky/cmd_vel I see no output. Any suggestions on how I can fix this ? My project requires me to stick to ROS Hydro so I cannot upgrade the version. Perhaps with some help with move_base I can make things work in ROS Hydro itself.

You should investigate where move_base is outputting it's cmd_vel topic.

Yeah you were right. I just looked at that code again and there is no function to publish velocities to cmd_vel topic. I am trying to visualize a Ackermann Vehicle from https://github.com/wunderkammer-laboratory/ackermann_vehicle/blob/master/ackermann_vehicle_gazebo/launch/ackermann_vehicle.launch to show up beside my husky on the same Gazebo world, but everytime I can only see my husky but not the other robot. My launch file is hosted at http://pastebin.ca/3118965. Is there something I need to change to see both the robots together ?

So when I can  goal position using a Move_Base setup from your repo how can I make Husky go to that place while avoiding the obstacles using a hokuyo laser scanner ?

The navigation demos in husky_navigation work out of the box, so you should investigate how those are hooked up if you're trying to implement something on your own.


I agree button on signup page to access dataset is deativated

Hi,
The access page was working fine till last week. However, right now the I agree button is deactivated even after filling in all fields and scrolling/ reading the terms to the end. Please help.

i have the same problem.Do you solve it?

I encounter the same problem. Have you solve it?

Same issue. Doesn't work on windows but works on ubuntu. Changing browser doesn't work. Wierd.

@SM1991CODES @momoyo126 @Longzhong-Lin @daqi222 Thank you for reaching out. Our team has made a fix on the website. Please make another attempt and let us know if you run into any issues.

I am having same issue. Please lambert, can you help?


Create invoke tasks.py file

Similar to https://github.com/snowplow/spark-example-project/blob/master/tasks.py
With commands:
$ invoke create_dynamodb_table region table-name other-args
$ invoke create_kinesis_stream region stream-name shard-count other-args
$ invoke start_events region stream-name
$ invoke start_streaming_job config-file-path

The README should guide the reader through running each of these commands.

done


ISPN-6045: Fix transaction aware iterator remove

Fixed the problem where TransactionAwareKeyCloseableIterator did not set
the previousValue field, which made any calls to remove() throw NPE.
Additionally, the iterator now throws IllegalStateException if next()
has not been called, or remove() has been already called for the current
item as Iterator interface specifies.

@lamperi Thanks!  Not sure how I didn't notice the JIRA originally.  Unfortunately the code at [1] had it correct and wasn't copied to the tx part :(  Thanks again for noticing.
[1] https://github.com/infinispan/infinispan/blob/master/core/src/main/java/org/infinispan/stream/impl/RemovableIterator.java

Pulling...

Integrated... thanks @lamperi !

Thanks for the quick merge 👍


Add a longer timeout to file logger tests

Tests involving the file logger require writing and flushing to disk, which can be slow on Jenkins and lead to sporadic timeouts in unrelated tests. Increasing the timeout by default to 30 seconds for all tests involving the file logger.
Closes https://mosaicml.atlassian.net/browse/CO-664

The offending test (def test_threshold_stopper_eval) can probably be shortened significantly by monkeypatching state.current_metrics to return a 100.0

The offending test (def test_threshold_stopper_eval) can probably be shortened significantly by monkeypatching state.current_metrics to return a 100.0

This test doesn't require training convergence to pass; the MetricSetterCallback patches state.current_metrics according to the metric_sequence fixture. I changed the data configuration so training is effectively a no-op.


Dask map_partitions node

:information_source: This is in response to a discussion with @elijahbenizzy on discord.
This is an example of a use case that could be supported with some additional decorators.
The usecase is that a node takes one Dask data frame and possibly some other arguments (either Pandas data frames or scalars). Then, the node simply executes map_partitions on the dask input, broadcasting the remaining arguments.
For example:
def node(a: dd.DataFrame, b: pd.DataFrame, c: int):
    return a.map_partitions(_node, b, c, align_dataframes=False)

def _node(a: pd.DataFrame, b: pd.DataFrame, c:int):
    # actual logic for each partition `a`

could be:
# this probably should be designed better, I just want to give you an idea
@dask_partition("a")
def node(a: pd.DataFrame, b: pd.DataFrame, c: int):
    # logic

So that it could run that map_partitions automatically. It might need (at least optional) parameter to add meta to the function call.
Not entirely sure if there are some disadvantages of that, and what the value of it would be in general, but I wanted to document what we discussed.

@elshize Thanks for raising this. I think at some point we might have to provide "context hints" depending how things are being executed.
Questions to help me understand what the desired end state is:

What do you think the goal should be by providing such an annotation?
Is this a common thing one might want to do with dask?
How would this help you?

Otherwise my current train of thought is:

How does this impact code portability and reuse?
Is it being a decorator good or bad as to the original? Seems like that could be a yes.

Alternatively what about:
def _node(a: pd.DataFrame, b: pd.DataFrame, c:int):
    # actual logic...

@config.when(execution='dask')
def node__map_partitions(a: dd.DataFrame, b: pd.DataFrame, c: int) -> pd.DataFrame:
    return a.map_partitions(_node, b, c, align_dataframes=False)

@conf.when_not(execution='dask')
def node__regular(a: pd.DataFrame, b: pd.DataFrame, c:int) -> pd.DataFrame:
    return _node(a, b, c)

@skrawcz In general, having my own wrapper is not a big deal at all, so from this point of view, this would be a small improvement -- if it were generated from an annotation, for example.
But I was also thinking of how to run this type of thing with when dask already executes the hamilton DAG. (I am not very familiar with how it works, so please let me know if I get things terribly wrong.)
Let's say I have a bunch of nodes that do not operate on any Dask series/dataframe. One might want to run it such that each node is a delayed object and run it with Dask (I think this is possible at the moment, if not fully stable). What would then happen if one of the nodes itself needs to accept a dask dataframe? Would Dask resolve something like this out of the box correctly? As in, a delayed object of a Dask dataframe? I was under the impression that we'd need some support from Hamilton to do this. But maybe I'm wrong? Now that I'm writing this, I'm not sure anymore.
Essentially, I'm talking about a use case where there are a bunch of small nodes that could be done in parallel, but there's a larger data frame that does something with smaller data chunks, and this part should be parallelized within the node itself.
I hope that makes sense.

@elshize I want to say, what you ask for should already work in Hamilton, assuming you do things a certain way:

Distributing arbitrary code with dask ✅ we do this via functions.
Dask then also does distributed computing for you if you choose to call a function on one of their distributed types. Hamilton doesn't interfere with this either, but requires you to transform the data so it's distributed ✅

Essentially, I'm talking about a use case where there are a bunch of small nodes that could be done in parallel, but there's a larger data frame that does something with smaller data chunks, and this part should be parallelized within the node itself.

If you're instead asking for a way to apply Hamilton within a DAG node itself? Thoughts:

Do you have a code example to understand this a bit more?
I think you'd be limited by Dask's ability here in the end. Dask can distribute data, and then perform some computation over it, e.g. map reduce style. So you'd be limited in parallelization by how segmented the data is...
It might be possible to model this in Hamilton, e.g. instantiate a driver in a function node, which is itself within a Hamilton DAG, but I'm not convinced it would be helpful?

In case I am misinterpreting, and your question is actually about how do you mix and match data types? I think talking with code might help ground what we're talking about. So here's an example that reads in a file via pandas, but we wrote a function that operates over a dask dataframe. How do we connect the two?
import pandas as pd
from dask import dataframe as dd

#----- option 1 -- things might just "work" -- e.g. same API between dask and pandas used (with a caveat around how we do static type checking when building the DAG -- I believe with the DaskGraphAdapter pandas dataframes & dask ones are equivalent...)
def raw_data(location: str) -> pd.Dataframe:
     return pd.read_csv(location)

def processed_df(raw_data: dd.Dataframe) -> dd.Dataframe:
    # do some logic
    return processed_dataframe

# ------ option 2 -- we explicitly expect a pandas dataframe as input - and distribute it within the function
def raw_data(location: str) -> pd.Dataframe:
     return pd.read_csv(location)

def processed_df(raw_data: pd.Dataframe) -> dd.Dataframe:
    dd_data = dd.from_pandas(raw_data)
    # do some logic
    return processed_dataframe

# ---- option 3 - have two different load steps -- assuming API equivalence between pandas & dask
@config.when(env='local')
def raw_data__pandas(location: str) -> pd.Dataframe:
     return pd.read_csv(location)

@config.when(env='prod')
def raw_data__dask(location: str) -> dd.Dataframe:
     return dd.read_csv(location)

def processed_df(raw_data: dd.Dataframe) -> dd.Dataframe:
    # do some logic
    return processed_dataframe

# ---- option 4 - have an intermediate step
def raw_data(location: str) -> pd.Dataframe:
     return pd.read_csv(location)

def raw_data_dask(raw_data: pd.Dataframe) -> dd.Dataframe:
     return dd.from_pandas(raw_data)

def processed_df(raw_data_dask: dd.Dataframe) -> dd.Dataframe:
    # do some logic
    return processed_dataframe

As you can see there's quite a few ways to model this....
What I'd be thinking about is:

What functions make sense to curate into separate modules? E.g. instead of @config.when you just switch the module you build the DAG from.
If I need to go from "local" data to "distributed" data then modeling that step as an explicit function seems fine to me.

Hey, sorry for late reply, I've been quite busy. I'll need some time to experiment with Dask and Hamilton. It's possible that you can already do what I want... I'll try to find some time next week to give this a closer look and educate myself first; and if I can't figure it out, I'll come back with some code to illustrate.

@elshize any updates on this? I like the general idea of having graphadapters/the framework enable alternation between, say, pandas and dask -- still need to scope it out more. The "intermediate step" @skrawcz described could easily be a part of the framework -- if we're aiming at abstracting the transformations from the infra, figuring this out could be a nice way -- thus enabling you to easily write a new function and scale nicely.
That said, other approaches to scale pandas (modin, for instance) could do this as well...

@elijahbenizzy Apologies, I got busy and then it slipped my mind; I haven't had any time at work to revisit this; but now reading this again, I have some thoughts.
I think what I meant to begin with is much simpler than what we started discussing eventually. I was thinking of doing with dask/pandas something similar to what is done with pandas df/series. For example, when you load data to a DataFrame, you can split by columns to operate on columns independently in nodes. What I had in mind is somewhat similar but instead of splitting dask data frame to pandas, I imagined having an annotation when I'm using that dask data frame as argument in another node to say: this is a dask data frame, but treat it as Pandas in this function, and treat it as applied to all partitions of that dask df. You could even imagine this being inferred from the type (if used pandas as argument, treat as processing per partition) but not sure if this type of implicit mechanism is a good idea, might lead to bugs.
Just want to clarify, this is not a functionality that cannot be implemented currently, as in I can have a node that takes dask and map partitions with another function. But splitting columns can be implemented the same way by taking the entire frame and extracting column. It's an ease-of-use kind of thing.
Having a simple annotation to map partitions without the boilerplate sounds like a good idea to me. That said, I might be missing some downsides, or you might simply not think it important enough use case to implement it. This is just a suggestion, I can certainly live without it if I have to :)

@elshize just getting back around to this.

I imagined having an annotation when I'm using that dask data frame as argument in another node to say: this is a dask data frame, but treat it as Pandas in this function, and treat it as applied to all partitions of that dask df.

This is interesting. I think this could be possible, especially with a custom graph adapter. As you point out, we'd just need to think whether this helps and leads to less bugs, rather than more...
@tag(dask_functionality="map_partitions")
def named_function(name_of_dataframe: pd.DataFrame, other_arg: int, other_scalar: float) -> pd.DataFrame:
      # implicitly this will cause the graph adapter to do the following if run with the appropriate graph adapter
      # result = name_of_dataframe.map_partitions(named_function, other_arg, other_scalar)
      # if run with plain graph adapter, then the above would not happen.
     ...

@skrawcz Yeah, this is essentially what I was thinking of.
Again, this is nothing crucial in the sense that it doesn't provide a new functionality. To me, it makes sense, and a nice thing to have. I'm imagining a scenario where I'm working on Pandas DFs/Series and at some point decide that one part of it is large, so instead I load something with dask, and just add the annotation to what I've already implemented.
I suppose ultimately it would boil down to how difficult it is to implement and/or how it fits with the rest of the codebase. For example, it's probably not important enough to rewrite some internal mechanisms to achieve it. I'm not that familiar with the codebase itself, but knowing how annotations work in general, the implementation should be straight forward...

We are moving repositories! Please see the new version of this issue at https://github.com/DAGWorks-Inc/hamilton/issues/32. Also, please give us a star/update any of your internal links.
Note that everything else (slack community, pypi packages, etc...) will all be the same.


Better handling of duplicate symbols at the same address

We can have multiple symbols at the same site. We need better handling in the UI for this. We should give some indication that there are multiple names for this somehow, this probably needs a lot of discussion to come to a good UI.
Additionally it would be great if we had a system very similar to "Call Type Override" but "Call Name Override" This would allow you at the call site specify on of the other symbols at the target.

Duplicate https://github.com/Vector35/binaryninja-api/issues/4902