Mongo to pandas

If I understand the docs this should be working:
odo('mongodb://localhost:27017/planet_four::planet_four_subjects',
    'hdfstore://Users/klay6683/data/planet4/2015-03-31.h5::/df')

I also tried removing the / in front of df:
odo('mongodb://localhost:27017/planet_four::planet_four_subjects',
    'hdfstore://Users/klay6683/data/planet4/2015-03-31.h5::df')

and without a path:
odo('mongodb://localhost:27017/planet_four::planet_four_subjects',
    'hdfstore://Users/klay6683/data/planet4/2015-03-31.h5')

and also tried using '.hdf5' as extension.
I always get this error:
/Users/klay6683/miniconda3/lib/python3.4/site-packages/datashape/discovery.py in discover(o, **kwargs)
     51         return from_numpy(o.shape, o.dtype)
     52     raise NotImplementedError("Don't know how to discover type %r" %
---> 53                               type(o).__name__)
     54
     55

NotImplementedError: Don't know how to discover type 'ObjectId'

System: Python 3.4, via conda on a Mac
$ conda list odo
packages in environment at /Users/klay6683/miniconda3:

odo                       0.3.1                np19py34_0

Your collection holds ObjectIds in a field that is not named _id.  This is
slightly atypical but something to which odo should probably be robust.
Discover on mongo collections should probably look for this case and ignore
that column.
On Wed, Apr 1, 2015 at 11:01 AM, K.-Michael Aye<EMAIL_ADDRESS>wrote:

If I understand the docs this should be working:
odo('mongodb://localhost:27017/planet_four::planet_four_subjects',
'hdfstore://Users/klay6683/data/planet4/2015-03-31.h5::/df')
I also tried removing the / in front of df:
odo('mongodb://localhost:27017/planet_four::planet_four_subjects',
'hdfstore://Users/klay6683/data/planet4/2015-03-31.h5::df')
and without a path:
odo('mongodb://localhost:27017/planet_four::planet_four_subjects',
'hdfstore://Users/klay6683/data/planet4/2015-03-31.h5')
and also tried using '.hdf5' as extension.
I always get this error:
/Users/klay6683/miniconda3/lib/python3.4/site-packages/datashape/discovery.py in discover(o, **kwargs)
51         return from_numpy(o.shape, o.dtype)
52     raise NotImplementedError("Don't know how to discover type %r" %---> 53                               type(o).name)
54
55
NotImplementedError: Don't know how to discover type 'ObjectId'
System: Python 3.4, via conda on a Mac
$ conda list odo
packages in environment at /Users/klay6683/miniconda3:

odo 0.3.1 np19py34_0
—
Reply to this email directly or view it on GitHub
https://github.com/ContinuumIO/odo/issues/160.

I don't know really anything about Mongo (hence trying to get to HDF), so I might be out of my waters here, but:
subjects.find_one().keys()

dict_keys(['state', 'project_id', 'classification_count', 'zooniverse_id', 'created_at', '_id', 'location', 'updated_at', 'workflow_ids', 'random', 'activated_at', 'metadata', 'coords'])

at least I see an '_id' there in the keys?

Mongo stores keys as type ObjectId.  Normally Odo tries to filter these out
before migrating to other formats.  Currently it only checks the _id
field.  If you have ObjectIds in other fields then it has problems.
Actually, that's not true, it looks like we've fixed this in diiscover
https://github.com/ContinuumIO/odo/blob/master/odo/backends/mongo.py#L18-L31
But we haven't yet copied that fix over to Collection -> Iterator
https://github.com/ContinuumIO/odo/blob/master/odo/backends/mongo.py#L34-L47
On Wed, Apr 1, 2015 at 11:10 AM, K.-Michael Aye<EMAIL_ADDRESS>wrote:

I don't know really anything about Mongo (hence trying to get to HDF), so
I might be out of my waters here, but:
subjects.find_one().keys()
dict_keys(['state', 'project_id', 'classification_count', 'zooniverse_id', 'created_at', '_id', 'location', 'updated_at', 'workflow_ids', 'random', 'activated_at', 'metadata', 'coords'])
at least I see an '_id' there in the keys?
—
Reply to this email directly or view it on GitHub
https://github.com/ContinuumIO/odo/issues/160#issuecomment-88580306.

As always, contributions welcome.
On Wed, Apr 1, 2015 at 11:22 AM, Matthew Rocklin<EMAIL_ADDRESS>wrote:

Mongo stores keys as type ObjectId.  Normally Odo tries to filter these
out before migrating to other formats.  Currently it only checks the _id
field.  If you have ObjectIds in other fields then it has problems.
Actually, that's not true, it looks like we've fixed this in diiscover
https://github.com/ContinuumIO/odo/blob/master/odo/backends/mongo.py#L18-L31
But we haven't yet copied that fix over to Collection -> Iterator
https://github.com/ContinuumIO/odo/blob/master/odo/backends/mongo.py#L34-L47
On Wed, Apr 1, 2015 at 11:10 AM, K.-Michael Aye<EMAIL_ADDRESS>wrote:

I don't know really anything about Mongo (hence trying to get to HDF), so
I might be out of my waters here, but:
subjects.find_one().keys()
dict_keys(['state', 'project_id', 'classification_count', 'zooniverse_id', 'created_at', '_id', 'location', 'updated_at', 'workflow_ids', 'random', 'activated_at', 'metadata', 'coords'])
at least I see an '_id' there in the keys?
—
Reply to this email directly or view it on GitHub
https://github.com/ContinuumIO/odo/issues/160#issuecomment-88580306.

Sorry, that is all spanish to me, I would not know where to start.

is ds = discover(items) the line that solves it in discover_pymongo_collection?
i don't understand the relationship between _into_iter_mongodb and discover_pymongo_collection

Weird: I tried the first lines of
https://github.com/ContinuumIO/odo/blob/master/odo/backends/mongo.py#L18-L31
and they still fail at the discover step:
items = list(take(1, subjects.find()))
oid_cols = [k for k,v in items[0].items() if isinstance(v, ObjectId)]
print("OID_cols:\n",oid_cols)
item = items[0]
for col in oid_cols:
    del item[col]
print('items[0].keys():\n',items[0].keys())
discover(items)

OID_cols:
 ['project_id', '_id']
items[0].keys():
 dict_keys(['created_at', 'zooniverse_id', 'activated_at', 'workflow_ids', 'state', 'metadata', 'coords', 'classification_count', 'random', 'updated_at', 'location'])
---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
<ipython-input-41-a604cb9ba990> in <module>()
      6     del item[col]
      7 print('items[0].keys():\n',items[0].keys())
----> 8 discover(items)

/Users/klay6683/miniconda3/lib/python3.4/site-packages/multipledispatch/dispatcher.py in __call__(self, *args, **kwargs)
    161             self._cache[types] = func
    162         try:
--> 163             return func(*args, **kwargs)
    164
    165         except MDNotImplementedError:

/Users/klay6683/miniconda3/lib/python3.4/site-packages/datashape/discovery.py in discover(seq)
    188         try:
    189             types = [unite([discover(data) for data in column]).subshape[0]
--> 190                                            for column in columns]
    191             return len(seq) * Record(list(zip(keys, types)))
    192         except AttributeError:

/Users/klay6683/miniconda3/lib/python3.4/site-packages/datashape/discovery.py in <listcomp>(.0)
    188         try:
    189             types = [unite([discover(data) for data in column]).subshape[0]
--> 190                                            for column in columns]
    191             return len(seq) * Record(list(zip(keys, types)))
    192         except AttributeError:

/Users/klay6683/miniconda3/lib/python3.4/site-packages/datashape/discovery.py in <listcomp>(.0)
    187         columns = [[item.get(key) for item in seq] for key in keys]
    188         try:
--> 189             types = [unite([discover(data) for data in column]).subshape[0]
    190                                            for column in columns]
    191             return len(seq) * Record(list(zip(keys, types)))

/Users/klay6683/miniconda3/lib/python3.4/site-packages/multipledispatch/dispatcher.py in __call__(self, *args, **kwargs)
    161             self._cache[types] = func
    162         try:
--> 163             return func(*args, **kwargs)
    164
    165         except MDNotImplementedError:

/Users/klay6683/miniconda3/lib/python3.4/site-packages/datashape/discovery.py in discover(seq)
    193             pass
    194
--> 195     types = list(map(discover, seq))
    196     return do_one([unite_identical, unite_merge_dimensions, Tuple])(types)
    197

/Users/klay6683/miniconda3/lib/python3.4/site-packages/multipledispatch/dispatcher.py in __call__(self, *args, **kwargs)
    161             self._cache[types] = func
    162         try:
--> 163             return func(*args, **kwargs)
    164
    165         except MDNotImplementedError:

/Users/klay6683/miniconda3/lib/python3.4/site-packages/datashape/discovery.py in discover(o, **kwargs)
     51         return from_numpy(o.shape, o.dtype)
     52     raise NotImplementedError("Don't know how to discover type %r" %
---> 53                               type(o).__name__)
     54
     55

NotImplementedError: Don't know how to discover type 'ObjectId'

@michaelaye @mrocklin i can't reproduce this error anymore, closing


Shift indexing approach to push all properties to the asset level and then summarise assets to items and items to collections.

Assets

[x] Move facet extraction components from the item-generator to the asset-generator workflow

Facet extraction workflow
Item ID generation function

[x] Test on small subset of data (faam, cmip)

Items

[ ] Remove facet extraction elements from workflow
[ ] Create workflow to summarise asset properties to create items

Questions

How do we tidy up orphaned items? (where item IDs change in assets)
What is the object used to form the aggregations? (currently all workflows use paths, do we need to use item IDs?) This applies to the collection-generator as well.

Asset-scanner

https://github.com/cedadev/asset-scanner/pull/26
file_input and file_output plugins to text files.
Moved elasticsearch_aggregator into framework level that is used commonly by item and collection generator.

Asset-generator

https://github.com/cedadev/asset-generator/pull/21
Generator properties in asset level and push to output.
Create a header output that can be sent to the item level as an input
Use LRU cache to deduplicate header output

Collection-generator

https://github.com/cedadev/collection-generator/pull/6
elasticsearch_aggregator and co. moved to asset_scanner framework

Item-generator

https://github.com/cedadev/item-generator/pull/44
Use the elasticsearch_aggregator to pull asset facet aggregations and merge to output

TO-DO

[ ] JSON output
[ ] JSON aggregator

TO-DO

[ ] rabbit output plugin
[ ] maybe look at a popping LRU cache?
[ ] LRU cache: if in cache add delay to header, if not send straight away.

PRs for Rabbit deduplication:

https://github.com/cedadev/asset-generator/pull/24/
https://github.com/cedadev/item-generator/pull/48/
https://github.com/cedadev/asset-scanner/pull/32/

if deduplication enabled, skip the output if the object id is in the cache. if deduplication false then if the object id is in the cache, create kwargs with duplicate=True and id=object_id which is then used in the rabbit plugin and handled there.
The rabbit plugin adds a delay, default 30s, if duplicate is true in the kwargs and pass the x-message-deduplication to the header with the id that will do a rabbit side deduplication handled by the rabbit plugin


fixes

Coverage increased (+0.6%) to 94.357% when pulling 7970fcce507a61ee08f2188b7bfc09f850903883 on sergio-ocon:minor_test_improvement into d5f6a6e6b9edd2c51423073d9cb2ccb55f894443 on propedeutica:master.

Coverage increased (+0.6%) to 94.357% when pulling e61ba772934aec357513f82a363b9e8f656f6a3d on sergio-ocon:minor_test_improvement into d5f6a6e6b9edd2c51423073d9cb2ccb55f894443 on propedeutica:master.


Cannot install version 1.6.2

I install version 1.6.2 via cocoapods. But when successfully installed in the core section, there is only ConnectSDKDefaultPlatforms. Also, there are no files left.

Use :submodules => true, like this:
  pod 'ConnectSDK', :git => 'https://github.com/ConnectSDK/Connect-SDK-iOS.git', :commit => 'cfd489e9bb1178be16a178e8541ab7a344afe882', :submodules => true

thanks, Worked for me

@AntonBelousov @hisunguyen99
Thanks for confirm.
I need help for DiscoveryManager device not found and delegate not called, Please Help me if possible

Hi @Gopal02024
Can you please describe error or Screenshot for error?
Otherwise try with run on real device, i hope it's help for us.

Hi @Gopal02024
Can you please describe error or Screenshot for error?
Otherwise try with run on real device, i hope it's help for us.

I got the below error
'NO such Module ConnectSDK'

Try with run on Rosette
Product -> Destination

Not see Destination Architecture.

Hello @HarshadTechmero ,
How to Roku device Authentication?Any idea about it?

Hi @Gopal02024 You can try with this link https://www.youtube.com/watch?v=oW_zZdtD_zs

Thanks


Auto export is not working

I am using the latest Zotero version with the latest version of better biblatex. When I export "My Library" (this used to work last week before a bunch of updates), with the Keep updated checked, the exported file does not appear in the list of auto exports.
Can you please help me debug this?

This is erratic. I just tried again (no change). It worked. Then I tested it again (deleted the auto export, created another), and it didn't. I don't think I can reproduce it, so I am closing it.

I don't like erratic. If it happens again, can you send me a debug log via
"send better bibtex error" from the gear menu?

I will!
On Thu, Jan 28, 2016 at 1:26 AM, retorquere<EMAIL_ADDRESS>wrote:

I don't like erratic. If it happens again, can you send me a debug log via
"send better bibtex error" from the gear menu?
—
Reply to this email directly or view it on GitHub
https://github.com/ZotPlus/zotero-better-bibtex/issues/440#issuecomment-175824158
.


Local Couch setup

Make a local couch setup available for internal use as we keep hitting the free CloudAnt tier limit.

Fixed in #113


[Implement] Naive Buffer.from, and friends

Implements Buffer.from<T>(value: T) and a few other convenience functions.
There are lots of obvious problems with not having the function overloads, but there are different paths we can take.
For instance, because there are no optional parameters, we must assume that the default encoding for strings is UTF8.
// utf-16 has a work around in AssemblyScript
let buff = Buffer.from(String.UTF16.encode(value));

// using Buffer.fromString(value, "utf16le");

Things to note about this function:

String[] objects do something complicated: string -> f64 -> u8 to remain compatible with node.

> Buffer.from(["3", "257.3", "15", "Infinity", "NaN"])
<Buffer 03 01 0F 00 00>

String objects need to be converted to UTF8
Buffer objects share their view of the same ArrayBuffer
ArrayBuffer objects are simply attached to a new Buffer
ArrayBufferView objects need to convert their values to u8.

@RedDwarfian and @dcodeIO  thoughts on this pull request?

It is not clear in the Naive Buffer.from code where non-string arrays such as Array<u8> are handled. I would suggest adding a comment to clarify that.

We might like to pull the ASCII encoding pull request first. #27
Otherwise, this is ready for review.


Translations

I think we can use react-i18next (https://react.i18next.com/getting-started) to support to translations
~I will first do it with http-backend-module: translations will be loaded by the browser on runtime.~
We can think about generating needed translations from the backend in another PR if it's necessary.
Details
In order to make it easy to navigate and avoid loading many json files, http-backend-module will not be used.
Translations files will be plain .ts files imported in the i18next config (see src/config/i18next.ts).
The structure will look like this:
- 📁 src/
  - 📁 i18n/
    - 📁 en/
      - 📝 auth.ts
      - 📝 common.ts
      - 📝 layout.ts
      - index.ts    // All files should be exported in this one, this is the on loaded for all EN translations
    - 📁 fr/
      - 📝 auth.ts
      - 📝 common.ts
      - 📝 layout.ts
      - index.ts    // All files should be exported in this one, this is the on loaded for all FR translations

Here, all translation files (📝) are named after the folder in the app folder they translate (auth for src/app/auth, layout for src/app/layout, and so on).

Some questions we will need to ask

should we use the lang stored in jhipster backend ? or should we detect it using i18next-browser-languagedetector ?
Where to put the language switcher ?

In the navbar
In the footer
In a Settings page
In the profile page

We will handle the language persistance inside another PR.
Right now, the PR adds the following:

Support for EN and FR translations
Detect language based on system properties (thanks to i18next-browser-languagedetector) and persist it in the local-storage
Translations added on all pages with content
Basic file structure

Translations file and object structure is a subject opened to discussion :)


Site Admin Assignments Updates

Looks good  :shipit:

@shawnwildermuth Can you resolve the merge conflicts and update the PR?


If an external console instance is open, the shortcut for toggling the integrated terminal (ctrl + `) toggles the external console instance and not the integrated one.

VSCode Version: Code 1.10.2 (8076a19fdcab7e1fc1707952d652f0bb6c6db331, 2017-03-08T14:02:52.799Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions:

Extension
Author
Version

react-beautify
taichi
0.3.0

ReactSnippetsStandard
TimonVS
1.1.0

react-redux-es6-snippets
timothymclane
2.0.2

vscode-react-native
vsmobile
0.3.1

ReactSnippets
xabikos
1.2.1

Steps to Reproduce:

Open a console, e.g. ConEmu for Windows
Open a project in VS Code
Press ctrl + `

If the integrated terminal is toggled by navigating to View > Integrated Terminal, it works.

ConEmu/cmder intercept the keybinding, nothing we can do on our end.

For anyone, who might stumble on this, in case of ConEmu:


Cleanup unused imports for --no-default-features

Description of changes:
I noticed that I got a lot of warnings when I tried running
cargo test --no-default-features

This fixes the warnings related to imports. There are some other warnings related to fields never being read (tested), but they can be fixed in other PRs.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT license.

I likely missed some imports in some configurations, so this PR is mostly here to let the CI run and tell me where there are problems.


TcpIpJoinerOverAWS

OrientDB Version: 2.2.29
Expected behavior
Aws Hazelcast node discovery
Actual behavior
server fails with TcpIpJoinerOverAWS class not found exception
Steps to reproduce
It looks to me like when https://github.com/orientechnologies/orientdb/wiki/OrientDB-2.2-Release-Notes#2226---august-16-2017 happened, the hazelcast cloud library was not added.
Is there something else in place of it or just something that was overlooked ?

Sorry, it looks like I needed to upgrade my hazelcast configuration to use the new AwsDiscoveryStrategy
https://github.com/hazelcast/hazelcast-aws


i18n: ensure the prebound gettext objects have the "locale" property

In certain compatibility code paths, ThingTalk retrieves the locale
to use for formatting from the passed gettext object.
If the locale is undefined, it falls back to a generic English-like
locale that is not appropriate for American English.
Fixes https://github.com/stanford-oval/thingtalk/issues/140

Pull Request Test Coverage Report for Build 1483

0 of 0   changed or added relevant lines in 0 files are covered.
278 unchanged lines in 16 files lost coverage.
Overall coverage decreased (-0.7%) to 64.569%

Files with Coverage Reduction
New Missed Lines
%

routes/my_conversation.js
1
62.83%

scripts/execute-sql-file.js
2
83.33%

almond/assistant.js
4
76.71%

nlp/main.js
4
89.58%

util/training_server.js
6
52.11%

nlp/nlp_model.js
10
56.82%

almond/worker.js
12
83.64%

util/config_init.js
12
69.51%

nlp/admin.js
14
21.43%

almond/master.js
16
75.47%

Totals

Change from base Build 1463:
-0.7%

Covered Lines:
6347

Relevant Lines:
9268

💛  - Coveralls


Create openjdk11_hs_openjdktest_arm_linux

And maybe openjdk11_hs_perftest_arm_linux too if possible.
We now have https://ci.adoptopenjdk.net/job/build-scripts/job/jobs/job/jdk11u/job/jdk11u-linux-arm-hotspot producing builds that seem to be operational, so would be good to be able to run the standard test suite against them and find out how good they really are :-)

sure, we follow this naming convention for test jobs:
https://github.com/AdoptOpenJDK/openjdk-tests/wiki/Naming-Convention-for-Test-Builds-in-Jenkins
A while back, I had polled the slack channel for opinions on arm vs aarch, with most voting for aarch64 and aarch32, so I will create:
openjdk11_hs_openjdktest_aarch32_linux and openjdk11_hs_perftest_aarch32_linux for now (with option to add a systemtest job later too depending on execution times)

Needs #721 and a test machine
https://ci.adoptopenjdk.net/view/Test_openjdk/job/openjdk11_hs_openjdktest_aarch32_linux/
https://ci.adoptopenjdk.net/view/Test_perf/job/openjdk11_hs_perftest_aarch32_linux/


create docs to 1-10, change docs theme, change package version

Codecov Report

Merging #19 (b0e2d36) into main (db82b2f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #19   +/-   ##
=======================================
  Coverage   43.07%   43.07%
=======================================
  Files         107      107
  Lines        8934     8934
  Branches     1340     1340
=======================================
  Hits         3848     3848
  Misses       4697     4697
  Partials      389      389

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 db82b2f...b0e2d36. Read the comment docs.


[BUG] - 'azuread - v3.0.1' breaks workload zone deployment - Error 'expected "object_id" to be a valid UUID'

Hello. Since this Friday our openQA based SDAF tests are failing with what looks like malformed string which produces error message:
{"@level":"error","@message":"Error: expected \"object_id\" to be a valid UUID, got /servicePrincipals/<REDACTED UUID>","@module":"terraform.ui","@timestamp":"2024-10-01T07:00:54.808297Z","diagnostic":{"severity":"error","summary":"expected \"object_id\" to be a valid UUID, got /servicePrincipals/<REDACTED UUID>","detail":"","address":"module.sap_landscape.azurerm_key_vault_access_policy.kv_user[0]","range":{"filename":"../../terraform-units/modules/sap_landscape/key_vault_sap_landscape.tf","start":{"line":105,"column":42,"byte":6021},"end":{"line":105,"column":158,"byte":6137}},"snippet":{"context":"resource \"azurerm_key_vault_access_policy\" \"kv_user\"","code":"  object_id                            = local.service_principal.object_id != \"\" ? local.service_principal.object_id : \"00000000-0000-0000-0000-000000000000\"","start_line":105,"highlight_start_offset":41,"highlight_end_offset":157,"values":[]}},"type":"diagnostic"}

#########################################################################################
#                                                                                #
#                          !Errors during the apply phase!                              #
#                            expected "object_id" to be a valid UUID, got /servicePrincipals/<REDACTED UUID>
#                            expected "object_id" to be a valid UUID, got /servicePrincipals/<REDACTED UUID>
#                                                                                #
#########################################################################################

Strange thing is, nothing really changed on our side but we are as well using same SDAF tag  v<IP_ADDRESS> which if I understand correctly should not introduce any changes as well, right?
The only thing that comes to my mind is the SDAF templates repository where we use master version.
Any idea what could be causing this ?
Thanks.
Lumir.

With help of @KimForss  we figured out that the issue was with terraform provider 'azuread' version being changed from 'v2.53.1' to 'v3.0.1'


Final merge of topic-gpio branch

Push HEAD^ when it passes so the shippable override is not included.

Tagging as DNM since it has the minions tweak commit


removed mscustom tag

FYI in case ur trying to get them all out, this one is also at ...

aspnetcore\security\key-vault-configuration.md
aspnetcore\azure\devops\deploying-to-app-service.md

After 24 hours "Some checks haven't completed yet"?
#sign-off
This is a metadata change that does not require author review.

Builds get stuck sometimes. I'll see if re-opening will clear it.


Add "Context" to Visualiser

It would be good if the visualiser took into consideration the context variables and the guards good make use of these. For example, if we created a loop with a counter. If the visualiser could store the counter in the context and the guards could read it and evaluation the condition, an outcome could be automatically determined.
That way we can more accurately test that the context variables in the visualiser before implementing the diagram in XState.

AFAIK it does already! Are you noticing something different?

Or are you using it from within vscode?

This is with stately.ai. I've hooked up my xstate machine to https://statecharts.io/ which I can visualise a real machine, but stately.ai I was hoping to use as a full demonstration before implementation.

I can see the context on stately.ai/viz but not in the vs code extension. Is this expected?


int ambiguity solution force creates dicts when no pre-existing dict exists, breaking previous functionality

The int ambiguity fix introduced in 2.1.1 changed how new creates elements by assuming all numeric keys are not list indexes but dict keys. The idea of the int ambiguity PR, as I understood it, was to check if an existing key exists as a dict and if so assume the numeric value is a string and not an integer (and it's container is a dict).
However, if the target object of new is empty (i.e, we're creating into a blank dict), the update assumes all numeric keys are dict keys.
Any previous implementation that operated on an empty dict ({}) and relied on keys like a/b/0/c/0/d to result as:
{"a": {"b": [ {"c": [ {"d": "value"} ]} ] } }
are now broken as they appear as:
{"a": {"b": { "0": {"c": {"0" {"d": "value"} } } } } }
I appreciate the value in both approaches but the intuitive method is how it was before, that numeric keys are assumed list indexes. Not to mention this particular change is subtle enough to be missed in many cases and only discovered at a later time when data corruption has already happened.
I propose that the original functionality remains the default and the new one can be triggered by either some flat, an option or a ready made creator function.

Hi Harel,
The int ambiguity issue is a tough one, every time I think the solution is down it comes back to bite me in the ass...
I like the idea of having multiple ready made creator functions for different use cases. Better than option flags in my opinion.
Let me have a proper look at this again, hopefully for the last time.
Thanks for your valuable feedback and Shabbat Shalom

Shalom!
Thanks. I'm happy to jump in and have a stab at it. I agree multiple ready baked creators are nicer. The issue in this particular case is that the original PR stated it will only create dicts if a dict already exists so it's just failing that test I think, where no dict exists and a list is to be created.
Thanks for dpath by the way. I've been introducing it to many companies I work with and it's always my "look at that thing" moment.

I've created this fix which makes both scenarios work now. I would like to fix the relevant tests to include these as well, but otherwise this could work for now.
import dpath
x={}
dpath.new(x, 'a/b/0/c/0', 'hello')
{'a': {'b': [{'c': ['hello']}]}}

y={"a": {"b": {"0": {}}}}
dpath.new(y, 'a/b/0/c/0', 'hello')
{'a': {'b': {'0': {'c': ['hello']}}}}

Hi @harel,
Didn't notice you had already started working on #180...
Please check out #181. It should address the issues you raised here and all tests are passing:
>>>> new({}, "a/b/0/c/1", 1)
{'a': {'b': [{'c': [None, 1]}]}}

>>>> new({}, "a/b/0/c/0/d", 1)
{'a': {'b': [{'c': [{'d': 1}]}]}}

Fantastic. Thank you! I've closed #180

@harel I've merged the changes. Please let me know if there are any other issues!


Builds fail on build-osuosl-ppc64-aix-71-2 with Too many processes

Builds are failing on build-osuosl-ppc64-aix-71-2 with 'too many processes' messages - e.g. https://ci.adoptopenjdk.net/job/build-scripts/job/jobs/job/jdk14/job/jdk14-aix-ppc64-openj9/10/console
/opt/IBM/xlC/16.1.0/bin/xlclang++  -I../../tools/tracegen  -I../../../include -I../../include_core -I../../nls -DPPC64 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE -DRS6000 -DAIXPPC -D_LARGE_FILES -c  -s -q64 -qlanglvl=extended0x -qarch=ppc -qalias=noansi -qxflag=LTOL:LTOL0 -qsuppress=1506-1108 -qxlcompatmacros -fno-exceptions -fno-rtti -O3 -qhalt=w -g   -o FileUtils.o ../../tools/tracegen/FileUtils.cpp
/opt/IBM/xlC/16.1.0/bin/.orig/xlclang++: error: 1501-222 cannot fork process - Resource temporarily unavailable
1586-495 (U) SYSTEM LIMIT EXCEEDED: Too many processes are active.
../../omrmakefiles/rules.mk:379: recipe for target 'FileUtils.o' failed
gmake[6]: *** [FileUtils.o] Error 254

This seems mostly (though not 100%) repeatable - the load is runnign at about 10 at the time it crashes (although it peaks at about 20 previously).
I'm going to try limiting the amount of RAM the job thinks it has and see what happens. The process ulimit on the machine/jenkins user is unlimited

Paging space is 4Gb on these machines which is quite low compared to the 32Gb of RAM the build machines have (16Gb taken by ramdisk)


Debrid services integration

Hi, I want to suggest adding Debrid services such as Real-Debrid to help downloading torrents faster and most importantly in a more secured way for users in countries where torrenting is dangerous and punishable.

Very little do I know about Debrid services. It's not a common thing in Brazil since torrenting has been freely adopted with no fear of any law intervention whatsoever. If you have any intention to start working on this, feel free to join the Discord and discuss a little bit more about it.

its mostly more of a convenience because if someone has downloaded the file before on real debrid, it's permanently cached and can be downloaded without needing to be torrented

Real debrid is supported in https://github.com/lilezek/hydra already, but you will need to build it yourself. You can skip the python/torrent setup though, because Real Debrid overrides the torrent logic.

Closing this since Real Debrid has been implemented on the main branch.


Documentation issues/enhancements

Description of the modifications
These are issues and enhancements that could make this page of the docs better: https://mechanical.docs.pyansys.com/version/stable/
Issues

The PyAnsys link is broken
Remove "Project Index" and bullet point at the end
The PyMechanical Documentation link points to itself (circular link)

Enhancements (just ideas - up to discussion)

Explain how pymechanical is different than using Mechanical - this is kind of done in the Introduction section
Include a diagram or two to show how things work?
Add setup or installation information for pymechanical towards the top of the page
Add a small usage example on the page

we can then say for more examples, see the Examples link

I think it would be beneficial to combine the landing page with the "Getting Started" tab in the docs. That way, when people visit our site they have everything they need in front of them to get started, and from that base information, we can link supplementary help & info that can be accessed in the other tabs
Useful links and references
https://mechanical.docs.pyansys.com/version/stable/

Hi @klmcadams , I believe these are good suggestions. In terms of additional explanation and adding diagrams, I find that these two are helfpul with customer interactions:

difference between in-product and PyAnsys scripting:

difference between embedded and remote PyMechanical:

If you think these might help, I'm happy to share the editable version of these pics with you.

@pmaroneh Sure, those would be great! Thanks!


toTitleCase is removing full stops .

console.log(toTitleCase('hello there old friend...'))

Maybe intentional? Not sure :)

Same log with console.log(toTitleCase('hello. there. old. friend...'))

Hi @danharten-sovtech , thanks for reporting.
This is actually how lodash works as well:

The goal of this library is not to be equivalent to lodash but in this case it is.
The casing functions all have the same foundation which is the words function that detects words and joins them with a different casing. If you think about toTitleCase as being from the same family as toCamelCase it becomes clearer:
toTitleCase('hello there old friend...')
// expected to be:
'helloThereOldFriend'

// this would be weird
'helloThereOldFriend...'

But as I think about it I realized we should probably have a different naming convention for toLowerCase and toUpperCase that have a different foundation therefore will keep the dots.
@jly36963 , @p9f , what do you guys think about it?

I would expect all punctuation to be removed
Eg:
toTitleCase('my-kebab-case') // 'My Kebab Case'
toTitleCase('my_snake_case') // 'My Snake Case'
toTitleCase('my.path.case') // 'My Path Case'

However, I definitely think we could include specific examples in the documentation to make this clear. As a user, I could see myself be surprised by this behavior as well.

After trying a few different inputs, I do see this though:
const result = toTitleCase('my.path.case[0]'); // My Path Case [ 0 ]
console.log(result);

/*
// lodash example
_.startCase('my.path.case[0]') // "My Path Case 0"
*/

In this case, I would also expect [ and ] to be removed (as lodash does).

/*
// lodash example
_.startCase('my.path.case[0]') // "My Path Case 0"
*/

Even though the goal is not to have the same behavior as lodash I agree we should fix this... could you create another issue for it?
As for this issue, let's make it clearer in the docs. Let's check out what lodash does since we are talking about it:
## lowerCase
Converts string, as space separated words, to lower case.

## toLower
Converts string, as a whole, to lower case just like [String#toLowerCase](https://mdn.io/toLowerCase).

I thing we should name the methods differently for v2, and implement lowerCase and upperCase, like they do... for now we can have a different section in the README

@jly36963 maybe we should add '(' | ')' | '[' | ']' | '{' | '}' | '|' to separators and also here.
That should make our library a lil more similar to what people are used to.

Wow, clocked off for the day to come back to a totally explained and resolved issue. Thank you @gustavoguichard @jly36963!


Update failed: can't find the current version. Please try again later

Checklist

[ ] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2020.07.28
[ ] I've checked that all provided URLs are alive and playable in a browser
[ ] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

Command: youtube-dl.exe -U -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-U', '-v']
[debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
[debug] youtube-dl version 2020.07.28
[debug] Python version 3.4.4 (CPython) - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg git-2020-02-06-343ccfc
[debug] Proxy map: {}
Traceback (most recent call last):
  File "C:\Python\Python34\lib\urllib\request.py", line 1183, in do_open
  File "C:\Python\Python34\lib\http\client.py", line 1137, in request
  File "C:\Python\Python34\lib\http\client.py", line 1182, in _send_request
  File "C:\Python\Python34\lib\http\client.py", line 1133, in endheaders
  File "C:\Python\Python34\lib\http\client.py", line 963, in _send_output
  File "C:\Python\Python34\lib\http\client.py", line 898, in send
  File "C:\Python\Python34\lib\http\client.py", line 1287, in connect
  File "C:\Python\Python34\lib\ssl.py", line 362, in wrap_socket
  File "C:\Python\Python34\lib\ssl.py", line 580, in __init__
  File "C:\Python\Python34\lib\ssl.py", line 807, in do_handshake
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpq2whuxta\build\youtube_dl\update.py", line 46, in update_self
  File "C:\Python\Python34\lib\urllib\request.py", line 464, in open
  File "C:\Python\Python34\lib\urllib\request.py", line 482, in _open
  File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpq2whuxta\build\youtube_dl\utils.py", line 2736, in https_open
  File "C:\Python\Python34\lib\urllib\request.py", line 1185, in do_open
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)>

ERROR: can't find the current version. Please try again later.

Description

Windows 7 64bit
The problem is that youtube-dl.exe now fails to update.
I suspect, that the embedded Python version needs to be updated. (I have seen similair issues here, but they were referring to other OSes, not Windows which is different in this case. For Windows Python is embedded into exe file and cannot be updated by end user)

@remitamine Could you please review the updated issue? Sorry, I have truncated a bit verbose log output at first, but now it is complete. Please let me know about the ticket that is duplicate to this, as I could now find any. Also note, that other issues about update failures relate to non-Windows OSes, this is really important, as Windows version contains embedded Python.

For anyone else who comes here and finds this issue, it appears this is being tracked in https://github.com/ytdl-org/youtube-dl/issues/25541.

@zrneely That issue is locked. I did a lot of searching about this issue here and finally I found #25622 where @dstftw says, that the problem with updating to a newer version of python is that py2exe supports 3.4 at most. I have found this branch of one of the py2exe forks, that seems to be able to support 3.8: https://github.com/albertosottile/py2exe/tree/py38
Hope to receive any feedback about this info. Thanks!


Make Haddock fully UTF-8 compliant and adapt the documentation accordingly

Currently, the subsection on SGML-style character references in the documentation still says the following:

Although Haskell source files may contain any character from the Unicode character set, the encoding of these characters as bytes varies between systems, so that only source files restricted to the ASCII character set are portable.

However, it seems that Haddock 2.30.0 mostly supports Haskell code and documentation with non-ASCII characters encoded in UTF-8. I have only spotted the following problems when running cabal haddock under GNU/Linux with the locale set to C:

A non-ASCII character in the synopsis field of the Cabal file causes an error message of the following form:
haddock: internal error: ⟨path⟩/haddock-response⟨number⟩-⟨number⟩.txt: hGetContents: invalid argument (cannot decode byte sequence starting from ⟨number⟩)

A non-ASCII character in the identifier of an undocumented entity causes, during the attempt to output a corresponding warning, an error message of the following form:
haddock: internal error: <stdout>: commitBuffer: invalid argument (cannot encode character ⟨character⟩)

I think that it would be good to fix these and any other such deficiencies in UTF-8 support and then update the above-mentioned section of the documentation accordingly. Does this sound sensible?

Hi, thank you for this ticket, but Haddock now lives full-time in the GHC repository!
Let's talk about this on https://gitlab.haskell.org/ghc/ghc/ :)

The haddock package on Cabal still mentions this here as the bug tracker, and the Haddock documentation even says that Haddock’s code is maintained in a darcs repository (and doesn’t mention where to report bugs). :raised_eyebrow:

I am fully aware, thank you very much. This migration has happened after the latest release.

Issue filed in the GHC GitLab space: https://gitlab.haskell.org/ghc/ghc/-/issues/24917.

Fantastic.


message_id does not exist and message_enqueue_time it´s now part of t…

…he queue definition
there is a bug in the table definition showed here.

@enriquecatala : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Note that publishing in this repository is suspended until Tuesday, March 2. Merging will resume Tuesday. Authors can still review and sign off on PRs in the interim. Thanks.

Thanks @enriquecatala for contacting Microsoft with feedback about our product documentation. Depending on the complexity, it could take from a few business days to a few weeks to look further into your question, issue, or suggestion. We'll contact you if we need further information, and you'll receive an email message each time we "@mention" you in a comment.
By opening a pull request, you're helping the author add your approved change directly to the documentation. After the updated article is published, GitHub lists you as an article contributor.
Thanks again, your suggestions help improve our documentation.

@WilliamDAssafMSFT : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

Thanks again @enriquecatala, a doc update is in flight.


Adds LICENSE

This was copied from the https://github.com/nodejs/iojs.org repo as-is (with a slight modification to the first line to mention "original contents".)
Open Question(s):

[ ] MIT as previously determined for the last project? See https://github.com/nodejs/iojs.org/issues/1
[ ] Given we do not have ownership of some of the assets which may be bundled (namely logos), do we need to modify the license to reflect this? For now this is why I used the phrasing "original contents" in the opening line.

I wonder how long we can keep the trend going of our Issue #s in this project matching the same Issues in the iojs.org project ... So far we're 1 for 1!

I think we need to talk to whatever lawyers the Node Foundation has about the licensing/logos deal. I assume the repo will bit MIT, but the logos will probably have to live with a WG. Website/Evangelism are the obvious ones. However, I know jack sh*t about law, so we need to consult someone who knows. Is there someone from the foundation that can direct us to the right place?

@therebelrobot I hate to keep bothering @rvagg with this stuff, but he seems to know what's going on with the Foundation and where to go/who to talk to about this stuff.
Rod: Do you have an idea of where we can go for this? Also, is there someone else that we can/should have as a point of contact/information about the Foundation?

Yes, I've started discussing some of this with them but will not likely connect the dots until next week. I'm going to try and connect some of the website & evangelism teams with appropriate people in LF so they can be used as a resource, at the moment there's a bit of a barrier between the community and the formal side of the foundation that we need to work on breaking down simply by connecting people together.


Move from lessons template to workshop template for website?

Right now we are using The Carpentries Lesson template. @albenson-usgs shared that there is The Carpentries Workshop template.
To do this we need to:

[x] Compare workshop template with lesson template to identify differences
[x] Copy out the markdown files we've made/edited
[x] replace all files with workshop template files
[x] replace appropriate markdown files (from above)
[x] update README, CONTRIBUTING, etc.

Most of this is done at https://github.com/ioos/bio_mobilization_workshop/tree/migrate2workshop_template
Need to work through the changes to see what should be moved back. Overall, an easy process but there might be gotchas.

Review https://github.com/ioos/bio_mobilization_workshop/compare/gh-pages...migrate2workshop_template for inconsistencies.

See the page deployed here: https://mathewbiddle.github.io/bio_mobilization_workshop/

sometimes GH confuses me. Closing now.


404 error

https://rakudo.org/dl/rakudo
I got a 404 error from the fall-back server today.

This link is broken too: https://rakudo.perl6.org/downloads/star/

@rba ? @maettu ?

Direct links do work: https://rakudo.org/dl/rakudo/rakudo-2019.07.tar.gz.asc
@timo can you add a redirect to github for these?

To clarify:

https://rakudo.org/dl/rakudo → https://github.com/rakudo/rakudo/releases
https://rakudo.perl6.org/downloads/star/ → https://rakudo.org/files/star (or something like that?)

I’m currently afk. Will take care of this later today.

On 10 Aug 2019, at 10:40, Aleks-Daniel Jakimenko-Aleksejev<EMAIL_ADDRESS>wrote:
To clarify:
https://rakudo.org/dl/rakudo → https://github.com/rakudo/rakudo/releases
https://rakudo.perl6.org/downloads/star/ → https://rakudo.org/files/star (or something like that?)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Did the changes to the nginx config for rakudo.org. Should be fine now.
Config here for the record: https://github.com/perl6/rakudo.org/blob/master/nginx.conf


Task 901-1000 Updated Files

Created this to fix the other PR, because I don't have the write permission to resolve the conflict.
There's some error in translation task 914 that's occurring, not sure how to address this?

The merge is not done correctly.
In some of the files (e..g, task914_bianet_translation) you're changing the definition and examples.

Thanks, have updated the files

Categories are good to go. @danyaljj


Monica module creates an incorrect configuration for sending emails

Describe the bug
Take a look at this link: https://github.com/NixOS/nixpkgs/blob/e2ba9edc297df26732330b7dfc26f5892b0b01ad/nixos/modules/services/web-apps/monica.nix#L299
The config item should be MAIL_FROM_ADDRESS not MAIL_FROM.
This is based on this link: https://github.com/monicahq/monica/blob/4.x/docs/installation/mail.md#use-smtp-with-monica
When this module is deployed and you attempt to use the mail feature, it fails with a message about invalid email headers.
Steps To Reproduce
Steps to reproduce the behavior:

Deploy the Monica module with the mail settings configured to talk to an SMTP service
Attempt to invite a new user to Monica
Observe the resulting error message

Expected behavior
I expect Monica to be configured to sent email if I pass in those configuration items
Screenshots

Additional context
I have not been able to test any other email functions, I'm assuming that no email sending works
Notify maintainers

@Guekka this is a one-line change, so I can do the PR if you'd rather
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[root@nixos:~]$ nix-info -m
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.33, NixOS, 24.05 (Uakari), 24.05pre-git`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.24.3`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Add a :+1: reaction to issues you find important.

Thank you for investigating @sehqlr
Since you already have the fix in mind, I would prefer if you could please make the PR


Cannot merge video on OS X 10.4 -- ERROR:   Reason: image not found

Checklist

[ ] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2020.03.24
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

PowerMac-G4:~/Desktop Lamp$ youtube-dl https://www.youtube.com/watch?v=QH2-TGUlwu4 -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['https://www.youtube.com/watch?v=QH2-TGUlwu4', '-v']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2020.03.24
[debug] Python version 3.7.0 (CPython) - Darwin-8.11.0-Power_Macintosh-powerpc-32bit
[debug] exe versions: ffmpeg present, ffprobe present
[debug] Proxy map: {}
[youtube] QH2-TGUlwu4: Downloading webpage
[debug] Default format spec: bestvideo+bestaudio/best
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[debug] Invoking downloader on 'https://r4---sn-a5m7lnlz.googlevideo.com/videoplayback?expire=1587546457&ei=-bSfXqOCA9eJsfIP_JS-2A8&ip=2600%3A8801%3A3800%3A4cf0%3A230%3A65ff%3Afeed%3A1586&id=o-ABUhu0Htg0IcA9Yycy0-SpWoo5jD2xElFG7iEgvMc8WQ&itag=135&aitags=133%2C134%2C135%2C160%2C242%2C243%2C244%2C278%2C394%2C395%2C396%2C397&source=youtube&requiressl=yes&mh=po&mm=31%2C29&mn=sn-a5m7lnlz%2Csn-a5mekney&ms=au%2Crdu&mv=m&mvi=3&pl=33&initcwndbps=1801250&vprv=1&mime=video%2Fmp4&gir=yes&clen=4752708&dur=216.816&lmt=1575192442577468&mt=1587524736&fvip=4&keepalive=yes&fexp=23882513&c=WEB&txp=5532432&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJpPlLswRQIgZxPGcpbDyNQzPlneSMciMepkWWLlaVh2ZM8_HMVFwgECIQCKqqDrwKuNiN6UD_emiFhdCWfMrD7Ocr6MKzLG13t9Jw%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=ALrAebAwRAIgMvSmDx7cFoOhquSzMYt8ETK3XkY5xxXij2qalCsQm2sCIHOq_HufVUe3Ulg6uid8u20VjjnZG2NIgrRM22TYj_PS&ratebypass=yes'
[download] Destination: Nyan Cat [original]-QH2-TGUlwu4.f135.mp4
[download] 100% of 4.53MiB in 00:03
[debug] Invoking downloader on 'https://r4---sn-a5m7lnlz.googlevideo.com/videoplayback?expire=1587546457&ei=-bSfXqOCA9eJsfIP_JS-2A8&ip=2600%3A8801%3A3800%3A4cf0%3A230%3A65ff%3Afeed%3A1586&id=o-ABUhu0Htg0IcA9Yycy0-SpWoo5jD2xElFG7iEgvMc8WQ&itag=251&source=youtube&requiressl=yes&mh=po&mm=31%2C29&mn=sn-a5m7lnlz%2Csn-a5mekney&ms=au%2Crdu&mv=m&mvi=3&pl=33&initcwndbps=1801250&vprv=1&mime=audio%2Fwebm&gir=yes&clen=3521927&dur=216.841&lmt=1575192425674655&mt=1587524736&fvip=4&keepalive=yes&fexp=23882513&c=WEB&txp=5531432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJpPlLswRAIgPGNMHWGZkQeCxXp8SDu6hNtV5aET5WQPKQp4jaK3hR8CIA5XoUdd3FkyPGFTylpsh_nvkmH_SVj-YMuzV_hpCJMJ&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=ALrAebAwRAIgMvSmDx7cFoOhquSzMYt8ETK3XkY5xxXij2qalCsQm2sCIHOq_HufVUe3Ulg6uid8u20VjjnZG2NIgrRM22TYj_PS&ratebypass=yes'
[download] Destination: Nyan Cat [original]-QH2-TGUlwu4.f251.webm
[download] 100% of 3.36MiB in 00:02
[ffmpeg] Merging formats into "Nyan Cat [original]-QH2-TGUlwu4.mkv"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:Nyan Cat [original]-QH2-TGUlwu4.f135.mp4' -i 'file:Nyan Cat [original]-QH2-TGUlwu4.f251.webm' -c copy -map 0:v:0 -map 1:a:0 'file:Nyan Cat [original]-QH2-TGUlwu4.temp.mkv'
ERROR:   Reason: image not found
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line 2065, in post_process
    files_to_delete, info = pp.run(info)
  File "/usr/local/lib/python3.7/site-packages/youtube_dl/postprocessor/ffmpeg.py", line 512, in run
    self.run_ffmpeg_multiple_files(info['__files_to_merge'], temp_filename, args)
  File "/usr/local/lib/python3.7/site-packages/youtube_dl/postprocessor/ffmpeg.py", line 235, in run_ffmpeg_multiple_files
    raise FFmpegPostProcessorError(msg)
youtube_dl.postprocessor.ffmpeg.FFmpegPostProcessorError:   Reason: image not found

Description

Python3 and ffmpeg are installed with Tigerbrew. But with the default format of bestvideo+bestaudio, when it tries to merge with ffmpeg it encounters an error, ERROR:   Reason: image not found. This is not a big issue as I can specify -f mp4 to download one file but I would like to download bestvideo+bestaudio.
Oops, github suggested some similar issues and I found #8323. How did I not find that when searching the very exact error message 😕
I don't feel like deleting all this work so I will submit and close it.

Wait, but unlike that issue, it is NOT using avconv. Turns out there is something wrong with ffmpeg itself:

Obvoiusly not a youtube-dl issue now so this stays closed.


Improve docs for threading.scad

All the functions say "makes threads.  This method makes much smoother threads than the naive linear_extrude method." I'd say the second sentence should just be deleted everywhere it appears.  If you really need to brag about the threading then do it once at the top in an overview paragraph.
Also might want to have a diagram explaining various thread terminology like higbee, for example.
But what you should add is at least a sentence or two describing the different kind of threads.    When would you use them?  Buttress threads?  Same question.   What are the advantages, disadvantages and use cases for each different thread profile?
Is thread_helix a function users should be going to first when they try to make threads?  Or is it the "lowest level" threading method that should be the last resort if other methods don't suit.  (And under what circumstances would that happen?)  I think there's a general tendency throughout the library for the files to be organized with the lowest level functions first, and then the higher level functions later, which presents things to the user in a kind of backwards way in the docs.  It seems like if functions are low level and shouldn't be the go-to function that should be mentioned in the description.
trapezoidal_threaded_rod() lists suggestions for angles for various threads that you can actually just make with other functions.  Not sure about the point of that--it encourages the user to use this function instead of the existing specialist modules.  Maybe should refer user to those other modules?  I suppose a table of values for different standard thread geometries isn't a bad thing, though.   Document: what should the use-case be for using trapezoidal_threaded_rod instead of the other threaded_rod modules?
NPT needs a female example and a hollow example.  What happens if hollow=true and internal=true?  Or is it banned?  I suggest also putting a line on example 1, or shifting it right, so that the taper is clearly visible.

Also you need an explanation that the profile is scaled (somehow) by the pitch in functions that accept a profile.  The way the profile gets used is pretty mysterious.  There's an example profile that could use a bit more docs, like "to create a profile with a 15 degree angle..."

Docs for triangular_threaded_rod: "Constructs a standard metric or UTS threaded screw rod."
Docs for metric_trapezoidal_threaded_rod: "Constructs a metric trapezoidal threaded screw rod."
And of course the third way to construct UTS and ISO threaded rods is to use screws.scad, which makes its own profile and calls trapezoidal_threaded_rod.
So it sort of appears that there are 3 ways to do the same thing.  But maybe a "metric trapezoidal threaded rod" is not a "standard" metric threaded rod?  Definitely confusing.
Maybe metric_trapezoidal_threaded_rod is the metric equivalent of ACME?   It seems like if that's the case it would make sense to consolidate to one module and have ACME and metric as operating modes.  ACME allows you to change thread depth and angle, which makes it no longer ACME.   In fact, this seems to be just a pass-through to trapezoidal_threaded_rod that sets the angle to 14.5 by default but still lets you change the angle and depth.  It appears that metric_threaded_rod is a pass-through that doesn't let you change angle or depth, which makes more sense.
What determines the width of the thread profile if you don't specify custom profiles?   Maybe instead of "typical tooth profile" you should display the actual default profile?
"pitch" is defined variously as "length between threads" and "distance between threads".  But these definitions are (I hope) wrong, because it should be the thread spacing (center to center).  That is, if a thread is 1mm wide and you ask for 3mm pitch there should be 2mm between threads.
I wonder if there should be a core module that requires that you specify the profile.   And then "trapezoidal_threaded_rod" would not accept a general profile and would always make a trapezoid and would construct the profile to feed to the generic threader, instead of having trapezoidal as a default on the generic threader, which seems rather confusing.   I guess the width of the trapezoid is determined by the angle which seems to be reported differently in specs.  That is, what BOSL calls 14.5 the specs call 29.  If you assume that the thread is symmetric (teeth tips same width as teeth valleys) that constrains the (nominal) tooth geometry.  Is that how the profile is constructed?  A little diagram would be nice.   Is the thread_angle parameter used by trapezoidal_threaded_rod when a profile is given?  (Because there is code that passes in both, such as threaded_rod() and buttress_threaded_rod().  The last one seems clearly wrong since it looks like the threads are 0 deg / 45 deg on the buttress.   I notice though that thread_angle is also passed in for the ball screw.  So is it actually doing something?  If so, what?  Is it determined by the profile or independent?
I notice that thread_helix is not used in threading.scad and it looks much simpler than trapezoidal_threaded_rod.  Is it obsolete?  I see it's used for bottlecaps.   If it's staying, maybe define it second instead of first and document its use case and limitations compared to general_threaded_rod or whatever the alternative is.


Does the released Inception-v3 model only support forward pass with batch_size=1?

Hi all,
I am new to TF. I am playing with Inception-v3 model and I found that I can only pass batch_size=1 to the model. Here is my test code:
import tensorflow.python.platform
import tensorflow as tf
from tensorflow.python.platform import gfile
import numpy as np

with tf.device("/cpu:0"):
    with gfile.FastGFile('/tmp/imagenet/classify_image_graph_def.pb', 'rb') as f:
        graph_def = tf.GraphDef()
        graph_def.ParseFromString(f.read())
        _ = tf.import_graph_def(graph_def, name='')

with tf.Session() as sess:

    array = np.random.rand(1, 299, 299, 3)
    image_data = tf.convert_to_tensor(array, dtype=tf.float32).eval()

    test_tensor = sess.graph.get_tensor_by_name('Mul:0')
    print(test_tensor.get_shape())
    softmax_tensor = sess.graph.get_tensor_by_name('softmax:0')
    predictions = sess.run(softmax_tensor,
                          {'Mul:0': image_data})

If I change array = np.random.rand(1, 299, 299, 3) with batch_size=2, then TF would complain about the size mismatch.
Am I doing something wrong? Any pointer would be of great help.

The classify_image_graph_def.pb is built explicitly to support a batch size of 1, and cannot support other batch sizes. But nice effort.
Sherry

Does exist easy way to remove this limitation?

In an already built graph, no. Sorry.
On Mon, Jan 18, 2016 at 9:17 AM Дмитрий<EMAIL_ADDRESS>wrote:

Does exist easy way to remove this limitation?
—
Reply to this email directly or view it on GitHub
https://github.com/tensorflow/tensorflow/issues/554#issuecomment-172595552
.

Those, because graph already built, it is impossible to cut out a part of saved graph and connect it with a new in "inference" stage?

That would be a major headache. It's probably possible, but I wouldn't
recommend it. If any of the variables have to change shape for the
different batch size, your checkpoints become useless or you have to
manually add resize or reshape ops.
On Tue, Jan 19, 2016 at 9:33 AM Дмитрий<EMAIL_ADDRESS>wrote:

Those, because graph already built, it is impossible to cut out a part of
saved graph and connect it with a new in "inference" stage?
—
Reply to this email directly or view it on GitHub
https://github.com/tensorflow/tensorflow/issues/554#issuecomment-172927407
.

I also want to try Inception-V3 model to make a forward pass on images and extract features from intermediate layers. From where can I get the TensorFlow meta-graph file (i.e. classify_image_graph_def.pb)?

@sangramkapre http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz
You could see https://github.com/tensorflow/models/blob/master/tutorials/image/imagenet/classify_image.py

Hi @dmitryfisko, Have you find a way to solve this problem？ Hmm, batch size =1 cost too much unnecessary time.
@martinwicke Will the batch inference version of this pb model be released?

We will not release a new version of this old graph. I would check out tfhub.dev for various alternatives.


Assignment1

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
What did you learn from the changes you have made?
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
How were these changes tested?
A reference to a related issue in your repository (if applicable)
Checklist

[ ] I can confirm that my changes are working as intended

A1 Complete but Q2 and 3c missing results discussion

Hi
Can I complete it?
On Wed, Dec 11, 2024 at 04:36 ananyajha2000 @.***>
wrote:

A1 Complete but Q2 and 3c missing results discussion
—
Reply to this email directly, view it on GitHub
https://github.com/Parisaghotbi/deep_learning/pull/2#issuecomment-2535315450,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BHJR4R4YCEITAEKABSNXHX32FABTLAVCNFSM6AAAAABS2VTSK6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMZVGMYTKNBVGA
.
You are receiving this because you authored the thread.Message ID:
@.***>


upgrade to gogradle plugin 0.11.2

update Gogradle plugin
This PR removes last blocking issue for upgrade to Gradle 5

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.
Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---
---
---
---
---

Java

Python

---

---
---
---

R: @swegner PTAL

CC: @lostluck

LGTM. Thanks for doing this!
I'm more sad that gogradle hasn't updated to support Go Modules or go.mod files at least.
A separate task would be to update to go version 1.11 on the jenkins machine.

Thanks for looking into this.
@lostluck is that mod thingy this https://github.com/gogradle/gogradle/issues/267 issue?
Unfortunately I m more from java side, so I need to dig into that to get an idea how this could be tackled.
I think, there is still lots of work to be done to get gradle properly handling the go/python parts. Python is causing me more headaches, though.
@swegner Glad to help here. Will prepare PR for upgrade to gradle 5.2 after merge. Is this something which needs discussion on dev first?

Is this something which needs discussion on dev first?

It wouldn't hurt to mention it, particularly if the upgrade will bring new features that could be useful in our build (Java 11 support perhaps?). Or if there are other implications developers will need to be aware of post-migration.

Thanks for looking into this.
@lostluck is that mod thingy this gogradle/gogradle#267 issue?
Unfortunately I m more from java side, so I need to dig into that to get an idea how this could be tackled.

Please don't worry about the go tool version, and I (or another gopher) will handle it when the time comes. It's not a blocker. I was merely venting my concerns around gogradle in general.
That's the correct gogradle issue.  I've got that work to use go.mod for Beam tracked by https://issues.apache.org/jira/browse/BEAM-5379
It's a non-urgent issue given the experimental status of the Go SDK, and versioning Go packages is tricky since it's relatively new but has go tool support.

@lostluck Yes. of course. But I am a bit scared of trying to implement the build by shelling out. Although it seemingly works, it is really difficult - at least - to get it properly working with incremental build and build cache. With python we are doing that, and I do not have the feeling it is working very well... If Gogradle is here of better shape I do not know - I never looked into that.

@adude3141 Agreed entirely. For Go, go tool handles build caching and incrementalism etc, and most recently, versioning. The trick is ensuring it plays well with Gradle & Jenkins, for infrastructures that require that route. That's a problem for a different PR though.

@lostluck Sure. Sounds very interesting though, I definitely need to look into that.
Thanks for your input here. Really helpful.


upstream: subsetting load balancer [rough draft]

As requested in envoyproxy/data-plane-api#173, here's a rough draft the implementation of the subsetting load balancer.
The load balancer's chooseHost is implemented as follows:

If the LoadBalancerContext contains no metadata to match, skip to 6.
Otherwise, for each entry in the metadata do a pair of unordered map lookups for the name and value.
If both lookups succeed, we see if there is a load balancer defined. If so, we have a match and we remember the match if it's creation order is smaller than any previous match. Match or not, we continue the metadata iteration.
If either lookup fails or we reach the end of the metadata, there are no further matching subsets, so return the best found, if any.
If a subset is found, we invoke it's load balancer with the LoadBalancerContext and return.
Otherwise, we implement the fallback policy.

Metadata values are stored as a ProtobufWkt::Value and corresponding hash value. I reused the existing protobuf hash utility function and it seems expensive, so I took care not to compute any hash in the load balancing path.
The load balancer produces subsets by watching the original HostSet(s) for updates. Each subset has its own pair for HostSetImpl objects which represent filtered copies of the host_set and local_host_set originally passed to the load balancer.
Presuming the other PR is approved, this PR has a bunch of known deficiencies that I will address:

It needs tests and additional comments.
ValueUtil::equal (for ProtobufWkt::Value comparison) should operate recursively on list and struct values.
MetadataMatches is in the Router namespace -- it should probably find another home to simplify dependencies.
I think there's an opportunity to have MetadataMatches return a set instead of a vector -- the load balancer depends on the matches being sorted and using a set with a custom Compare operator should make it possible to put that requirement into the code rather than just documenting it.
Similarly the LoadBalancer depends on using the same hash algorithmin Upstream::MetadataMatchImpl, so it probably makes sense to introduce a small class that wraps a ProtobufWkt::Value and its hash and to use that in both places.

Thanks @zuercher, this should be rad. Can you provide some worked examples of how the above precomputed subsets and match algorithms work? E.g. imagine we have 5 hosts and let's say 2 different match criteria, what would is looks like in a few different requests? I think this would help me grok the intuition in the above algorithm.

@htuch, Not sure if this exactly what you were looking for, but here goes.
Given a envoy::api::v2::Cluster with
{
      "name": "c1",
      "lb_policy": "ROUND_ROBIN",
      "lb_subset_config": {
        "fallback_policy": "DEFAULT_SUBSET",
        "default_subset": {
          "version": "1.0",
          "stage": "prod"
        },
        "subset_keys": [
          { "keys": [ "version", "stage" ]},
          { "keys": [ "version" ]}
        ]
      }
}

And a corresponding envoy::api:v2::ClusterLoadAssignment with
"endpoints": {
  "lb_endpoints": [
    {
      "endpoint": { /* omitted for brevity, call it e1 */ },
      "metadata": {
        "filter_metadata": {
          "envoy.lb": {
            "version": "1.0",
            "stage": "prod"
          }
        }
      }
    },
    {
      "endpoint": { /* omitted, call it e2 */ },
      "metadata": {
        "filter_metadata": {
          "envoy.lb": {
            "version": "1.1",
            "stage": "prod"
          }
        }
      }
    },
    {
      "endpoint": { /* omitted, call it e3 */ },
      "metadata": {
        "filter_metadata": {
          "envoy.lb": {
            "version": "1.2-pre",
            "stage": "dev"
          }
        }
      }
    }
  ]
}

The load balancer will create a default subset containing e1 (the only host with metadata matching stage="prod", version="1.0". It will also create a the following subsets:

Metadata
host

stage="prod", "version=1.0"
e1

stage="prod", "version=1.1"
e2

stage="dev", "version=1.2-pre"
e3

version="1.0"
e1

version="1.1"
e2

version="1.2-pre"
e3

Given routes with no metadata_match information, all requests will be routed to the default subset (e1).
Given a virtual host containing these `envoy::api::v2::Route``` entries:
"routes": [
  {
    "match": {
      "prefix": "/",
      "headers": [
        {
          "name": "x-custom-version",
          "value": "1.2-pre"
        }
      ]
    },
    "route": {
      "cluster": "c1",
      "metadata_match": {
        "filter_metadata": {
          "envoy.lb": {
            "version": "1.2-pre",
            "stage": "dev"
          }
        }
      }
    }
  },
  {
    "match": {
      "prefix": "/"
    },
    "route": {
      "weighted_clusters": {
        clusters: [
          {
            "name": "c1",
            "weight": 90,
            "metadata_match": {
              "filter_metadata": {
                "envoy.lb": {
                  "version": "1.0"
                }
              }
            }
          },
          {
            "name": "c1",
            "weight": 10,
            "metadata_match": {
              "filter_metadata": {
                "envoy.lb": {
                  "version": "1.1"
                }
              }
            }
          }
        ]
      },
      "metadata_match": {
        "filter_metadata": {
          "envoy.lb": {
            "stage": "prod"
          }
        }
      }
    }
  }
]

Routes that match the first route entry (with an x-custom-version header) will produce a LoadBalancerContext where the metadata matches are stage=dev, version=1.2-pre. The endpoint e3 is matched (and if there were multiple hosts with that metadata, round-robin balancing would occur over them). If the cluster is updated and e3 is removed, the current implementation will return no host (triggering a 5xx), but that's a bug. It should detect this condition and trigger the fallback policy.
In the other route, the metadata from the weighted clusters and the route are combined so that endpoints with stage=prod, version=1.0 are selected 90% of the time while endpoints with stage=prod, version=1.1 are selected 10% of the time. Again, given multiple endpoints with the same metadata round-robin load balancing would take place.

Yes, this example is great. Can you add this to a Markdown file or big block comment somewhere? Also, can you provide examples of requests that just match version, or where the two subset keys are reversed in order? And also in the big comment, some examples of subsets > |1| in size.
I think worst case space complexity for precomputed subsets is such O(E*N) where E is the number of endpoints and N is the number of subset key lists. We're binning endpoints into distinct subsets for each subset key list. Is this correct?
Is the worst case time complexity the same? I.e. we would have to iterate over all subsets?

Nice example! One question: If you recall our earlier discussion on the shard router use case, I have one key mapping to 100K possible values. And these are distributed over few hundred nodes.
E.g.,
e1 could have version: 1, version: 100, version: 1000
e2 could have version: 2, version: 200, version: 2000
e3 could have version: 1000, version: 2000
Based on the request, the route block would select one value for version (e.g., version: 2000). This would have to be routed to e2/e3.
I don't think this use case can be satisfied by the implementation above. Just thought I would confirm. I could flatten this into a simple map of form version1: true, version2000:true, so that I have unique key-value pairs.. However, I would now have to implement both CDS and EDS (instead of just EDS), to update the subset keys, and the endpoint metadata. And in this case, I am virtually creating 100K clusters, which is fine by me as well.

The runtime at load balancing time, as written (see below), it's O(n) where n = number of metadata keys from the LoadBalancerContext, and provided that the keys used in the unordered_maps have well-distributed hash values. At that point we have the subset's load balancer and delegate to it, incurring whatever it's runtime is for the number of hosts in the subset.
Each of the n iterations in the search incurs one comparison of a pair of ProtobufWkt::Value instances (short-circuited by comparing their hashes first).
Above, I say "as written" because I don't think it searches quite hard enough when the keys for subsets overlap. For instance, given subsets over [a, b] and [b, c], if a route says [a, b, c] it will only find [a, b] right now, but should probably find both and choose one based on definition order. I can think of a small change that will fix this, making the worst case n(n + 1)/2 iterations, so O(n^2) if I understand the syntax.
I need to get home, so @rshriram I'll try to address your question tonight or first thing tomorrow.

@rshriram I misunderstood your use case when we discussed it before. It should, however, be possible to change the config definition to allow subset keys to call out prefixes in addition to full keys. You could then flatten your endpoint metadata and ust specify "version:" for subset keys, yes? Is that worth it for your use case?

Above, I say "as written" because I don't think it searches quite hard enough when the keys for subsets overlap. For instance, given subsets over [a, b] and [b, c], if a route says [a, b, c] it will only find [a, b] right now, but should probably find both and choose one based on definition order. I can think of a small change that will fix this, making the worst case n(n + 1)/2 iterations, so O(n^2) if I understand the syntax.

I would prefer that we be very careful about anything that is n^2 in this path, especially that uses user supplied config. IMO the way you have it written now is flexible enough w/ good performance. IMO we could make more powerful matching opt-in later?
Anyway, I'm fine to proceed with this PR for full tests, etc. I think this will get kind of big so if there is any way to break this up into smaller individual PRs w/ tests that would be cool.

What if instead of worst case O(n^2) with n = number of metadata matches in the route, it were worst-case O(j*k) with j = the number of entries in the lb_subset_config.subset_keys (which is <= the number of subsets) and k = the average number of keys used for each subset?
We'd iterate over the subset keys, checking to see if the metadata matches contained a value for for key in the subset (and simultaneously doing the constant-time hashtable lookups that lead us to the actual subset lb). The first entry in the subset keys that is fully matched and has a non-empty subset wins. I think this produces the "correct" behavior that was O(n^2) w.r.t. metadata matches. (This would require the metadata matches returned from LoadBalancerContext to be an unordered_map. With no metadata matches it short-circuits to the fallback lb in O(1). The subset keys no longer need to be sorted and you can place the most restrictive keys first in a subset to improve performance.)
Notably, this would actually be far worse for @rshriram's use case since it would be a linear search over the subset keys (of which he'd have many).

@zuercher I'm still trying to grok this. In your example:
"subset_keys": [
          { "keys": [ "version", "stage" ]},
          { "keys": [ "version" ]}
        ]

Why is  { "keys": [ "version" ]} needed? Is that just an example? Since AFAICT your routes always want to match on both version/stage. Or is this the point that it would then back off to matching only on version if you don't get a good match on version/stage?

It's there for the backoff behavior you mentioned.
Having said that, I spent time thinking about it last night and I think it's fine for the first version to attempt to match the metadata from the route exactly (with no backoff). If you want to reach the subset based on version alone, you'd need a route that only specifies version=v. If you specify stage=x and version=y and there's no subset for that combination, you get the behavior defined by the fallback behavior (default subset, any host, or no host). This lets us use the O(n) algorithm currently in the review (with a tweak to insure a complete match, but that shouldn't change the complexity).
Then, Ii the future, if we wanted more complex subset selection behavior, we could add a configuration flag for enabling it and use that to enable a different search algorithm.

@zuercher +1 on that. I think it's a lot simpler to understand (and faster). We can always add more complex stuff later.

Cool. I'll close this PR and see about cleaning this up and splitting it into smaller chunks.

@zuercher I don't fully comprehend the prefix thing you said. Would you mind explaining with an example?
Also, why would the runtime be O(n^2) or even O(n) ? Can't we materialize the LB pools apriori, one for each subset. If we impose the restriction that the route's keys must match exactly with the subset, and perhaps even assign unique hash IDs to each subset as well as convert the key combo described in the weighted_cluster to the respective subset hash ID, then its just a matter of hashing the key set and getting a pointer to the appropriate pre-computed LB pool right? [in the fast path I mean]

For reference, here was an example I posted in envoy slack in response to the question about prefixes:
https://gist.github.com/zuercher/65ede6d0296ff2a9e4a310262ebf8b05


US 05.01.01 Map of Geolocation

As a player, I want to see a map of geo-locations of nearby QR codes, so that I can know How far and How to go there and scan them.
Priority: Medium
Story Point: 4
Risk Level: Low

Acceptance Criteria:

The player logs into the game on their device.
The player is taken to their profile, which displays their username, contact information, and game statistics.
The player can navigate to a search feature within the game.
The player inputs their current location using the device's geolocation feature.
The game returns a map showing the locations of nearby QR codes based on the player's location.
The map displays markers for each QR code, with the marker color indicating the rarity or score of the QR code.
The player can view the details of each QR code, including the score, photo, geolocation, comments, and the number of players who have scanned the QR code.
The player can click on a marker to see the details of the QR code.
The player can use the map to navigate to the location of the QR code and scan it to add it to their list of scanned QR codes and increase their score.
The player can repeat the search process to find additional QR codes and update the map with new locations.

Priority: Medium
Story Point: 4
Risk Level: Low


sprockets cannot clean up their tmp/assets/sprockets dir

I need to run rm -rf?
https://github.com/rails/sprockets-rails/issues/391

shown as follows.
/home/git/gitlab/tmp # du -h -d 1
88.5M   ./cache
8.0K    ./sockets
4.0K    ./prometheus_multiproc_dir
4.0K    ./pids
88.5M   .


Nested types can produce duplicate record types

It seems duplicate record types can occur when you have nested inputs (maybe normal types as well) that reference the same types as an ancestor resulting in an error like:
  Multiple definition of the type name t_variables_this_will_be_duplicated.
  Names must be unique in a given structure or signature.

Example schema that produces this error:
input this_will_be_duplicated {
  id: String!
}

input nested_type {
  the_problem: this_will_be_duplicated
}

input problem_input {
  the_problem: this_will_be_duplicated
  b: nested_type
}

type mutation_root {
  failingMutation(input: problem_input!): Boolean!
}

Minimal reproduction here: https://github.com/jeddeloh/graphql-ppx-repro

Thanks!

I will have a look at this later and create a test case for this scenario


[bug] Disconnect not persisting and reconnecting on page load

Is there an existing issue for this?

[X] I have searched the existing issues

Package Version
0.0.17
Current Behavior
Using a Next.js app, Im calling the disconnect function from the useAccount hook. It does disconnect but then after refreshing the page it reconnects again and the account info re-populates
Expected Behavior
I would expect to be disconnected from ym wallet so that I may be able to reconnect again with a different wallet or simply use the site in its disconnected state
Steps To Reproduce

Connect via InjectedConnector -> useAccount becomes populated with data and useConnect returns connected:true.
Press disconnect button which calls the disconnect function. -> useAccount returns empty data as expected and connected: false.
Refresh the page
usAccount becomes populated with data again and connected:true

Anything else?
No response
Edit: It seems as though if I remove autoConnect prop on the provider then it does indeed keep me disconnected however that then means on every refresh I need to reconnect. Ideally I would like connect automatically until I explicitly call disconnect

Seems like a this is a duplicate of #35 (as you noticed yourself in the "Edit").

For the solution: It normally should not prompt every time to connect again through MetaMask, since the connecting only needs to be established once. Could be an option in MetaMask? For me it is only asking once.

I would expect though that if I call disconnect after reloading it should ask me to connect again and not assume I want to automatically connect with the last used account

I thought it would work with autoConnect? This is a little misleading for you I think.
Having disconnected programatically is like visiting the page, without having connected in the first place. So, if the Provider sees autoConnect it will automatically search for the shim that was injected by Metamask, and try to connect.
If you want the desired behavior, you might want to implement ur own local storage, which is checking whether the user disconnected once in it's lifetime and set the autoConnect prop based on this local storage.

@sammdec MM (and other injected providers) don't support programmatically disconnecting.
I agree it's confusing to reconnect on page reload, but technically it's the most accurate since the account is still connected to the browser. (wagmi does handle disconnect events coming from connector directly. For example, disconnecting in MM UI.)
That said, you could manage connection status separately in the browser, but you would need to listen and handle different connection events (i.e. disconnecting or switching account directly through MM extensions).

Ah ok yeah that makes sense! Happy to stick what the most default behaviour is in that case


Rename IStore.Get to IStore.Value

If I'm not mistaken, the convention in .NET is to use names for properties and verbs for methods. So I guess many users will think Get must be called as a method (as in  myStore.Get()). What do you think?

Sure, and I agree. We could rename it as Value then it won't need to be a method (my preference, if you agree that would be good design), or make Get into a method.

Sure, and I agree. We could rename it as Value then it won't need to be a method (my preference, if you agree that would be good design), or make Get into a method.

Yes, a property named Value should work, thanks!

Yes, a property named Value should work, thanks!


chore(*) pin luacheck to a stable version

Summary
Recent changes in luacheck have caused false positive linting failures; such failures have been covered in Travis due to build cache.

Neat, thank you @p0pr0ck5 @Tieske @hishamhm ! We'll have to keep an eye out for new Luacheck features we might want to get our hands on in the future though.


docs: Fix next-themes hydration issue

This fixes hydration error
Before
"use client"

import * as React from "react"
import { ThemeProvider as NextThemesProvider } from "next-themes"
import { type ThemeProviderProps } from "next-themes/dist/types"

export function ThemeProvider({ children, ...props }: ThemeProviderProps) {
  return <NextThemesProvider {...props}>{children}</NextThemesProvider>
}

After
"use client";

import * as React from "react";
import { ThemeProvider as NextThemesProvider } from "next-themes";
import { type ThemeProviderProps } from "next-themes/dist/types";

export function ThemeProvider({ children, ...props }: ThemeProviderProps) {
  const [mounted, setMounted] = React.useState(false);

  React.useEffect(() => setMounted(true), []);

  return mounted ? (
    <NextThemesProvider {...props}>{children}</NextThemesProvider>
  ) : null;
}

Hey, just a heads up, while this fix sorts out the hydration problem, it might cause a split second where there's nothing on the screen - you know, that annoying flash of unstyled content. Am I right?

you are getting this error because you wrapped body inside ThemeProvider take you body out and it will fix the issue
this is a working example
import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./globals.css";
import { ThemeProvider } from "@/components/theme-provider";

const inter = Inter({ subsets: ["latin"] });

export const metadata: Metadata = {
  title: "Create Next App",
  description: "Generated by create next app",
};

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html lang="en">
      <body className={inter.className}>
        <ThemeProvider
          attribute="class"
          defaultTheme="system"
          enableSystem
          disableTransitionOnChange
        >
          {children}
        </ThemeProvider>
      </body>
    </html>
  );
}


Excessive find-replace in debugViewlet.ts

container.textContent = value.replace(/\n/g, '\\n').replace(/\r/g, '\\r').replace(/\t/g, '\\t');

Why is this line there? Those replace calls don't do anything, right?

How I understand the replace function it is doing something, the first one replaces real newlines with '\n' and then passes that string to the next replae function and so on. The final string is returned to the container.textContent

Oh, it's actually escaping those characters. Got it.
You should do it in one pass, though:
const map = { '\n': '\\n', '\r': '\\r', '\t': '\\t' };
container.textContent = value.replace(/[\n\r\t]/g, char => map[char]);

Something like that.


[snmp walk cmd] Address review for PR #12457

What does this PR do?

A follow up PR to address comments for PR #12457:

Change file name to snmp.go instead of snmpwalk.go
Add the team @DataDog/infrastructure-integrations as CODEOWNER
Remove default context name for snmp v3
Support hyphen format and add both formats for the flag description for the authentication protocol for snmp v3
Handle hex-string output format

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

start snmp sim:
in integrations-core run
ddev env start snmp py38
ddev env shell snmp
inside docker container run
apt-get update
apt-get install snmp -y
test the command by running in datadog-agent
./bin/agent/agent snmp walk <IP_ADDRESS>:1161 <IP_ADDRESS>.2.1.1 -v 2c -C public

Reviewer's Checklist

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

@NouhaManai96 I changed the PR title to [snmp walk cmd] Address review for PR #12457, but feel free to update/revert if there is a better name.


perform sql easier

i rewritten the code of python so that sql performance is better and smooth

you worked on it without assigned. I cannot assign you points. You are free to dispute this. Mistakes do happen


feat: added doubleClickMaxDuration option

This allows fine setting to fine tune the behavior of doubleclick/singleclick
BTW: android default duration for double click is 300ms we use 400ms we is quite bigger

Thanks! Merged.


Nested models not supported?

Hi,
I recently tried to use nested models by using the following API / pseudo-code:
model1 = ospNewModel();
model2 = ospNewModel();
...
instance2 = ospAddInstance(model2, (osp::affine3f&)ospcommon::one);
ospAddGeometry(model1, instance2);
instance1 = ospAddInstance(model1, (osp::affine3f&)ospcommon::one);
ospAddGeometry(rootModel, instance1);
...
ospCommit(rootModel);
The rendering unfortunately fails in the following line of model.ih:
geom->postIntersect(geom,model,dg,ray,flags);
In the model.ih file, the comments make it pretty clear that the feature is not yet supported.
Note that if I do not have more that 1 level of children under the 'root' model, things work fine.
Will nested models be fully supported in the future? In OSPRay 2.0?
Many thanks for you help there.
Cyrille

Hi Cyrille,
You are correct, nested instancing is not support in OSPRay. The API, as it is currently expressed, leads you to believe that nested instancing is supported, but we intend to change that.
We've decided to stick with single-level instancing in OSPRay API itself, though we support multi-level instancing in ospray_sg (our scene graph which continues to mature). After some discussion with the team, multi-level instancing is somewhat at-odds with the spirit of the OSPRay API. OSPRay does not want to get in the business of allowing client applications to query information which the application set (i.e. values of parameters). This is fine when there's a 1:1 mapping of objects/parameters to API calls. However, multi-level instancing would start creating additional objects on behalf of the application, which begs for additional functionality to allow querying of those objects and setting parameters on them.
Thus, we still do deliver that functionality (not withstanding future improvements), but deliver it in a place which makes more sense: a traversable representation of a scene.
In OSPRay v2.0, we will make the API more obvious to the single-level instancing design decision. It won't require too much of a change from the current API, but it will be spelled differently...perhaps by introducing an OSPWorld for the root-level scene.
FWIW, this decoupling also lets us consider potential differences in the roles of the OSPRay API and the scene graph. (ex: instancing lights inside models)
Hope that helps!
Cheers,
Jeff


Display Attacker IP instead of BSSID in records fragment

Change the records fragment to show the attacker ip instead of the BSSID

issue fixed.


options

add options
make accessibility identifier automatically from root object or user setting object

LayoutOptions.accessibilityIdentifiers seems to be an option that automatically sets view.accessibilityIdentifier to the name of the property where the view is stored, is that correct?

LayoutOptions.accessibilityIdentifiers seems to be an option that automatically sets view.accessibilityIdentifier to the name of the property where the view is stored, is that correct?

yeah, that's correct.

I think separating option value and function in LayoutOptions will help when more options are added in the future

that's reasonable point. ok, D&C.

LayoutOptions.accessibilityIdentifiers seems to be an option that automatically sets view.accessibilityIdentifier to the name of the property where the view is stored, is that correct?

how about like this?
Deactivable.updateLayout(OptionParams(options: LayoutOption..., rootObjectForAccessibilityIdentifier: <object>)

ooooh... naming... ooo
@gmlwhdtjd

LayoutOptions.accessibilityIdentifiers seems to be an option that automatically sets view.accessibilityIdentifier to the name of the property where the view is stored, is that correct?

how about like this?
Deactivable.updateLayout(OptionParams(options: LayoutOption..., rootObjectForAccessibilityIdentifier: <object>)

ooooh... naming... ooo
@gmlwhdtjd

Is there any reason to get the root object from the user?
Looking at the commits so far, the root detection logic doesn't seem to have much of a problem.

LayoutOptions.accessibilityIdentifiers seems to be an option that automatically sets view.accessibilityIdentifier to the name of the property where the view is stored, is that correct?

how about like this?
Deactivable.updateLayout(OptionParams(options: LayoutOption..., rootObjectForAccessibilityIdentifier: <object>)

ooooh... naming... ooo
@gmlwhdtjd

Is there any reason to get the root object from the user? Looking at the commits so far, the root detection logic doesn't seem to have much of a problem.

there are one reason. because root view and container of views may not same. @gmlwhdtjd

@oozoofrog
Oh! I understood, Then it is a necessary situation.
I wonder if there is a nicer way
Because it's good to give an option as an argument but I think it would be inconvenient to use it to have to create a separate instance again for giving an option.

@oozoofrog
Oh! I understood, Then it is a necessary situation.
I wonder if there is a nicer way
Because it's good to give an option as an argument but I think it would be inconvenient to use it to have to create a separate instance again for giving an option.

agreed. should be more nicer way be somwhere in cells of brain. hey where are you.

@oozoofrog
Oh! I understood, Then it is a necessary situation.
I wonder if there is a nicer way
Because it's good to give an option as an argument but I think it would be inconvenient to use it to have to create a separate instance again for giving an option.

oh may be answer is object itself.

@oozoofrog
Oh! I understood, Then it is a necessary situation.
I wonder if there is a nicer way
Because it's good to give an option as an argument but I think it would be inconvenient to use it to have to create a separate instance again for giving an option.

oh may be answer is object itself.

oh may be responder chain is the answer.

@gmlwhdtjd ah, i forgot LayoutBuilding! its the answer!

@gmlwhdtjd new commit come

LGTM👍
It's already great now, BTW it would be even better if there was a way to notify users when using that option without building or when the root view cannot be found!

thank you. we can figure more better methods eventually.