running pandas groupby in an ipython console within spyder 2.3.6 hangs spyder

This is similar to https://github.com/spyder-ide/spyder/issues/2652.
I just upgraded to spyder 2.3.6. I am using pandas 0.16.2 and IPython 4.0 on OS X Yosemite. Spyder essentially crashes (it hangs and I have to force quit the application) when I try to run a code snippet like the one below in the spyder ipython console. The same code works just fine if I open ipython in a terminal window and run it.
import pandas as pd
df = pd.read_csv('csv_file.csv')
tmp = df.groupby(['field1', 'field2']).agg( {'field3':['sum'], 'field4':['sum']})

Thanks for reporting. I'll try to fix it ASAP.
Question: was this working for you in Spyder <IP_ADDRESS>?

Thanks! Yes, it works fine in <IP_ADDRESS>, that's what I'm using now.
M Shashanka
On Fri, Aug 28, 2015 at 9:13 AM -0700, "Carlos Cordoba"<EMAIL_ADDRESS>wrote:
Thanks for reporting. I'll try to fix it ASAP.
Question: was this working for you in Spyder <IP_ADDRESS>?
—
Reply to this email directly or view it on GitHub.

Am also running spyder 2.3.6 w/ pandas 0.16.2 and ipython 4.0.1 on OS X Yosemite and have the same issue when using the pandas pivot function. This can be avoided by shutting variable explorer panel.

@msweier, this error will be fixed in 2.3.7. Sorry for the inconvenience :-)

No problem thanks!

I'm having the same issue, even just doing x = pd.DataFrame(np.ones(10)) causes a crash when the variable explorer is open.
..a quick dig around in variable explorer code didn't seem to reveal much - it's quite complicated down there!

Just for the record: this happens only in Python 2. Python 3 seems immune to this bug :-)

This was caused by trying to fix issue #2514.

thanks ! would it be possible to have an earlier 2.3.7 with this important fix ?

@stonebig, yes, of course. That's why I tagged this issue with the 2.3.7 milestone. I hope to release it this weekend :-)

I think problem is still not resolved with 2.3.7 with following other packages
    ipython:   4.0.0-py27_0
    jedi:      0.9.0-py27_0
    qtconsole: 4.1.0-py27_0
    alabaster: 0.7.3-py27_0
    sphinx:     1.3.1-py27_0
    spyder:    2.3.7-py27_1

you may try to downgrade to Jedi 0.8.1.

@stonebig - nope jedi downgrade didn't work out...

ok, so today, with spyder git of October 14th:

first start of spyder qtconsole fails
second start works

!pip list
adodbapi (<IP_ADDRESS>)
alabaster (0.7.6)
astroid (1.3.6)
Babel (2.1.1)
backports.ssl-match-hostname (<IP_ADDRESS>)
baresql (0.7.2)
bcolz (0.11.3)
beautifulsoup4 (4.4.1)
blaze (0.8.3)
blosc (1.2.8)
bloscpack (0.9.0)
bokeh (0.10.0)
bqplot (0.3.8)
brewer2mpl (1.4.1)
castra (0.1.6)
certifi (2<IP_ADDRESS>)
cffi (1.2.1)
click (5.0)
colorama (0.3.3)
configparser (3.5.0b2)
cvxopt (1.1.7)
cx-Freeze (4.3.4)
cycler (0.9.0)
cyordereddict (0.2.2)
Cython (0.23.4)
cytoolz (0.7.3)
dask (0.7.3)
datashape (0.4.7)
db.py (0.4.4)
decorator (4.0.4)
dill (0.2.4)
docopt (0.6.2)
docutils (0.12)
enum34 (1.0.4)
Flask (0.10.1)
formlayout (1.0.15)
funcsigs (0.4)
functools32 (3.2.3.post2)
greenlet (0.4.9)
guidata (1.7.0b5)
guiqwt (3.0.0b6)
h5py (2.5.0)
holoviews (1.3.2)
husl (4.0.3)
ipykernel (4.1.0)
ipyparallel (4.0.2)
ipython (4.0.0)
ipython-genutils (0.1.0)
ipython-sql (<IP_ADDRESS>)
ipywidgets (4.0.3)
itsdangerous (0.24)
jedi (0.8.1)
Jinja2 (2.8)
joblib (0.9.2)
jsonschema (2.5.1)
julia (<IP_ADDRESS>)
jupyter (1.0.0)
jupyter-client (4.1.1)
jupyter-console (4.0.3)
jupyter-core (4.0.6)
Keras (0.2.0)
llvmlite (0.6.0)
lmfit (0.9.1)
locket (0.2.0)
logilab-common (1.1.0)
lxml (3.4.4)
MarkupSafe (0.23)
matplotlib (1.5.0rc2)
mingwpy (0.1.0b3)
mistune (0.7.1)
mpld3 (0.2)
multipledispatch (0.4.8)
mysql-connector-python (2.0.4)
nbconvert (4.0.0)
nbformat (4.0.1)
netCDF4 (1.2.1)
networkx (1.10)
nltk (3.0.5)
nose (1.3.7)
notebook (4.0.6)
numba (0.20.0)
numexpr (2.4.4)
numpy (1.9.3)
numpydoc (0.5)
oct2py (3.3.3)
odo (0.3.4)
pandas (0.17.0)
pandas-datareader (0.2.0)
param (1.3.2)
partd (0.3.2)
path.py (8.1.2)
patsy (0.4.0)
pep8 (1.6.2)
pg8000 (1.10.2)
pickleshare (0.5)
Pillow (3.0.0)
pip (7.1.2)
pkginfo (1.2.1)
prettytable (0.7.2)
psutil (3.2.2)
PuLP (1.5.9)
py (1.4.30)
PyAudio (0.2.8)
pybars3 (0.9.1)
pycparser (2.14)
pyflakes (0.9.2)
Pygments (2.0.2)
pyhdf (0.8.3)
pylint (1.4.3)
PyMeta3 (0.5.1)
pymongo (3.0.3)
pyodbc (3.0.10)
PyOpenGL (3.1.0)
pyparsing (2.0.3)
PyQt4 (4.11.4)
PyQtdesignerplugins (1.1)
pyqtgraph (0.9.10)
PyQwt (5.2.1)
pyserial (2.7)
pytest (2.8.2)
python-dateutil (2.4.2)
PythonQwt (0.3.0)
pytz (2015.6)
pywin32 (219)
PyYAML (3.11)
pyzmq (14.7.0)
qtconsole (4.1.0)
redis (2.10.3)
reportlab (3.2.0)
requests (2.8.1)
requests-toolbelt (0.4.0)
rope (0.10.2)
rpy2 (2.7.2)
Rx (1.2.3)
scikit-image (0.11.3)
scikit-learn (0.16.1)
scilab2py (0.6)
scipy (0.16.0)
seaborn (0.7.0.dev0)
setuptools (18.4)
simplegeneric (0.8.1)
simplejson (3.8.0)
singledispatch (<IP_ADDRESS>)
six (1.10.0)
snowballstemmer (1.2.0)
Sphinx (1.3.1)
sphinx-rtd-theme (0.1.9)
spyder (3.0.0.dev0)
SQLAlchemy (1.0.8)
sqlite-bro (0.8.10)
sqlparse (0.1.16)
statsmodels (0.6.1)
sympy (<IP_ADDRESS>)
tables (3.2.2)
Theano (0.7.0)
toolz (0.7.4)
tornado (4.2.1)
traitlets (4.0.0)
twine (1.6.3)
twitter (1.17.1)
ViTables (2.1)
Werkzeug (0.10.4)
wheel (0.26.0)
winpython (1.2)
xlrd (0.9.4)
XlsxWriter (0.7.6)
xray (0.6.0)

@vrajs5,  there is a separate bug fro empty dataframes!  have you tried that fix
https://github.com/spyder-ide/spyder/issues/2744

no issue whatsoever with spyder3.0dev of yesterday night, even on Python 2.7.


Ratio::<T>::from_...() - definition of being representable?

I use this crate to convert an f64 into an fps value (video framerate) consisting of u32 numerator and denominator. The documentation for Ratio::<u32>::from_f64(), for Ratio<T> and for num_traits::cast::FromPrimitive is not clear enough about what exactly it means that the input value can't "be represented by" a ratio.
I read your crate's approximate_float_unsigned() source code and, based on it, wrote the following in the doc comment of my crate's Fps::from_f64():

Returns None in the following cases (according to approximate_float_unsigned() of num-rational crate):

value < 0.0
value.is_nan()
value > u32::MAX as f64, overextending the numerator
The conversion yields a denominator of 0.

In other cases than mine like Ratio::<u64>::from_f32(), your function's line let t_max_f = <F as NumCast>::from(t_max.clone())?; may also return None.
I'd like to be able to be forever sure about when exactly None can be returned without the necessity of "according to".
Questions/suggestions:

Can a denominator of 0 exclusively be yielded when the input f64 is positive/negative infinity?
Would it be possible to clarify in your documentation when exactly None can be returned? (Possibly in the documentation for Ratio<T> with references to it in the other locations.)

1. Can a denominator of 0 exclusively be yielded when the input f64 is positive/negative infinity?

No, this should be None -- it's meant to be an invariant of the crate that the denominator is never zero. That's not a safety invariant, given the safe new_raw, but there are multiple place that document panicking for zero denominator, and I wouldn't be surprised if more are lurking.
Is there a case of "The conversion yields a denominator of 0." that's not already covered by your other points?

2. Would it be possible to clarify in your documentation when exactly None can be returned? (Possibly in the documentation for Ratio<T> with references to it in the other locations.)

FromPrimitive is not prescriptive about this (for better or worse), but I wouldn't mind a PR to add some documentation for how Ratio handles it. That probably shouldn't be too specific, to allow for future improvements, but at least we shouldn't get any worse at conversions. :)

Can a denominator of 0 exclusively be yielded when the input f64 is positive/negative infinity?

No, this should be None

Yes, I confirmed that the function returns None. I'm trying to find out whether my doc comment sentence "The conversion yields a denominator of 0" can be complemented by mentioning infinity. By "conversion", I mean most of the function's code, before the end of the function catches the 0 and transforms it into None.
In other words: Would it be correct to change the sentence to (None returned if...):

value is positive or negative infinity, so the inner conversion results in a denominator of 0.

Would it be possible to clarify in your documentation when exactly None can be returned? (Possibly in the documentation for Ratio<T> with references to it in the other locations.)

FromPrimitive is not prescriptive about this

Couldn't the docs of the from_...() methods refer to possible documentation on the Self type? How could this be done in a short sentence, while it only may be available? Example:

Converts an f64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned (see Self type for details).

In other words: Would it be correct to change the sentence to (None returned if...):

value is positive or negative infinity, so the inner conversion results in a denominator of 0.

It doesn't result in a denominator of 0 though -- the inner conversion returns None before it ever gets to the calculation of numerator and denominator. Positive infinity is caught by being greater than the maximum possible numerator, u32::MAX in your case, and negative infinity is caught by being less than 0.
The only reason that floats can define division by zero as +/-infinity is that there is also a difference between +/-0.0, so you can kind of treat it mathematically as "the limit as the denominator approaches zero from above" or "from below." There's no such distinction with integer ratios, which is why I'm resisting your statement. :)

Couldn't the docs of the from_...() methods refer to possible documentation on the Self type?

Sure, it could do that, referring to the individual types or their trait impl for details.

How can the cases be described where the conversion yields a denominator of 0? As a user of the conversion function, I'd like to know at least somewhat deterministic details, so that I can be sure that it can't happen sporadically.
For num_rational::Ratio's docs, I wrote the following:

Converting to a Ratio<T> yields None in the following cases:

The input value is out of the bounds of the integer target type, which, in case of a float, includes positive and negative infinity.
The input value is a float and NaN.
The conversion results in a denominator of 0 before returning. [CAN HAPPEN WHEN EXACTLY?]

By inspection, I'm not sure what cases reach that denominator of 0. I think that may just be defensive coding, but it could be interesting to put a panic in there and fuzz-test until you hit it. :)

I put a println!() into your crate (enhanced trait bounds with  + Display):
// Overflow
if d1.is_zero() {
    println!("{}", val);
    return None;
}

(By intermediately putting it before the condition, I confirmed that it wasn't optimized away in the following code.)
Then I ran the following code (see comments):
// Converting every `f32` bit pattern takes me 15-25 minutes in a debug build with a single thread.
for i in 0..=u32::MAX {
    let from_val = unsafe { mem::transmute(i) };

    // Problems:
    // - `4_294_967_300_f32` (5 above `u32::MAX`; float bits equivalent to `0x4f80_0000_u32`)
    Ratio::<u32>::from_f32(from_val);

    // Problems:
    // -  `2_147_483_600_f32` (47 below `i32::MAX`; float bits equivalent to `0x4f00_0000_u32`)
    // - `-2_147_483_600_f32` (48 above `i32::MIN`; float bits equivalent to `0xcf00_0000_u32`)
    // Ratio::<i32>::from_f32(from_val);

    // No problems.
    // Ratio::<i16>::from_f32(from_val);

    // No problems.
    // Ratio::<u32>::from_u32(from_val);
    // Ratio::<i32>::from_u32(from_val);
    // Ratio::<u16>::from_u32(from_val);
    // Ratio::<i16>::from_u32(from_val);
}

for i in unsafe {mem::transmute::<_, u64>((u64::MAX - 100_000_000) as f64) }..=u64::MAX {
    let from_val = unsafe { mem::transmute(i) };

    // Problems (aborted early):
    // - `18446744073709552000_f64` (385 above `u64::MAX`)
    // Ratio::<u64>::from_f64(from_val);
}

for i in unsafe {mem::transmute::<_, u64>((i64::MAX - 100_000_000) as f64) }..=u64::MAX {
    let from_val = unsafe { mem::transmute(i) };

    // Problems:
    // -  `9223372036854776000_f64` (193 above `i64::MAX`)
    // - `-9223372036854776000_f64` (192 below `i64::MIN`)
    Ratio::<i64>::from_f64(from_val);
}

// No problems until early abortion.
for i in unsafe {mem::transmute::<_, u64>((u32::MAX - 100_000_000) as f64) }..=u64::MAX {
    let from_val = unsafe { mem::transmute(i) };
    Ratio::<u32>::from_f64(from_val);
}
for i in unsafe {mem::transmute::<_, u64>((i32::MAX - 100_000_000) as f64) }..=u64::MAX {
    let from_val = unsafe { mem::transmute(i) };
    Ratio::<i32>::from_f64(from_val);
}

(println!() seems to round for humans, because input values causing d1.is_zero() in your code were all printed with trailing zeroes. But the values are on either side of the min/max border. Near the i32::MAX border, a 32-bit float can hold either ...648 or ...520 according to my hex editor, and it was printed with ...600.)
As shown in the code, Ratio::<i32>::from_f32(i32::MAX as f32) yields None. Do we now suppose this is the only constraining case regarding the last returning of None? How can this best be conveyed?
I'm not sure why the other cases are caught at the top of the function where the range is checked.

(println!() seems to round for humans, because input values causing d1.is_zero() in your code were all printed with trailing zeroes. But the values are on either side of the min/max border. Near the i32::MAX border, a 32-bit float can hold either ...648 or ...520 according to my hex editor, and it was printed with ...600.)

Yes, the standard library formatting tries to use the least number of significant digits that will still parse back to the same floating point value. Since we're only concerned with integers here, you can format "{:.0}" to see it in full.

As shown in the code, Ratio::<i32>::from_f32(i32::MAX as f32) yields None.

That's correct, because i32::MAX as f32 rounds up to fit in the available mantissa bits, so that floating point value is no longer in range of an i32.
So I think what you've demonstrated is that the earlier q > t_max_f check doesn't catch these when t_max_f gets rounded, i.e. when there are fewer bits in the mantissa than the integer type. But that's an implementation detail -- it's still a case of "the input value is out of the bounds of the integer target type."
However, the other side around i32::MIN is a bug, handled incorrectly because we try to convert the abs() first and apply negation afterward, but that's 1 greater than i32::MAX. We should probably special-case that in approximate_float, before it gets to approximate_float_unsigned.

However, the other side around i32::MIN is a bug, handled incorrectly because we try to convert the abs() first and apply negation afterward, but that's 1 greater than i32::MAX. We should probably special-case that in approximate_float, before it gets to approximate_float_unsigned.

I wouldn't work on this.
Do you want a dedicated issue for it?


Figure 5.7 out of date syntax

On page 149,
var pieChart = d3.layout.pie();

should be as of d3 v4
var pieChart = d3.pie();

as indicated immediately above the figure in the text.

Ugh, I can't believe that got missed.


503 while attempting Remote Debugging

Does this occur consistently? Yes
Repro steps:

In vscode right-click our appservice.
Press Start Remote Debugging
No reason for the 503 are displayed.

Action: appService.StartRemoteDebug
Error type: Error
Error Message: Unable to establish connection to application: Error getting tunnel status: 503
Version: 0.17.0
OS: linux
OS Release: 5.3.0-55-generic
Product: Visual Studio Code
Product Version: 1.45.1
Language: en

Call Stack
TunnelProxy.<anonymous> extension.bundle.js:164:154352
rejected extension.bundle.js:164:149924

Hi @baardl
Have you confirmed that the app is currently running?  If the App failed to start, I don't think that Azure will be able to start the remote debugging.  Is there any information you could provide to help us repro this?

Hi.
The app might have run, I do not know as it was only responding 503 as
well.
To get back into production, I had to delete all and start all over again
in a new zone.
Sorry for not preserving any logs.
You may close this issue.
Best regards
Bård
fre. 5. jun. 2020, 20:11 skrev Nathan<EMAIL_ADDRESS>
Hi @baardl https://github.com/baardl
Have you confirmed that the app is currently running? If the App failed to
start, I don't think that Azure will be able to start the remote debugging.
Is there any information you could provide to help us repro this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode-azureappservice/issues/1580#issuecomment-639677079,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABI4ZBBZOJ4EEHHSHQOWODRVEYMNANCNFSM4NSJOF3Q
.


Error using window.fabric.*

Hi, thanks for your work.
When I use your plugin as in your example I get TypeError: undefined is not an object (evaluating 'window.fabric.Crashlytics') in console.
I am using iPhone 5 with iOS 9.2, cordova 6.0.0, Crashlytics 3.6.0, Answers 1.1.0.
Edit : Well, I have more informations about this bug. I tested in chrome, everything is ok. When I test in safari 9 (used by iOS), logging window object, I find fabric as a sub-object that is not undefined. But logging window.fabric is undefined. I think the problem comes from the initialization of FabricPlugin variable.
var FabricPlugin = (function () {
function FabricPlugin() {
    _classCallCheck(this, FabricPlugin);
}

_createClass(FabricPlugin, [{
    key: 'pluginCallName',
    value: function pluginCallName() {
        return 'FabricPlugin';
    }
}, {
    key: 'execPlugin',
    value: function execPlugin(method, parameters) {
        exec(null, null, this.pluginCallName(), method, [parameters]);
    }
}]);

    return FabricPlugin;
})();

module.exports = new FabricPlugin();

Where you use FabricPlugin variable inside its declaration itself and return it. As it is initializing, FabricPlugin variable is not yet defined when returning it. Some browser may interpret it differently, and return different value. Or not... I don't know, I am not enough friend with javascript.

Still not working with 1.0.0

Can you provide steps to reproduce the issue?
I've been using the plugin in production on both Android and iOS without any issues.

Hi,
I first tried cordova plugin add<EMAIL_ADDRESS>--variable FABRIC_API_KEY=xxxxxxxxxxxxxxxxx --variable FABRIC_API_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxx
I got
Error: Failed to fetch plugin<EMAIL_ADDRESS>via git. Either there is a connection problems, or plugin spec is incorrect:
Error: git: Command failed with exit code 128 Error output:
Cloning into '/var/folders/sg/5y2wlpsn6jbd7yp1zlvvcsf00000gn/T/git/1456906754536'...
fatal: unable to access<EMAIL_ADDRESS>The requested URL returned error: 400

So I remove @1.0.0 in command : cordova plugin add https://github.com/sarriaroman/FabricPlugin --variable FABRIC_API_KEY=xxxxxxxx --variable FABRIC_API_SECRET=xxxxxxxxxxxxxxxxxxxx
And the plugin installed correctly.
I then log console.log(window);and console.log(window.fabric); after devicereadyevent.
The first log shows all window object including fabric :

But the second log shows undefined :

I am using Safari 9.0.3 on el capitan 10.11.3, cordova 6.0.0, iOS 9.2.1. Also not working on windows 8 safari 5.1.7. But working fine on chrome any OS.

It looks like I made a typo in the readme; the version is specified using a pound instead of @ sign. So #1.0.0 instead of @1.0.0. That will fix your first problem of a 404 during install. I recommend trying again with that.

With #1.0.0 is installing fine. But still the same error at runtime, only Safari. Sorry, I can't tell so much more to find a solution. I'm searching when I have time.


fix(release_actions)Add configuration options in support of Android

Overview
Made a few changes to allow enough flexibility so these release actions can be used by Android also. The intent is to keep them backwards compatible providing default values where hard-coded values existed.
DISCLAIMER: I'm not too comfortable with Ruby, so feel free to pick this apart. Also, I'm definitely open to suggestions if you think these changes don't belong here. Most of them come down to the choice of having to change deployment procedures that we've used for 4 releases already vs making things configurable.
calculate_next_canary_version.rb
Added release_tag_type and release_tag_prefix as configurable options.
release_tag_type was added because amplify-android releases uses annotated tags (git tag -a <tag_name>) as supposed to lightweight tags (git tag <tag_name>). This comes into play when retrieving the last tag name (more on that below). Defaults to lightweight.
release_tag_prefix was added because amplify-android releases uses release_v prefix instead of v. Defaults to v.
The run function returns the Version object instead of the string. amplify-android needs the individual segments in order to derive a versionCode (an integer) from the versionName (the string representation of the version). Rather than introducing a concept (versionCode) into this code (or re-parsing the version upstream), I thought it would be better to make the object available so the consumers can use the object as needed based on their platform.
git.rb
Use a different git command to retrieve the last release tag based on the tag_type parameter which defaults to lightweight
key_value.rb
Modified the regex to make quotes optional. gradle.properties files doing use quotes for values.
version.rb
Strip the tag prefix based on tag_prefix parameter which defaults to v.
Testing
Unit tests have been updated to reflect these changes. Please let me know if there are any issues.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Looks good to me.
Regarding the annotated vs. lightweights tags -- the ones I've created, anyway, I didn't use -a. Are the tags annotated only when published on the GitHub releases tab?

This issue came up because for whatever reason, the command being used to retrieve the last tag (git describe --tags --long) always returns release_v0.9.0-298-g5117fdef for amplify-android. I would expect it to return release_v1.1.1-.... I tried to figure out why but to no avail. The path of least resistance was to use a different command: git tag --sort='-refname' | head -n 1.
At first I thought it was related to the way we tagged the different releases, but that doesn't appear to be the case, at least not based on the output of the command below. Looks like we were using lightweight tags thru 1.0.0, so I would expect git describe --tags --long to return release_v1.0.0 if my theory was correct.
git tag --format="%(refname:strip=2) %(objecttype)"
release_v0.10.0 commit
release_v0.9.0 commit
release_v0.9.1 commit
release_v1.0.0 commit
release_v1.1.0 tag
release_v1.1.1 tag

Maybe the better solution is to just use git tag --sort='-refname' | head -n 1 instead of git describe and do away with passing in the misleading parameter.

Closing this one for now since there are some changes in main that can be leveraged for android


move from create clusterset to clusterset create?

already have
 clusteradm clusterset bind, unbind, set command,

maybe consider move create clusterset to clusterset create instead?

Thanks for your advice!
But, for now, we use <common-usage>  <resource-type> to extract and gather the common commands, such as create, get, delete...
And <resource-type>  <unique-usage> for unique commands.

ok, will keep an eye on this :)

@jichenjc hi, is there still any problem you're worrying about? if not, maybe you can close this issue:)

no, this is just a question, not an issue :)


Use with other scripts required for rendering content

Hi,
I realize this isn't an issue/bug with webui-popover. I'm not sure where else to have a conversation about a specific usage, perhaps a little out of the norm.
In the use case I am working on, the content in my pop-ups will have a lot of math functions and formula, which require rendering with MathJax. The issue I've discovered is that when the pop-up content is rendered in the pop-up, MathJax is not triggered again. I actually found a conversation about this very same issue, in the context of Moodle and whatever mechanism it uses for pop-ups...

This is not a problem with MathJax being loaded, but instead a synchronization issue. The popup loads its content with your mathematics when the link is clicked. This is normally after MathJax has already typeset the whole page. It needs to be told to reprocess it once again after the popup has loaded.

I was able to get it to work by editing moodle/filter/glossary/yui/build/moodle-filter_glossary-autolinker/moodle-filter_glossary-autolinker.js  and adding the statement

MathJax.Hub.Queue(['Typeset',MathJax.Hub]);

before the line

return true;

I'm guessing I can do something like this within query.webui-popover.js but am not quite sure where to start. The show:function maybe or the displayContent:function perhaps?
Any suggestions would be quite appreciated.
v

Can you send me some demo code?
I can test the code  and try to solve the problem.

Hi Sandy,
Thanks for following up. A person on the MathJax discussion group offered a solution late Friday, which worked quite well

The WebUI Popover triggers a custom event when the popover has been displayed, so you can use that to trigger MathJax to typeset the contents of the popover.  In your case, you can use
$('a.show-pop-1').on("shown.webui.popover",function () {
MathJax.Hub.Queue(["Typeset",MathJax.Hub,this.getAttribute("data-target")]);
});
to make the binding.  This can go in your initPopover() function.

There is a slight flicker (if you're watching close) when the popover content re-renders, but it's hardly noticeable.

The example is here at the moment..
https://verdonv.nipissingu.ca/mj/


:zap: Added multiple callback functions for update

Update Callbacks added to namely:

UpdateStart
UpdateProgress
UpdateFinished

@yasir-khilji-64 The changes look good. Can you rev the library in library.properties to 1.0.2? With that change I'll merge the PR and deploy it. Thanks.


Added async call to Google sheets API

The syncronous calls to google sheet's api made ui unresponsive until http timeout is reached or data is returned. This update asyncronously pulls data from google - however slow the api might be at a time and leaves the RL client operational throughout updating the plugin with data.

That sounds like a pretty good fix, I know that was the main issue I had when making all of my updates a while back. For some reason Google Docs would just randomly become unresponsive and you'd have to wait until the HTTP timeout finishes. I had resolved it by adding a plugin setting that allows users to modify the HTTP timeout value, and I gave it a default value of like 1s or something, but I know it wasn't a very good solution. I'm assuming you've done a decent amount of testing already? I'll see if I can get cmsu224 to test it out and merge it if everything goes well.

That sounds like a pretty good fix, I know that was the main issue I had when making all of my updates a while back. For some reason Google Docs would just randomly become unresponsive and you'd have to wait until the HTTP timeout finishes. I had resolved it by adding a plugin setting that allows users to modify the HTTP timeout value, and I gave it a default value of like 1s or something, but I know it wasn't a very good solution. I'm assuming you've done a decent amount of testing already? I'll see if I can get cmsu224 to test it out and merge it if everything goes well. I might test it out a bit as well if I can find the time.

Yes! testing has been done, would be great to have cmsu224 to test as well to waterproof the changes.
Happy to hear that you like the changes. If you want I could write out a more descriptive changelog of what we have messed around with.


MapboxOSRM: CloudFront error when 2 requests follow each other

Here's what I did
from routingpy.routers import MapboxOSRM
from pprint import pprint

# Some locations in Berlin
coords = [[13.413706, 52.490202], [13.421838, 52.514105],
          [13.453649, 52.507987], [13.401947, 52.543373]]

client = MapboxOSRM(api_key='token')

route = client.directions(locations=coords, profile='walking')
isochrones = client.isochrones(locations=coords[0], profile='walking', intervals=[600, 1200])

pprint((route.geometry, route.duration, route.distance, route.raw))
pprint((isochrones.raw, isochrones[0].geometry, isochrones[0].center, isochrones[0].interval))

Here's what I got
---------------------------------------------------------------------------
JSONDecodeError                           Traceback (most recent call last)
File ~/.virtualenvs/middler-api/lib/python3.8/site-packages/requests/models.py:971, in Response.json(self, **kwargs)
    970 try:
--> 971     return complexjson.loads(self.text, **kwargs)
    972 except JSONDecodeError as e:
    973     # Catch JSON-related errors and raise as requests.JSONDecodeError
    974     # This aliases json.JSONDecodeError and simplejson.JSONDecodeError

File /usr/lib/python3.8/json/__init__.py:357, in loads(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
    354 if (cls is None and object_hook is None and
    355         parse_int is None and parse_float is None and
    356         parse_constant is None and object_pairs_hook is None and not kw):
--> 357     return _default_decoder.decode(s)
    358 if cls is None:

File /usr/lib/python3.8/json/decoder.py:337, in JSONDecoder.decode(self, s, _w)
    333 """Return the Python representation of ``s`` (a ``str`` instance
    334 containing a JSON document).
    335
    336 """
--> 337 obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    338 end = _w(s, end).end()

File /usr/lib/python3.8/json/decoder.py:355, in JSONDecoder.raw_decode(self, s, idx)
    354 except StopIteration as err:
--> 355     raise JSONDecodeError("Expecting value", s, err.value) from None
    356 return obj, end

JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

JSONDecodeError                           Traceback (most recent call last)
File ~/.virtualenvs/middler-api/src/routingpy/routingpy/client_default.py:235, in Client._get_body(response)
    234 try:
--> 235     body = response.json()
    236 except json.decoder.JSONDecodeError:

File ~/.virtualenvs/middler-api/lib/python3.8/site-packages/requests/models.py:975, in Response.json(self, **kwargs)
    972 except JSONDecodeError as e:
    973     # Catch JSON-related errors and raise as requests.JSONDecodeError
    974     # This aliases json.JSONDecodeError and simplejson.JSONDecodeError
--> 975     raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)

JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

JSONParseError                            Traceback (most recent call last)
Cell In[47], line 2
      1 route = client.directions(locations=coords, profile='walking')
----> 2 isochrones = client.isochrones(locations=coords[0], profile='walking', intervals=[600, 1200])
      3 #matrix = client.matrix(locations=coords, profile='walking')

File ~/.virtualenvs/middler-api/src/routingpy/routingpy/routers/mapbox_osrm.py:413, in MapboxOSRM.isochrones(self, locations, profile, intervals, contours_colors, polygons, denoise, generalize, dry_run)
    408     params["generalize"] = generalize
    410 profile = profile.replace("mapbox/", "")
    412 return self.parse_isochrone_json(
--> 413     self.client._request(
    414         "/isochrone/v1/mapbox/" + profile + "/" + locations_string,
    415         get_params=params,
    416         dry_run=dry_run,
    417     ),
    418     intervals,
    419     locations,
    420 )

File ~/.virtualenvs/middler-api/src/routingpy/routingpy/client_default.py:200, in Client._request(self, url, get_params, post_params, first_request_time, retry_counter, dry_run)
    197     return self._request(url, get_params, post_params, first_request_time, retry_counter + 1)
    199 try:
--> 200     result = self._get_body(response)
    202     return result
    204 except exceptions.RouterApiError:

File ~/.virtualenvs/middler-api/src/routingpy/routingpy/client_default.py:237, in Client._get_body(response)
    235     body = response.json()
    236 except json.decoder.JSONDecodeError:
--> 237     raise exceptions.JSONParseError("Can't decode JSON response:{}".format(response.text))
    239 if status_code == 429:
    240     raise exceptions.OverQueryLimit(status_code, body)

JSONParseError: Can't decode JSON response:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>

403 ERROR

The request could not be satisfied.

Bad request.
We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner.

If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation.

Generated by cloudfront (CloudFront)
Request ID: iEXFhiP_CsxoQhlfeCQf6c12ZikAJBNqsftyZtYi_7fbDnoYBr9u0Q==

<ADDRESS>
</ADDRESS>

Here's what I was expecting
Result of the 2 requests

Here's what I think could be improved
At first I thought the calls must be too close together. So I added a time.sleep between them, but without success.

Probably Mapbox changed smth on their isochrone endpoint. Could you check? With dry_run=True you should just get the URL & parameters.

url:
https://api.mapbox.com/directions/v5/mapbox/walking?access_token=token
Parameters:
{
  "headers": {
    "User-Agent": "routingpy/v0.0.post296+g2357ccd",
    "Content-Type": "application/x-www-form-urlencoded"
  },
  "timeout": 60,
  "data": {
    "coordinates": "13.413706,52.490202;13.421838,52.514105;13.453649,52.507987;13.401947,52.543373"
  }
}
url:
https://api.mapbox.com/isochrone/v1/mapbox/walking/13.413706,52.490202?access_token=token&contours_minutes=10%2C20
Parameters:
{
  "headers": {
    "User-Agent": "routingpy/v0.0.post296+g2357ccd",
    "Content-Type": "application/x-www-form-urlencoded"
  },
  "timeout": 60,
  "data": {
    "coordinates": "13.413706,52.490202;13.421838,52.514105;13.453649,52.507987;13.401947,52.543373"
  }
}

The 2 queries work independently.

It works if I instantiate 2 clients.
client = MapboxOSRM(api_key='token')
client2 = MapboxOSRM(api_key='token')

route = client.directions(locations=coords, profile='walking')
isochrones = client2.isochrones(locations=coords[0], profile='walking', intervals=[600, 1200])

Haha what?! The 403 error in the first example is usually "unauthorized". What happens if you use Postman or so and do it similarly? I can't imagine what differs when you instantiate 2 clients.. it's still the same user agent, IP etc..

I put 2 prints here:

With the same client, I got:
https://api.mapbox.com/directions/v5/mapbox/walking?access_token=token
{'User-Agent': 'routingpy/v0.0.post296+g2357ccd', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': '105'}
https://api.mapbox.com/isochrone/v1/mapbox/walking/13.413706,52.490202?access_token=token&contours_minutes=10%2C20
{'User-Agent': 'routingpy/v0.0.post296+g2357ccd', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': '105'}

With different clients:
https://api.mapbox.com/directions/v5/mapbox/walking?access_token=token
{'User-Agent': 'routingpy/v0.0.post296+g2357ccd', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': '105'}
https://api.mapbox.com/isochrone/v1/mapbox/walking/13.413706,52.490202?access_token=token&contours_minutes=10%2C20
{'User-Agent': 'routingpy/v0.0.post296+g2357ccd', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/x-www-form-urlencoded'}

As you can see, there is a problem with request headers.

So it's either Content-Length header on the isochrone request or the keep-alive connection? I'd assume it's the former, as it seems that's a GET request which doesn't have any content, so maybe their CloudFront proxy denies that? Who's setting that header? Is it us? Can you try without?

I think that's where the problem comes from. The same session and therefore the same headers are reused. Cloudfront must validate the content-length.
https://github.com/gis-ops/routingpy/blob/2357ccd67573ce985c74647a784cd8adedc09365/routingpy/client_default.py#L74

I'll take a look later in the day or tomorrow.

Right, that's not good. Thanks for the investigation!

It's strange though that a Session object would just keep all those headers and not re-compute them per request, but maybe I'm not understanding some of the subtleties around that.. For me this is only about session pooling so we can keep a connection alive, which should be more performant than opening a new one for each request..

Does it also do that if turn the requests around? First GET, then POST, and it won't set a content length?

Does it also do that if you turn the requests around? First GET, then POST, and it won't set a content length? I'm almost inclined to assume that's a bug in requests..
Yes it works that way.

In the end, it was just a pointer issue :)

fixed in #111


Add link to prelim metadata ideas and a quick reference to form ui text yaml ideas

Future TODO: Add more links / explanation of the form ui text yaml stuff


Make tf.io.gfile / tf.data separate (standalone) packages?

System information

TensorFlow version (you are using): 2.4.x
Are you willing to contribute it (Yes/No): No (time constraints)

Describe the feature and the current behavior/state.
At the moment we have to install tensorflow as a whole even though our data-processing pipeline only requires access to tf.gfile and/or tf.data.
Imo it could be beneficial if it was possible to install these two packages separately (standalone) without having to install the rest of Tensorflow. Especially tf.gfile could be useful in projects where not a single line related to machine-learning is written so this would be a candidate to become its own pip-installable package maybe with the option to install the tf.data functionalities.
pip install tensorflow_gfile        # gfile only
pip install tensorflow_gfile[data]  # gfile + data
pip install tensorflow              # All the things

Will this change the current api? How?
The API should not change, only the fact that packages can be selectively installed.
Who will benefit with this feature?
Everyone who works on larger projects.

There is no plan for this as it does not bring enough benefits to TF team to justify spending ~2 quarters for the separation.

I can't really comment on how long this would take and whether or not the TF team itself would benefit from this but I have the feeling that particularly tf.io.gfile could be a separate thing. It's really useful and I think this is true even outside of a machine-learning setting.
I personally would also like to be able to e.g. write shards in a separate pipeline without having to install the entire Tensorflow framework.
However, please close this issue if my suggestion doesn't make sense whatsoever.

This would be a target of modularization efforts but so far all such efforts in the past few years have been discontinued. When our team grows again we can try launching a new process. If approved, we can work on this.
For now, I'd keep this open, as a reminder that we could do this.

j

How i can contribute
please guide me
I like to solve this problem

Hi @stefan-falk !
We are checking to see whether you still need help in this issue .
I think we can leverage Tensorflow/Io and Tensorflow/datasets now.
Thank you!


Hotfix for reset password

What does this PR do?

This PR just updates the link for password reset
In the background, the staging database now has the latest data of the users collection so you can test out the PR in the staging environment.

How do I test out this PR?

cd AirQo-api/src/auth-service
npm install

For windows users:

npm run stage-pc

For MAC users:

npm run stage-mac

Alternatively....
You can use docker:

docker build -t us.gcr.io/airqo-250220/airqo-auth-api .
docker run -d -p 5000:3000 us.gcr.io/airqo-250220/airqo-auth-api

Which endpoints are ready for testing?

Password reset

Closing this because it was recently addressed in another open PR of data segregation.


Windows scrollbar issue

This happens on windows only:

Browser fullscreen, load a new Vizor file. Shows correctly with no scrollbars. (screenshot 1).

Window gets smaller for some reason, and scrollbars are introduced.That's correct, although the bars are quite ugly on windows.
(screenshot 2)

Maximize the window back to fullscreen, the scroll bars remain (screenshot 3)
This is incorrect, we shouldn't see scrollbars here.

related: #331


maxBackpressure should be strict

Currently maxBackpressure is just a limit of where it starts to stop sending more, you can still go over it with 1 message. This should be a strict limit you cannot cross.

Ah, the reason why it is not strict is beacause it would cut messages in half. So it cannot really be strict, only if we are prepared to close the connection.

It still is an issue where many publishes to TopicTree ends up with a big outgoing buffer which can contain many messages and we just write it all, overstepping the limits by way more than only 1 message. It should only buffer up at most 1 extra ws message.


In Pipeline Details page, Agent configuration popup buttons are outside the popup

In Pipeline Details page, Agent configuration popup buttons are outside the popup

Working as expected


On v1.13.0, calls with _fg=False fail with error "TypeError: Invalid special arguments:    'fg': _fg is invalid with nearly every other option"

In 1.13.0, the new fg_validator considers only if the _fg arg is in the passed arguments without considering if the value of the arg is True :
https://github.com/amoffat/sh/blob/1.13.0/sh.py#L1107
This makes it refuse legitimate calls like sh.ls(*args, _out=self.process_line, _err=self.process_line, _fg=False)` .

Thanks for reporting.  This is fixed on1.13.1 with e2cb0202ee55930b45ffaa82330f9d9f32b050e4, please upgrade.


How can I notify the client if the user no longer has access to the document during editing?

Hi guys! First off all, thanks for your work. It's amazing!
Description
In my project, I can give users access to edit projects or not.
For example, I gave the user access to edit the project, the user connects to the project and edits it. After a while, I decided to take away the ability to edit from the user. The user should see all updates, but shouldn't edit anything.
How can I immediately inform the client from the server about this, in order to block the editor?  I don't need to close his connection, I just need to block his editor.
Also, if the auth token has expired, I would like to close the connection. I can do this with connection.close(), but in that case, I cannot send an error code and message.
On the server, I check user permission in the onChange hook, and if the user no longer has the ability to edit, I give him a connection.readOnly = true. And it works, what the user writes is not saved on the server. But I need also block his editor on the client.
And I also check user permission in the onConnect hook, and I need the same instruments here, but currently, I don't have connection as an instance of Connection here, I can only change readOnly mode
This is my code from server
async onConnect (data) {
    const permission = await checkPermission(someData);

     if (permission.code === 4000) { // read only
        data.connection.readOnly = true;
        // here I need to send to client message - like 'Read Only'
      } else if (permission.code >= 4400) {
        // here I need to close connection, but with code and message.
        // data.connection.close(permission.code, permission.message) - don't work, because data.connection.close() is not a function
      }
}

async onChange (data) {
    for (const { connection } of data.document.connections.values()) {
      if (connection.socketId === data.socketId) {
        const permission = await checkPermission(someData);

        if (permission.code === 4300) { // can only read the document
          connection.readOnly = true;
          // connection.send('test');
        } else if (permission.code >= 4400) { // connection must be closed and never reconnect
          // here I need to close connection, but with code and message.
          // connection.close(permission.code, permission.message);
        }
      }
    }
}

Please, let me know if you have any ideas about it or if you have a better solution for solving this problem.
Thanks!

This is working now using connection.sendStateless


getAuthenticatedRequest, posting data seems impossible?

I am trying to post some data to Reddit, using the provided method:
$request = $redditClient->getAuthenticatedRequest(                 'POST',                 'https://oauth.reddit.com/api/submit',                 $accessToken,                 $options             );
The problem raises at guzzle level, you seem to accept only 'body' as an options array index, although Guzzle doesn't accept body anymore (https://github.com/guzzle/guzzle/issues/1079).
Is there something I am missing here or I am better off completely ignoring getAuthenticatedRequest?
If so I think it should be phased out of this packet as it's confusing and possibly not fully working.

@0plus1 the Guzzle issue you linked to says that body must be encoded but is still available. You can still pass it into $options but it must be a string, probably either a JSON strings or a form string.


Selenoid-ui does not receive stats

After starting selenoid-ui and selenoid I do not get statistics in WEB UI
I looked at the docker logs selenoid-ui
2017/05/31 13:30:01 Client added. 9 registered clients
2017/05/31 13:30:01 can't get status (Get http://<IP_ADDRESS>:4444/wd/hub/status: dial tcp <IP_ADDRESS>:4444: getsockopt: connection refused)
2017/05/31 13:30:01 Removed client. 8 registered clients
2017/05/31 13:30:01 Removed client. 7 registered clients
2017/05/31 13:30:01 Removed client. 6 registered clients
2017/05/31 13:30:01 Removed client. 5 registered clients
2017/05/31 13:30:01 Removed client. 4 registered clients
2017/05/31 13:30:01 Removed client. 3 registered clients
2017/05/31 13:30:01 Removed client. 2 registered clients
2017/05/31 13:30:01 Removed client. 1 registered clients
2017/05/31 13:30:01 Removed client. 0 registered clients
2017/05/31 13:30:01 Client added. 1 registered clients
2017/05/31 13:30:01 Client added. 2 registered clients
2017/05/31 13:30:01 Client added. 3 registered clients
2017/05/31 13:30:03 can't get status (Get http://<IP_ADDRESS>:4444/wd/hub/status: dial tcp <IP_ADDRESS>:4444: getsockopt: connection refused)
2017/05/31 13:30:03 Removed client. 2 registered clients
2017/05/31 13:30:03 Removed client. 1 registered clients
2017/05/31 13:30:05 can't get status (Get http://<IP_ADDRESS>:4444/wd/hub/status: dial tcp <IP_ADDRESS>:4444: getsockopt: connection refused)
2017/05/31 13:30:07 can't get status (Get http://<IP_ADDRESS>:4444/wd/hub/status: dial tcp <IP_ADDRESS>:4444: getsockopt: connection refused)
2017/05/31 13:30:09 can't get status (Get http://<IP_ADDRESS>:4444/wd/hub/status: dial tcp <IP_ADDRESS>:4444: getsockopt: connection refused)
2017/05/31 13:30:11 can't get status (Get http://<IP_ADDRESS>:4444/wd/hub/status: dial tcp <IP_ADDRESS>:4444: getsockopt: connection refused)
2017/05/31 13:30:13 can't get status (Get http://<IP_ADDRESS>:4444/wd/hub/status: dial tcp <IP_ADDRESS>:4444: getsockopt: connection refused)
2017/05/31 13:30:15 can't get status (Get http://<IP_ADDRESS>:4444/wd/hub/status: dial tcp <IP_ADDRESS>:4444: getsockopt: connection refused)

When I run the browser test, they work out correctly
My ENV:
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                    NAMES
890edbb3db75        aerokube/selenoid:1.2.1      "/usr/bin/selenoid..."   7 minutes ago       Up 7 minutes        <IP_ADDRESS>:4444->4444/tcp   selenoid
255d14fdfb5e        aerokube/selenoid-ui:1.2.0   "/selenoid-ui --pe..."   10 minutes ago      Up 10 minutes       <IP_ADDRESS>:8080->8080/tcp   selenoid-ui

Worked after running with arguments
docker run -d --net=host --name selenoid-ui -p 8080:8080 aerokube/selenoid-ui:1.2.0
Thanks for help)

@MissiaL you are welcome. :)


Module 3 exercises [Emmanuella Ayeley Bentum]

Please "drag & drop" exercise 3 file below.

Please UPDATE THE TITLE of this "Issue" in the title bar above with your name.

If you haven't done so, please go back to Module 3 and make sure to take
the post-training survey.
WS2_M3E1_Template.docx

Well done, Emmanuella. You clearly grasped the material outlined in Module 3 and successfully applied it to these exercises. Thank you for your participation! Please be sure to fill out the post-Module survey before you begin the next Module.


az monitor diagnostic-settings create command issue

The error message is as below:
Metric category 'Performance (Java)' is not supported.. [Code: "BadRequest"]

The root cause is:
L681 ~ L738 of the file https://github.com/Azure/azure-spring-cloud-reference-architecture/blob/main/CLI/deploy-azurespringcloud-internal.sh
Should be changed as below:
    --metrics '[
        {
            "category": "AllMetrics",
            "enabled": true,
            "retentionPolicy": {
                "enabled": false,
                "days": 0
                }
        }
    ]'

Added and tested using AllMetrics.  Closing this issue


Fix search timeout replacing input value

I originally added support for search timeout in my previous pull request. Later, I discovered that when the timeout finishes, the value of the search input gets replaced with the value as it was when the timeout started. This change fixes the problem.

Thank you for your fix @Sorc96


[Windowing] Handle multiple sort expressions

Closes #140

Codecov Report

Merging #142 (de18a0c) into main (7d3a82f) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #142      +/-   ##
==========================================
- Coverage   45.82%   45.81%   -0.01%
==========================================
  Files          47       47
  Lines       17800    17801       +1
==========================================
- Hits         8156     8155       -1
- Misses       8182     8189       +7
+ Partials     1462     1457       -5

Thank you for your contribution !! LGTM 👍


Added low-pro cpu time to run

Adding low-pro cpu runtime.

I appreciate the time estimates for lower-end hardware, but I am confused by your format. What do the 1, ~22', and ~1 represent?

Means the runtime, eg:
+ffmpeg: On an<EMAIL_ADDRESS>~3 minutes per run, 20 minutes total (~1hour, 8 hours total on an atom n450)
yeah as low-pro pro boxes mayhave other task to run, and/or be m0ved, it should help owners to schedule the test.

Fixed in ef240a9. Thanks!

Owdy, nice :+1:


fix(infrastructure): update docker command to run new image

Needed to build a new docker image for screenshot tests.

Codecov Report

Merging #923 into rc0.14.0 will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           rc0.14.0     #923   +/-   ##
=========================================
  Coverage     94.09%   94.09%
=========================================
  Files            86       86
  Lines          3643     3643
  Branches        574      574
=========================================
  Hits           3428     3428
  Misses           90       90
  Partials        125      125

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 d74418a...05ac0fb. Read the comment docs.


Emulator problem

Hi,
I extended a bit the nice app for GCM and I tested the app on 2 mobile devices and it works well. Moreover, I want to do some analysis on emulator and I installed the app on emulator (Intel x86) and added google play services and a google account to the emulator. The app can connect to GCM server and get registration token but when I send a message to the devices, the real mobile devices receive the message but the emulator doesn't receive the message. I tried to send a message just to the emulator but it doesn't work. I tested on both Android API 21 and 23 and it doesn't receive messages. Emulator with Android API 22 has problem with google play services (It may has a bug). The real mobile phone that I tested is Nexus 5 (Android 4.4.2) and Galaxy S6 (Android 5.1.1).
It is about 3 days that I am dying to know what is the problem.
It would be great if you can help me.
Thanks a lot.

Could you try the Google APIs emulator with API 19?
On Fri, Sep 4, 2015, 3:07 PM Mansour Ahmadi<EMAIL_ADDRESS>wrote:

Hi,
I extended a bit the nice app for GCM and I tested the app on 2 mobile
devices and it works well. Moreover, I want to do some analysis on emulator
and I installed the app on emulator (Intel x86) and added google play
services and a google account to the emulator. The app can connect to GCM
server and get registration token but when I send a message to the devices,
the real mobile devices receive the message but the emulator doesn't
receive the message. I tried to send a message just to the emulator but it
doesn't work. I tested on both Android API 21 and 23 and it doesn't receive
messages. Emulator with Android API 21 has problem with google play
services (It may has a bug). The real mobile phone that I tested is Nexus 5
(Android 4.4.2) and Galaxy S6 (Android 5.1.1).
It is about 3 days that I am dying to know what is the problem.
It would be great if you can help me.
Thanks a lot.
—
Reply to this email directly or view it on GitHub
https://github.com/googlesamples/google-services/issues/62.

I tried an emulator with API 19 right now but the same problem. I debugged the app and it could verify the registration token but onMessageReceived never called. There is internet in my mobile device but it can be related to handling the internet connection in the emulator. Do you have any suggestion ?
Thanks

The sample should work with the emulator, please fill in this form with the details of your situation for further assistance.

I did it right now.
Thanks

@ManSoSec could you give an idea of what changes were made? Have you tried the emulator without the changes?

@kroikie Sorry for late reply.
I can send you my app if you can give me your email and have time.
The changes I made in emulator is using Google API as the target and also adding a Google account. Should I do anything else ?
Thanks a lot.

I was interested in the extensions that were made to the sample. Did you
get things to work before extending?
On Fri, Sep 11, 2015, 11:31 AM Mansour Ahmadi<EMAIL_ADDRESS>wrote:

@kroikie https://github.com/kroikie Sorry for late reply.
I can send you my app if you can give me your email and have time.
The changes I made in emulator is using Google API as the target and also
adding a Google account. Should I do anything else ?
Thanks a lot.
—
Reply to this email directly or view it on GitHub
https://github.com/googlesamples/google-services/issues/62#issuecomment-139576724
.

honestly, I didn't check before extension. I just added some funstions when the app recieve some messages. There are the changes that I did on the config file:
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 23
buildToolsVersion '23.0.0'
defaultConfig {
    applicationId "gcm.play.android.samples.com.gcmquickstart"
    minSdkVersion 9
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
packagingOptions {
    exclude 'LICENSE.txt'
}

}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.gms:play-services-gcm:7.8.0'
compile 'com.android.support:appcompat-v7:23.0.0'
// Testing dependencies
compile 'com.android.support.test.espresso:espresso-core:2.1'
compile 'com.android.support.test:runner:0.2'
compile 'com.android.support:support-annotations:23.0.0'
}

Please try the sample in its original form and let us know if you are having the same issues.

Please try the original sample and let us know if the same issues occur.

Today I downloaded and tried the original sample with a new Google cloud project, but it is the same. It is working perfectly on the device but it cannot receive a message from the server in the emulator though it can connect to the server. So, it may be the problem of emulator or my computer.
I am using the newest version of Android studio that I recently installed and also I have MAC OS X 10.10.2. I don't have any firewall in my computer.
I will ask another guy to install and run the app in another computer to see what is the exact problem. I really appreciate if you know any solution.
Thanks a lot.

I saw this post (Is the answer true ?) :
http://stackoverflow.com/questions/31475631/is-it-possible-to-receive-gcm-notification-in-android-emulator

This is not the case. You should be able to receive GCM with an emulator
with Google APIs. Be sure that when you create the AVD that you choose the
option that has Google APIs.
On Sat, Sep 12, 2015, 10:03 AM Mansour Ahmadi<EMAIL_ADDRESS>wrote:

I saw this post (Is the answer true ?) :
http://stackoverflow.com/questions/31475631/is-it-possible-to-receive-gcm-notification-in-android-emulator
—
Reply to this email directly or view it on GitHub
https://github.com/googlesamples/google-services/issues/62#issuecomment-139773881
.

Yes, I am sure. If I don't select the Google APIs, I will receive the Google play services error.

In that case please follow the link below to get further assistance with
your issue.
https://support.google.com/code/contact/gcm_dev_support
On Sat, Sep 12, 2015, 10:18 AM Mansour Ahmadi<EMAIL_ADDRESS>wrote:

Yes, I am sure. If I don't select the Google APIs, I will receive the
Google play services error.
—
Reply to this email directly or view it on GitHub
https://github.com/googlesamples/google-services/issues/62#issuecomment-139774452
.

I've already submitted my request but I haven't received any solution from them.
Thanks

@ManSoSec it takes a while to investigate what is going on: sometimes it's quite hard for us to reproduce the issues. You should have received an acknowledgment of your request though, is that not the case?

Yes, they told me that they are following my case.
Thanks a lot @silvolu :+1:

Closing because gcm dev support is following this.

hi,
any feedback/solution for this ? Also have gcm notification working on my phone, but not on the emulator.

U I
o
t y
On Sat, Mar 26, 2016, 11:11 AM Elkaa01<EMAIL_ADDRESS>wrote:

hi,
any feedback/solution for this ? Also have gcm notification working on my
phone, but not on the emulator.
—
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
https://github.com/googlesamples/google-services/issues/62#issuecomment-201907967


Use an argument for JSON input

Related issue: https://github.com/Shopify/script-service/issues/6712
Because the function-runner is used by the Shopify CLI, if the function input is omitted, we want to simplify the error message so it makes sense when the CLI passes it through.
As described in the related issue, to improve this, function-runner now uses an --input argument to accept a JSON input file. If this is omitted and there's no stdin, then a simplified error message is displayed instead of the function-runner help.
Note: this is technically a breaking change since we're switching usage from function-runner [input] to function-runner --input. This could be a problem since the JS package auto-updates. However, through the CLI, this won't cause any issues since it uses stdin rather than a JSON file path.

Can the same be achieved by removing #[command(arg_required_else_help = true)] instead of changing the positional arg to a named flag?

I think changing the positional argument to a named argument is actually orthogonal to the behaviour. I implemented it because it was part of the proposed solution in the issue. The primary reasons for it being that it's a more standard CLI pattern and allows us to mirror the argument in the CLI.

The primary reasons for it being that it's a more standard CLI pattern and allows us to mirror the argument in the CLI.

Do you have examples of that? In my mind, the current behaviour is more standard (like I said, cat, less, etc.), but those may not be the best analog to function-runner.

I don't have any examples, I merely regurgitated that from the issue 😂 @nickwesselman Do you have any examples that informed that requirement?

@andrewhassan From what I recall of the conversation with @Arkham on this, Shopify CLI specifically doesn't use positional arguments, only named.

@jbourassa Does Ju's response address your concerns about positional vs. named arguments?


New Problems With video.pbs.org

I'm running into the same issue I did as #7565.  I commonly download PBS programs using youtube-dl and it usually works perfectly.  PBS must have changed something on their site because I started receiving errors yesterday.   I tested the URL in the below example in Chrome and verified that the video is actually there and plays successfully. I also updated to the most recent version of youtube-dl, 2<IP_ADDRESS>.  I'm using a  FreeBSD 10.2 machine with Python 2.7.9.
Please let me know if I should provide any other information.  Thank you!
9:45am ~ >./youtube-dl --verbose -F http://www.pbs.org/video/2365656933/
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'--verbose', u'-F', u'http://www.pbs.org/video/2365656933/']
[debug] Encodings: locale US-ASCII, fs US-ASCII, out US-ASCII, pref US-ASCII
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.9 - FreeBSD-10.2-RELEASE-p11-amd64-64bit-ELF
[debug] exe versions: ffmpeg 2.6.3, ffprobe 2.6.3
[debug] Proxy map: {}
[pbs]<PHONE_NUMBER>: Downloading JSON metadata
ERROR: Unable to download JSON metadata: HTTP Error 404: NOT FOUND (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
File "./youtube-dl/youtube_dl/extractor/common.py", line 354, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "./youtube-dl/youtube_dl/YoutubeDL.py", line 1903, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "/usr/local/lib/python2.7/urllib2.py", line 437, in open
response = meth(req, response)
File "/usr/local/lib/python2.7/urllib2.py", line 550, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/local/lib/python2.7/urllib2.py", line 475, in error
return self._call_chain(*args)
File "/usr/local/lib/python2.7/urllib2.py", line 409, in _call_chain
result = func(*args)
File "/usr/local/lib/python2.7/urllib2.py", line 558, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)

This issue is already fixed and fix will be incorporated in the next version of youtube-dl.

Thank you!


Will the availability of the technical hotline be reduced to bind resources for the TAN hotline?

Your Question
The technical hotline will only operate from 09:00-17:00h and only in German (PR)
Is this change being done to bind resources for the TAN hotline?

No answer, I don't expect one. Closing.


Create stations layout for landing page

Create this layout in new frontend template

This task is depends on "Redesign home page UI"


Add TARGET param

Previously, there was no way of having a particular stage
targetted when using the build script.
Being able to do so is particularly important for cases when
the default final stage does not need an intermediary testing
stage, meaning that such stage doesn't even get executed.
Now, with --target, one is able to have a task that explicitly
targets testing, leaving another task doing the default (or reaching
a release target).
For example:
FROM alpine AS build

	RUN echo "build" > /build

FROM alpine AS test

	RUN echo "test" > /test

FROM alpine AS release

	COPY --from=build /build /build

Without --target:
build and release are run.
With --target=test:
test is run.
Signed-off-by: Ciro S. Costa<EMAIL_ADDRESS>

I'm having some trouble testing it as it seems like there's something misconfigured in r.j3ss.co 🤔
docker pull r.j3ss.co/img:latest
Error response from daemon: Get https://r.j3ss.co/v2/img/manifests/latest: received unexpected HTTP status: 502 Bad Gateway

ooooh just saw 3f7b49ea788bea90ad0a720493491a9f21bf2f1e

Update: yeah, working well - would you mind reviewing it again, @vito? Thanks!


extras model and config stuff should be merged into the normal classes

Now that we're python 3+ only, we should have built-in support for enum.
Now that Orm.models_name and Orm.model_name exist we should be able to make the MagicOrm functionality a bit better and move it into the main Orm

This has been done over the last month. MagicOrm still exists though with some functionality I'm not ready to move into the main Orm class


AppSettingLayoutRenderer2 - Added support for ConnectionStrings Lookup

Convinced https://github.com/markmcdowell/NLog.Targets.ElasticSearch to remove their support for ConnectionStringName-Lookup because there is ${configsetting:item=ConnectionStrings.ElasticUrl}.
But now there is no help for NetFramework app.config. This allows one to use: ${appsetting:item=ConnectionStrings.ElasticUrl}.

@304NotModified Possible candidate for NLog 4.6.5 ? (Notice I have rebased to master)

4.6.5 sounds good!

Remember 4.6.5-milestone. Will update the Wiki

Thanks!

Wiki updated: https://github.com/NLog/NLog/wiki/AppSetting-Layout-Renderer

🎉


clarify puli installation

was confused by our own doc a bit here. maybe this is clearer, wdyt?

Like it.


Create delete_cluster.sh

Having this delete cluster file will help to delete the created components !!

Please merge this change !!

thanks for the PR, please L11 has # create servers it should # delete servers.
also some confirmation prompt would be good there, just in case somebody deletes the clusters by mistake

Sure !! Will fix that.
I see that the confirmation prompt is available by default.
Disabling confirmation can be implemented by
export CLOUDSDK_CORE_DISABLE_PROMPTS=1
(or)  --usage-reporting false
http://stackoverflow.com/questions/31553059/automatically-select-prompt-using-linux-sh-script
When I am done, I will update with a new PR.

Alright : PR is updated with L11 change. Please merge , when you get a chance!

👍


Text scaling is not working on iOS

Steps to Reproduce
On Samsung phone (e.g, s8), text scaling is not working properly
Screenshots
On all iOS and most the Android phones, scaling is working just fine

But for Samsung, there is the issue

Version

Flutter version: 3.3.9
auto_size_text version: 3.0.0

@AndreyKomarichev10 is this still there?  title says ios has problems, body says old samsung has the problem

sony has the problem


[WIP] Deploy Image from Container Registry to Kubernetes Cluster

Resolves
Fixes #305
Description

Improvements:

Pass in wrapped dictionary of sorts to parameterization
Add integration tests that tests against real Kubernetes cluster and registry?

Remaining work:

Additional local testing to ensure it gets correctly deployed and functions
Figure out how to pass back the service url so we can add it to the deployment object
Add additional unit and integration tests as possible
Add new issues for integrating with schema from DB, configuring options, kubeconfig from setting...

@AnoojNair / @Brett-Parker  there' additional work on this PR still, but the skeleton is there. Do you prefer me knocking out the rest on this PR, or do you want to review it as is, merge it, and continue on a smaller PR so it's easier to follow along? Either way works for me.

We'll need to set some env variables in the workflow file for the SQLite integration tests to run the end-to-end Kubernetes test
https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsenv

Currently remaining

Add CLI command to clean up Kubernetes resources after deployment
Update HTTP request to include payload to ensure successful response
Update CI workflow to set env variables and test that it works
Consolidate titanic data and models under test common folder if possible
Add additional unit tests for getting external IP
Add end-to-end test for deployment to URI with similar check to load the model and do a prediction

@Brett-Parker  / @AnoojNair this PR is finally done! 🥳
I added some additional issues for some additional functionality regarding Kubernetes deployments we want to include for v1.2, but this is a really big step in the right direction! I added an integration test that actually does end to end deploys it to a Kuberenetes Cluster in Azure (under my account) so that we can use that to automatically test that everything is working. The test is really cool as it actually trains a real model, deploys it to Kubernetes, and then we do an HTTP request with a valid ModelInput to make sure we get a response.


Allow invalid returns for signatures that return object

when returnedValue kind is Invalid, set returnedValue to undefined so that it falls to the case of returning BrsInvalid.Instance
Related issue: https://github.com/sjbarag/brs/issues/313

I'm actually going to check the brightscript reference on device to see if it will return RoInvalid


SQLExecutor - Named parameter support

I couldn't see this in the API but wanted to know if there is away to use bind/named parameters in SQLExecutor?

Have you tried?
Yes, named parameters is supported. for example:
public void test_named() {
    Account account = null; // TODO new Account().setFirstName("updatedFirstName").setId(1000);
    String sql = NE.update(Account.class).set("firstName").where(L.eq("id")).sql();
    // sql: UPDATE account SET first_name = :firstName WHERE id = :id
    sqlExecutor.update(sql, account);
}

the named parameters can be passed by entity object or Map.

Fantastic. Didn't think it would work this way. :)


Make use of oneShot?

The oneShot special function can be used to identify a function as being called a maximum of one time. This can allow for more aggressive optimisations. Is it possible to mark out continuations with this?

Couple thoughts:

Would this be as simple as making a smart constructor for Internal.Parsec that just wraps the supplied continuations with oneShots?
It is probably best to have some benchmarking to see if it is worth it, I guess.


49 content type tests

[346] - Could not save metadata Could not save metadata Could not save metadata

[346] - Allure report on Netlify: https://5e4289997ca1eeed8ee2c666--jdi-dark.netlify.com

[356] - Could not save metadata Could not save metadata Could not save metadata

[356] - Allure report on Netlify: https://5e43c44a21ab928deb148b44--jdi-dark.netlify.com

[359] - Could not save metadata Could not save metadata Could not save metadata

[359] - Allure report on Netlify: https://5e43c5ffc83e45abd7a28938--jdi-dark.netlify.com

[367] - Could not save metadata Could not save metadata Could not save metadata

[367] - Allure report on Netlify: https://5e43f20e94b3849a7ea676be--jdi-dark.netlify.com

Need to resolve conflicts with master.

[373] - https://transfer.sh/vQ7YZ/jdi-dark-tests.tar.gz

[373] - Allure report on Netlify: https://5e43fbdfb47246c3c3528182--jdi-dark.netlify.com


Bump argocd-operator version to include latest changes

What type of PR is this?
/chore
What does this PR do / why we need it:
Bump argocd-operator version to latest master to include https://github.com/argoproj-labs/argocd-operator/pull/672
Have you updated the necessary documentation?

[ ] Documentation update is required by this PR.
[ ] Documentation has been updated.

Which issue(s) this PR fixes:
Fixes #?
Test acceptance criteria:

[ ] Unit Test
[ ] E2E Test

How to test changes / Special notes to the reviewer:
gitops-operator should install all the components on an OCP 4.11 cluster

/retest

Since we are upgrading the version in https://github.com/redhat-developer/gitops-operator/pull/329 I'm closing this PR


Added Advance Dabbang Pyramid pattern in c++

Added Dabbang Pattern in C++

Kindly follow rules to contribute!!!

I am not able to find rules kindly let me know.


Harbor: cannot push docker images with layers larger than 2gb

Steps to reproduce

create a docker image that includes a large enough file such that the layer size above 2gb
push the image through the istio gateway via
docker-compose build
docker push neon-registry.18e7-091a-7bb4-d81e.neoncluster.io/project/my-app:1.0.27
0aae74a6be18: Pushing [=================================================> ]  1.995GB/2.125GB
0aae74a6be18: Retrying in 5 seconds
Error in registry-harbor-harbor-registry in the neon-system namespace:

unknown error completing upload: s3aws: ServiceUnavailable: Service Unavailable status code: 503,

minio-ss-0-0 was giving me this error:
API: SYSTEM()
Time: 03:43:13 UTC 11/12/2022
DeploymentID: f67c00ed-a9ad-4117-aa73-89695b031e72
Error: Unable to initialize storage class config: Standard storage class parity 3 should be less than or equal to 2 (*fmt.wrapError)
10: internal/logger/logger.go:278:logger.LogIf()
9: cmd/config-current.go:725:cmd.applyDynamicConfigForSubSys()
8: cmd/config-current.go:756:cmd.applyDynamicConfig()
7: cmd/config-current.go:618:cmd.lookupConfigs()
6: cmd/config-current.go:871:cmd.loadConfig()
5: cmd/config.go:235:cmd.initConfig()
4: cmd/config.go:195:cmd.(*ConfigSys).Init()
3: cmd/server-main.go:404:cmd.initConfigSubsystem()
2: cmd/server-main.go:371:cmd.initServer()
1: cmd/server-main.go:552:cmd.serverMain()
You are running an older version of MinIO released 4 months ago
Update: Run mc admin update
I then changed CRDs > tenants > minio from:

name: MINIO_STORAGE_CLASS_STANDARD
value: EC:3

to:

name: MINIO_STORAGE_CLASS_STANDARD
value: EC:2

Which seemed to fix the error, but I still can't push images larger than 2gb
Then I saw OOMKilled on minio-ss-0-0 at the same time of 0aae74a6be18: Retrying in 5 seconds
I increased the memory limits in CRDs > tenants > minio from 768Mb to 1Gi and I was then able to upload a 2gb layer.

CLOSING: I don't think we can do anything about this.


Newest electron version on npm changed data directories

I got to the bottom of #502
Electron moved the data directory, they are now found at:
$XDG_CONFIG_HOME/chromium/BitShares2-light
(~.config/chromium/BitShares2-light)
instead of where they were originally:
$XDG_CONFIG_HOME/BitShares2-light
that means if people upgrade electron and rebuild their own electron app, they will not find their wallets as the new folder is empty. Same goes for the packaged versions.
I wanted to let everyone here know that if you update your electron your users won't be able to find their wallets. Either copy over your $XDG_CONFIG_HOME/BitShares2-light to $XDG_CONFIG_HOME/chromium/BitShares2-light, or import your backed up wallets.
https://github.com/atom/electron/commit/83ae9f8d71007944b9f9e5b631740ea7a416e1b9#diff-f61b360ad8984d98baba4d962bf4d259R70

@maqifrnswa close this when you are ready.

https://bitsharestalk.org/index.php/topic,20184.new.html#new
posted here too, I think this should give enough pointers for people to be aware of any issues


Local cache config toggling causes exception

This exception seen when toggling Configs in a local cache
Traceback (most recent call last):
  File "/Users/mark.final/dev/conan/library_env310/lib/python3.10/site-packages/cruiz/manage_local_cache/managelocalcachesdialog.py", line 725, in _config_toggle_printruncommands
    self._config_toggle(checked, ConanConfigBoolean.PRINT_RUN_COMMANDS)
  File "/Users/mark.final/dev/conan/library_env310/lib/python3.10/site-packages/cruiz/manage_local_cache/managelocalcachesdialog.py", line 715, in _config_toggle
    del self._modifications["Config"][config]
KeyError: 'Config'

The problem here is the use of isVisible() on widgets to see if they're in use.
However, this is called before its parent widget is visible, so it's forever returning false.


segmentation on test data where there is no ground truth.

test_dataset = Dataset(
    x_test_dir,
    y_test_dir,
    classes=CLASSES,
    augmentation=get_validation_augmentation(),
    preprocessing=get_preprocessing(preprocess_input),
)

test_dataloader = Dataloder(test_dataset, batch_size=1, shuffle=False)

this function takes 2 inputs- image and its mask.
I tried to make the dataset only accept input image but then how to use this line preprocessing=get_preprocessing(preprocess_input)
I have basically two MRI dataset. One is for training and another for testing(where I have to crop the tumour part). Training is done. Model is also working but how to predict on test data.
I predicted like this:
for each in os.listdir('test/'):
    print(each)
    img = cv2.imread(os.path.join('test', each))
    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    img = preprocessing_fn(img)
    img = img.transpose(2, 0, 1)#.astype('float32')
    img = img.astype('uint8')/255.0
    x = torch.from_numpy(np.expand_dims(img, 0))
    y = model.predict(x.to(DEVICE))

But the model is predicting in between (10^-6 to 10^-1) for the test dataset but when I tested it on the dataset which I used for training, validation. It gave me an output either 0 or 1.

It might be because you're rescaling the image:
img = img.astype('uint8')/255.0
even though you've already pre-processed it with preprocessing_fn.
I'm not sure what it does, so maybe it's not the problem, but I've found that usually when predictions are giving out really weird results, it might be worth confirming that you're pre-processing the testing data in the same exact way that you pre-processed the training data.

@JordanMakesMaps  I am not using
test_dataset = Dataset(
    x_test_dir,
    y_test_dir,
    classes=CLASSES,
    augmentation=get_validation_augmentation(),
    preprocessing=get_preprocessing(preprocess_input),
)

As it takes 2 inputs : input image and mask image. So I am not using that. Instead predicting like this :
for each in os.listdir('test/'):
    print(each)
    img = cv2.imread(os.path.join('test', each))
    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    img = preprocessing_fn(img)
    img = img.transpose(2, 0, 1)#.astype('float32')
    img = img.astype('uint8')/255.0
    x = torch.from_numpy(np.expand_dims(img, 0))
    y = model.predict(x.to(DEVICE))

where my x_test_dir is 'test/'

@JordanMakesMaps sorry I just overlooked it. Even if I remove  img = img.astype('uint8')/255.0 problem remain the same.

class Dataset(BaseDataset):
    """
    # // TODO: Implement the Dataset class
    """

    CLASSES = ['tumour']

    def __init__(self, images_df, masks_df, class_values=[255],
                 augmentation=None, preprocessing=None):
        """
        The custom dataset class that we use in pytorch
        to extract the images and their corresponding masks.

        All the augmentation and preprocessing functions should
        follow the following criteria
            a. They should accept image and mask
            b. They should return image and mask
            c. They should not change the dimension of image and mask

        :param image_dir: Path where the images are located
        :param masks_dir: Path where the corresponding masks are located
        :param class_values: The class values that we need to segment. For each
                             different object pass a different masks values.
                             By default this value is fixed for binary segmentation
        """
        # Getting all the images and their masks
        self.images_fps = []
        self.masks_fps = []
        # Performance of iterdir() is better
        for e in range(len(images_df)):
#             imgId = e.name
#             self.images_fps.append(str(e.resolve()))
#             self.masks_fps.append(str(masks_dir.joinpath(imgId).resolve()))
            self.images_fps.append(images_df[e])
            self.masks_fps.append(masks_df[e])

        # This indicates the class values that
        # we want to extract
        self.class_values = class_values

        # The augmentation we need to perform
        self.augmentation = augmentation

        # The image preprocessing that we need to perform
        self.preprocessing = preprocessing

    def __getitem__(self, i):
        """
        Return the ith image and it's corresponding
        mask values. This function defines how an
        image should be read and converted along with
        their masks.
        """
        # read data
        image = cv2.imread(self.images_fps[i])
        image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
        mask = cv2.imread(self.masks_fps[i], 0)
        mask[np.where(mask != 0)] = 255
#         print(np.unique(mask.ravel()))
#

        # extract classes from mask
        masks = [(mask == v) for v in self.class_values]
        mask = np.stack(masks, axis=-1).astype('float32')

        # apply augmentations
        if self.augmentation:
            sample = self.augmentation(image=image, mask=mask)
            image, mask = sample['image'], sample['mask']

        # apply preprocessing
        if self.preprocessing:
            sample = self.preprocessing(image=image, mask=mask)

            # scaling the images
            image, mask = sample['image'], sample['mask']
            image = image.astype('float32')/255.0
            mask = mask.astype('float32')
        return image, mask

    def __len__(self):
        assert len(self.images_fps) == len(self.masks_fps)
        return len(self.images_fps)

The reason to use img = img.astype('uint8')/255.0 is I have used preprocessing_fn and then divide it by 255 to make it converge fast. I am not sure what preprocessing_fn does.

Where is preprocessing_fn coming from? Is that an instance of preprocess_input(backbone)? Because if it is, you don't need to do img = img.astype('uint8')/255.0; @qubvel's preprocess_input() will do some normalization method on the images and is different for each specific backbone (VGG, ResNet, EfficientNet).
So when you're making predictions on testing data, and you preprocess_fn() on the images and then rescaling them by 255, the the values are way out of wack (e.g. they're much smaller in value that what the training images were)
One way to check the values between each normalization process is using numpy.ptp(img, axis = 2), which gives you the min-max range across channels. I think what's happening is you're rescaling the image twice?


Split BufferedIO in to Reader/Writer/Seeker modules.

This is the first PR in a series for adding type safety to IO methods.  Individual IO's that only support read or write will be of a Reader or Writer class turning runtime errors in to compiler errors.  (STDIN.write won't compile)
There is one still one issue with including modules.  I would like [Reader, Writer, Seeker] to include Common but .close (from Common) stops working when doing so.
Is there a way to include a module once?

You say "STDIN.write won't compile", but STDIN is still a FileDescriptorIO. So it still compiles. Or am I misunderstanding something?

@asterite next PR after this one is merged.

@technorama What would the type of STDIN be in that next PR?

stdin = IO::FileDescriptor::Reader
stdout = IO::FileDescriptor::Writer
stderr = IO::FileDescriptor::Writer

And what's a Socket or a File? Maybe it's better if you show us the full hierarchy.

Socket is still a Socket.  it's always read write as there is no way to create a unidirectional socket.
File is a base class for compatibility with is_a?(File) that contains methods like stat that don't belong to read or write
File.new uses mode to select the correct class maintaining compatibility and simplicity.
File::Reader
File::Writer
File::ReaderWriter

I guess it's better if you add all of that to this PR so we can see the final result.
But I think it's much simpler if there's just IO. Look at how many concepts one has to learn: IO::Buffered::Common, IO::Buffered::Reader, IO::Buffered::Writer, IO::Buffered::Seeker, File::Reader, File::Writer, File::ReaderWriter, etc., vs. IO, BufferedIO, File.
I don't think doing STDIN.write is a common mistake. Furthermore:

File.new uses mode to select the correct class maintaining compatibility and simplicity.

So the returned type is a union of something that's either Reader or Writer? Then you can't read or write from it, because the other type doesn't have that method. How does it work?
For me, coming from other languages like Java, where you have InputStream, FileInputStream, BufferedInputStream, etc., vs. "just IO" (r) in Ruby was a breadth of fresh air.

I wasn't aware that the return was a union.  I assumed the compiler was smart enough because the switch statement has distinct types for specific inputs.  Perhaps File can't be modified without compiler enhancements.

There are multiple goals with this series of PR's.

Reduce the requirements of library authors implementing IO interfaces.  Currently you must implement a full, bidirectional, seekable IO interface which is not always possible (compression libraries, encryption wrappers, etc).

Create more accurate documentation.  If you include the current IO module will incorrectly show you can read from GzipWriter.  Confusion with a few extra classes or confusion from extra methods that don't work.  That's the choice.

Split the IO files in to reader/writer/seeker modules so we can see the cross dependencies between them or in most cases see there aren't any.  For BufferedIO this seems like a no brainer.  No one references BufferedIO except those implementing IO interfaces.  FileDescriptorIO is debatable (although type safety for pipes is guaranteed if the PR's are accepted).  File may not be possible without compiler enhancements or breaking backwards compatibility.

Just to think about is, which is harder to understand:
File.new("name", "w")
File::Writer.new("name")

We'll sit down with @waj and review this again, but we'll probably reject it because the current design is much simpler, even though it allows you to write to a read-only IO. But that error isn't frequent, and you find out very quickly.


[Feature request] Support lookup join in Flink 1.15

Hello, I am a user of flink-clickhouse-connector and I am interested in using lookup join with ClickHouse tables in Flink 1.15. I noticed that the connector supports lookup join in Flink 1.16, but not in Flink 1.15. Is there any possibility to backport this feature to Flink 1.15? If so, what are the steps and challenges involved? If not, what are the reasons and limitations? Thank you for your time and attention.

Hi @nylqd
The user-side interfaces of the lookup feature have significant changes in Flink 1.16, therefore it may be difficult to backport to an earlier version.


Calibrate Pipette Mount: Confirm Success and Exit

As a robot user whose robot completed pipette mount calibration tip probe, I would like to be informed of its success and given the option to exit or change another pipette.
Acceptance Criteria

After robot successfully completes tip probe, user informed pipette mount calibration is complete, and that their robot's calibration has been update
User given option to exit and return to robot settings page
User given option to change another pipette

Design

TBD

Implementation Notes

Note this story does not cover failure case. App/robot does not handle failure gracefully today; failure case will be covered in a separate user story, but should be implemented independently.

in current implantation - we do not allow user option to change another pipette. user must exit and select change again from robot settings page.

@pantslakz updated to only cover exit


Getting iOS version error

When I run rake spec, I get error says:
ERROR! You are using RubyMotion Starter. Only iOS 9.3 is supported in this release. If you would like to target older or newer (in beta) versions of iOS you can purchase a paid subscription.
What Can I do beside purchasing a paid subscription?
Thanks

Hey @Rubioli, this is actually a RubyMotion error. You can see the different payment plans they offer here http://www.rubymotion.com/download/
You're probably on the free version which doesn't work with the latest iOS SDKs. You'll need to download the iOS SDK 9.3 or lower in Xcode and then specify that in your rakefile... otherwise RubyMotion uses the most recent SDK you have in Xcode by default.

@Rubioli In addition, you may be unnecessarily specifying a app.deployment_target in your RubyMotion project configuration (in your app's Rakefile). You can remove that line and your error should go away.


⬆<EMAIL_ADDRESS>

Bumps focus-trap from 2.4.5 to 6.1.0

Superseded by https://github.com/atom/atom/pull/21363


Nonuniform slice thickness

I'm not certain, but when a stack of DICOM has nonuniform slice thickness, creation of a mask may be incorrect due to application of the transformation matrix to the stacked array of slices.

In addition, multiple acquisitions seem not to be supported (they become stacked in the third dimension, rather than separated in the fourth or higher dimension)


Add glob input to override default globstar

Adds the ability to set the glob pattern for matching Terraform directories. Now, users can match a glob pattern to customize which Terraform module directories are returned. For example, if you put your test modules in a __tests__ dir a la Jest and wanted to match that:
glob: '**/__tests__/*'

This option will match any Terraform module directory whose parent directory is named __tests__ at any level.
It could also be used to disable globstar (recursive) matching:
working-directory: 'tests'
glob: '*'

This matches only direct child directories of tests/, and will not match tests/a/b.
The definition of a Terraform module directory is unchanged and remains non-customizable (anything with .tf and .tf.json files).

Is there any way to exclude certain directories?

Open an issue and describe your use case for feature requests.


DLS-6666 credit for lost damaged

ticket details -> https://jira.tools.tax.service.gov.uk/browse/DLS-6666

As of now we don't have change your answers page, so the click on No is redirected to return-change-registration page only. Will incorporate more logic once change your answers page is ready


How can i use TibiaLyzer at 10.98, is it possible?

If its possible, how can i do it? thank you

Click the Download New Addresses button.


ClassCastException on render

Exception while rendering! #error {
 :cause class java.lang.String cannot be cast to class clojure.lang.IFn (java.lang.String is in module java.base of loader 'bootstrap'; clojure.lang.IFn is in unnamed module of loader 'app')
 :via
 [{:type java.lang.ClassCastException
   :message class java.lang.String cannot be cast to class clojure.lang.IFn (java.lang.String is in module java.base of loader 'bootstrap'; clojure.lang.IFn is in unnamed module of loader 'app')
   :at [ripley.live.context$render_with_context$fn__13925 invoke context.clj 220]}]
 :trace
 [[ripley.live.context$render_with_context$fn__13925 invoke context.clj 220]
  [ring.util.io$piped_input_stream$fn__205 invoke io.clj 28]
  [clojure.core$binding_conveyor_fn$fn__5823 invoke core.clj 2047]
  [clojure.lang.AFn call AFn.java 18]
  [java.util.concurrent.FutureTask run FutureTask.java 317]
  [java.util.concurrent.ThreadPoolExecutor runWorker ThreadPoolExecutor.java 1144]
  [java.util.concurrent.ThreadPoolExecutor$Worker run ThreadPoolExecutor.java 642]
  [java.lang.Thread run Thread.java 1589]]}

This feels faintly like I haven't sussed out one of the wrapping functions that's needed; I think I have them all, but let's find out. Here's the calling view code:
(defn node [obj]
  (let [[selected-tab select-tab] (source/use-state 0)]
    (hc/html
     [:main#nodeview
      [:header
       [:details {:open true}
        [:summary
         [:nav#breadcrumb]
         [:h1 (:title obj)]]

        [:article (:body obj)]

        [:nav#nodelinks]
        [:aside#incominglinks]]]
      [::h/live {:source selected-tab
                 :component (fn [tab]
                              (h/html [:section#nodetabs.two-up
                                       [:nav [:ul
                                              [:li {:on-click (fn [] (select-tab 0))}
                                               (when (= tab 0) {:set-attributes {:class "open"}}) [:h6 "Subnodes"]]
                                              [:li {:on-click (fn [] (select-tab 1))}
                                               (when (= tab 1) {:set-attributes {:class "open"}}) [:h6 "Properties"]]]]
                                       (when (= tab 0) [:aside#subnodes.active
                                                        (subnodes obj)])
                                       (when (= tab 1) [:aside#properties
                                                        [:div.place (if (:props obj) "props!" "no props")]])]))}]])))

The hc namespace is hiccup, and h is ripley.html. I was getting a different error on top of this one with h/html (at line 3 above, I mean), that using hiccup's at the top of this function got rid of... if that makes sense.

I don't understand why you use hiccup as it doesn't understand ::h/live definitions. I wouldn't expect that to work.
Also you can use [::h/when inside h/html macros or you need to use h/html again inside the when blocks.
For an example of tab component, you could look at https://github.com/tatut/xtdb-inspector/blob/main/src/xtdb_inspector/ui/tabs.clj


Fix some typos on logs

Codecov Report

Merging #71 (7b863e1) into main (8150eb9) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main      #71   +/-   ##
=======================================
  Coverage   80.66%   80.66%
=======================================
  Files          15       15
  Lines         843      843
=======================================
  Hits          680      680
  Misses        102      102
  Partials       61       61

Impacted Files
Coverage Δ

internal/secret/process/process.go
100.00% <100.00%> (ø)

internal/storage/fs/key.go
72.15% <100.00%> (ø)

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 8150eb9...7b863e1. Read the comment docs.


Bug #178 Getters can not be added to non-Copy types

To fix bug #178, I add a macro clone_get, so field (such as String) without copy trait can use
#[prop(clone_get)].
If there is another way to do it better please kindly tell me.
Thank you.

Thank you for your pull request! I've dug a bit deeper into the issue and seems we can just always clone, i.e. use CloneGetter you wrote everywhere instead of Getter. (Copy implies Clone and borrows from python into rust struct fields leads to a lot of very complex problems, so clone is the most sane option).
I've changed that in 60d1565a8, which should both resolve this and #178. Feel free to open another  issue if something's missing there.


Add  Console.WriteLine("Hello from DNX!");

See https://github.com/aspnet/Docs/pull/564/files
Since common can be used anywhere, need to make sure this update doesn't break any sample docs.

Was fixed in issue #719