Parse code reviews for approved Pull Request

when the Pull Request gets approved, we can pull all reviews for this pull request. For pull #58 in repo objectionary/news.eolang.org we can hit https://api.github.com/repos/objectionary/news.eolang.org/pulls/58/reviews endpoint to get all reviews. Something like this will be printed:
[
  {
    "id":<PHONE_NUMBER>,
    "node_id": "PRR_kwDOHeCcq85y7FxR",
    "user": {
      "login": "volodya-lombrozo",
      "id": 51804353,
      "node_id": "MDQ6VXNlcjUxODA0MzUz",
      "avatar_url": "https://avatars.githubusercontent.com/u/51804353?u=ba6eeac8539c54695c2da9ffe27443686daacda0&v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/volodya-lombrozo",
      "html_url": "https://github.com/volodya-lombrozo",
      "followers_url": "https://api.github.com/users/volodya-lombrozo/followers",
      "following_url": "https://api.github.com/users/volodya-lombrozo/following{/other_user}",
      "gists_url": "https://api.github.com/users/volodya-lombrozo/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/volodya-lombrozo/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/volodya-lombrozo/subscriptions",
      "organizations_url": "https://api.github.com/users/volodya-lombrozo/orgs",
      "repos_url": "https://api.github.com/users/volodya-lombrozo/repos",
      "events_url": "https://api.github.com/users/volodya-lombrozo/events{/privacy}",
      "received_events_url": "https://api.github.com/users/volodya-lombrozo/received_events",
      "type": "User",
      "site_admin": false
    },
    "body": "@Yanich96 Please, check all the grammar mistakes in this text.",
    "state": "CHANGES_REQUESTED",
    "html_url": "https://github.com/objectionary/news.eolang.org/pull/58#pullrequestreview-1928092753",
    "pull_request_url": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/58",
    "author_association": "MEMBER",
    "_links": {
      "html": {
        "href": "https://github.com/objectionary/news.eolang.org/pull/58#pullrequestreview-1928092753"
      },
      "pull_request": {
        "href": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/58"
      }
    },
    "submitted_at": "2024-03-11T15:35:05Z",
    "commit_id": "96e9f05a91df6602ce876ba0fc52a5ccb05e1b34"
  },
  {
    "id":<PHONE_NUMBER>,
    "node_id": "PRR_kwDOHeCcq85zPPpO",
    "user": {
      "login": "Yanich96",
      "id": 51863344,
      "node_id": "MDQ6VXNlcjUxODYzMzQ0",
      "avatar_url": "https://avatars.githubusercontent.com/u/51863344?u=0234435a770321c7adf4476f27ef0fc5c1e1aeaf&v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/Yanich96",
      "html_url": "https://github.com/Yanich96",
      "followers_url": "https://api.github.com/users/Yanich96/followers",
      "following_url": "https://api.github.com/users/Yanich96/following{/other_user}",
      "gists_url": "https://api.github.com/users/Yanich96/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/Yanich96/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/Yanich96/subscriptions",
      "organizations_url": "https://api.github.com/users/Yanich96/orgs",
      "repos_url": "https://api.github.com/users/Yanich96/repos",
      "events_url": "https://api.github.com/users/Yanich96/events{/privacy}",
      "received_events_url": "https://api.github.com/users/Yanich96/received_events",
      "type": "User",
      "site_admin": false
    },
    "body": "",
    "state": "COMMENTED",
    "html_url": "https://github.com/objectionary/news.eolang.org/pull/58#pullrequestreview-1933376078",
    "pull_request_url": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/58",
    "author_association": "NONE",
    "_links": {
      "html": {
        "href": "https://github.com/objectionary/news.eolang.org/pull/58#pullrequestreview-1933376078"
      },
      "pull_request": {
        "href": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/58"
      }
    },
    "submitted_at": "2024-03-13T07:56:08Z",
    "commit_id": "96e9f05a91df6602ce876ba0fc52a5ccb05e1b34"
  },
  ...
  {
    "id":<PHONE_NUMBER>,
    "node_id": "PRR_kwDOHeCcq850u5TI",
    "user": {
      "login": "Yanich96",
      "id": 51863344,
      "node_id": "MDQ6VXNlcjUxODYzMzQ0",
      "avatar_url": "https://avatars.githubusercontent.com/u/51863344?u=0234435a770321c7adf4476f27ef0fc5c1e1aeaf&v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/Yanich96",
      "html_url": "https://github.com/Yanich96",
      "followers_url": "https://api.github.com/users/Yanich96/followers",
      "following_url": "https://api.github.com/users/Yanich96/following{/other_user}",
      "gists_url": "https://api.github.com/users/Yanich96/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/Yanich96/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/Yanich96/subscriptions",
      "organizations_url": "https://api.github.com/users/Yanich96/orgs",
      "repos_url": "https://api.github.com/users/Yanich96/repos",
      "events_url": "https://api.github.com/users/Yanich96/events{/privacy}",
      "received_events_url": "https://api.github.com/users/Yanich96/received_events",
      "type": "User",
      "site_admin": false
    },
    "body": "",
    "state": "COMMENTED",
    "html_url": "https://github.com/objectionary/news.eolang.org/pull/58#pullrequestreview-1958450376",
    "pull_request_url": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/58",
    "author_association": "NONE",
    "_links": {
      "html": {
        "href": "https://github.com/objectionary/news.eolang.org/pull/58#pullrequestreview-1958450376"
      },
      "pull_request": {
        "href": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/58"
      }
    },
    "submitted_at": "2024-03-25T18:04:11Z",
    "commit_id": "9e6a73624414b68d4b2dc856bab6a984ee39b0bb"
  }
]

As you can see here, each review has its id, using that we can fetch all the review comments, utilizing https://api.github.com/repos/objectionary/news.eolang.org/pulls/58/reviews/${ID}/comments endpoint. Here is a review with id=1928092753:
[
  {
    "id":<PHONE_NUMBER>,
    "node_id": "PRRC_kwDOHeCcq85al4JO",
    "url": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/comments/1519878734",
    "pull_request_review_id":<PHONE_NUMBER>,
    "diff_hunk": "@@ -0,0 +1,241 @@\n+---\n+layout: post\n+date: 2024-02-06\n+title: \"Build cache in EO and other build systems\"\n+author: Alekseeva Yana\n+---\n+\n+\n+## Introduction\n+Wasting a lot of time on building a project is a programming problem. At the moment a programmer starts an",
    "path": "_posts/2024/2024-02-06-about-caching-in-eo.md",
    "position": null,
    "original_position": 10,
    "commit_id": "9e6a73624414b68d4b2dc856bab6a984ee39b0bb",
    "user": {
      "login": "volodya-lombrozo",
      "id": 51804353,
      "node_id": "MDQ6VXNlcjUxODA0MzUz",
      "avatar_url": "https://avatars.githubusercontent.com/u/51804353?u=ba6eeac8539c54695c2da9ffe27443686daacda0&v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/volodya-lombrozo",
      "html_url": "https://github.com/volodya-lombrozo",
      "followers_url": "https://api.github.com/users/volodya-lombrozo/followers",
      "following_url": "https://api.github.com/users/volodya-lombrozo/following{/other_user}",
      "gists_url": "https://api.github.com/users/volodya-lombrozo/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/volodya-lombrozo/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/volodya-lombrozo/subscriptions",
      "organizations_url": "https://api.github.com/users/volodya-lombrozo/orgs",
      "repos_url": "https://api.github.com/users/volodya-lombrozo/repos",
      "events_url": "https://api.github.com/users/volodya-lombrozo/events{/privacy}",
      "received_events_url": "https://api.github.com/users/volodya-lombrozo/received_events",
      "type": "User",
      "site_admin": false
    },
    "body": "@Yanich96 \r\n\r\n> Wasting a lot of time on building a project is a programming problem. At the moment a programmer starts an assembly, he loses focus on a task and spends valuable working \r\n\r\n\"Empty words\". We can remove them without losing any meaning.",
    "created_at": "2024-03-11T15:04:52Z",
    "updated_at": "2024-03-11T15:35:05Z",
    "html_url": "https://github.com/objectionary/news.eolang.org/pull/58#discussion_r1519878734",
    "pull_request_url": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/58",
    "author_association": "MEMBER",
    "_links": {
      "self": {
        "href": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/comments/1519878734"
      },
      "html": {
        "href": "https://github.com/objectionary/news.eolang.org/pull/58#discussion_r1519878734"
      },
      "pull_request": {
        "href": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/58"
      }
    },
    "original_commit_id": "96e9f05a91df6602ce876ba0fc52a5ccb05e1b34",
    "reactions": {
      "url": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/comments/1519878734/reactions",
      "total_count": 1,
      "+1": 0,
      "-1": 0,
      "laugh": 0,
      "hooray": 0,
      "confused": 0,
      "heart": 0,
      "rocket": 0,
      "eyes": 1
    }
  },
  ...
  {
    "id":<PHONE_NUMBER>,
    "node_id": "PRRC_kwDOHeCcq85amD0F",
    "url": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/comments/1519926533",
    "pull_request_review_id":<PHONE_NUMBER>,
    "diff_hunk": "@@ -0,0 +1,241 @@\n+---\n+layout: post\n+date: 2024-02-06\n+title: \"Build cache in EO and other build systems\"\n+author: Alekseeva Yana\n+---\n+\n+\n+## Introduction\n+Wasting a lot of time on building a project is a programming problem. At the moment a programmer starts an\n+assembly, he loses focus on a task and spends valuable working time. Different build systems use many tools,\n+helping to assemble a project faster, namely caching, task parallelization, distributed building and much more.\n+The subject of this article is caching, because completed tasks caching allows not to spend resources again. \n+So in [EO](https://github.com/objectionary/eo) caching is used for speeding up programs work.\n+While developing [EO](https://github.com/objectionary/eo) we found caching errors in `eo-maven-plugin`\n+for EO version `0.34.0`. The error occurred, because using a file name and comparing equality of\n+compilation time and caching time is not the most reliable verification. Unit tests were written showing that \n+cache does not work correctly. Also reading a file was necessary for getting a programme name \n+that slowed down an assembly. \n+That we came to conclusion that we need caching with a reliable verification which does not require reading a file\n+from disk. And using cache should save us enough time for building a project.\n+\n+The goal of this article is to research caching in frequently used build systems (`ccache`, `Maven`, `Gradle`)",
    "path": "_posts/2024/2024-02-06-about-caching-in-eo.md",
    "position": null,
    "original_position": 23,
    "commit_id": "9e6a73624414b68d4b2dc856bab6a984ee39b0bb",
    "user": {
      "login": "volodya-lombrozo",
      "id": 51804353,
      "node_id": "MDQ6VXNlcjUxODA0MzUz",
      "avatar_url": "https://avatars.githubusercontent.com/u/51804353?u=ba6eeac8539c54695c2da9ffe27443686daacda0&v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/volodya-lombrozo",
      "html_url": "https://github.com/volodya-lombrozo",
      "followers_url": "https://api.github.com/users/volodya-lombrozo/followers",
      "following_url": "https://api.github.com/users/volodya-lombrozo/following{/other_user}",
      "gists_url": "https://api.github.com/users/volodya-lombrozo/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/volodya-lombrozo/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/volodya-lombrozo/subscriptions",
      "organizations_url": "https://api.github.com/users/volodya-lombrozo/orgs",
      "repos_url": "https://api.github.com/users/volodya-lombrozo/repos",
      "events_url": "https://api.github.com/users/volodya-lombrozo/events{/privacy}",
      "received_events_url": "https://api.github.com/users/volodya-lombrozo/received_events",
      "type": "User",
      "site_admin": false
    },
    "body": "@Yanich96 This sentence might be connected with the previous one: \"The subject of this article is caching.\"",
    "created_at": "2024-03-11T15:34:26Z",
    "updated_at": "2024-03-11T15:35:06Z",
    "html_url": "https://github.com/objectionary/news.eolang.org/pull/58#discussion_r1519926533",
    "pull_request_url": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/58",
    "author_association": "MEMBER",
    "_links": {
      "self": {
        "href": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/comments/1519926533"
      },
      "html": {
        "href": "https://github.com/objectionary/news.eolang.org/pull/58#discussion_r1519926533"
      },
      "pull_request": {
        "href": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/58"
      }
    },
    "original_commit_id": "96e9f05a91df6602ce876ba0fc52a5ccb05e1b34",
    "reactions": {
      "url": "https://api.github.com/repos/objectionary/news.eolang.org/pulls/comments/1519926533/reactions",
      "total_count": 0,
      "+1": 0,
      "-1": 0,
      "laugh": 0,
      "hooray": 0,
      "confused": 0,
      "heart": 0,
      "rocket": 0,
      "eyes": 0
    }
  }
]

This operation we should execute for all reviews in pull requests. After all comments are collected, let's group them with their review id and reviewer (github login)

@h1alexbel 4 puzzles #22, #23, #24, #25 are still not solved.

@h1alexbel 3 puzzles #22, #23, #25 are still not solved; solved: #24.

@h1alexbel 4 puzzles #23, #25, #35, #36 are still not solved; solved: #22, #24.

@h1alexbel 3 puzzles #23, #25, #35 are still not solved; solved: #22, #24, #36.

@h1alexbel 2 puzzles #23, #35 are still not solved; solved: #22, #24, #25, #36.


[bugfix](low cardinality) cached code is wrong will result wrong query result when many null pages

Sometimes the dict is not initialized when run comparison predicate here, for example, the full page is null, then the reader will skip read, so that the dictionary is not  inited. The cached code is wrong during this case, because the following page maybe not  null, and the dict should have items in the future.
This will result the dict string  column query return wrong result, if there are  many null values in the column.
I also add some regression test for dict column's equal query, larger than query, less than query.

Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.09 seconds
stream load tsv:          425 seconds loaded<PHONE_NUMBER>9 Bytes, about 167 MB/s
stream load json:         23 seconds loaded<PHONE_NUMBER> Bytes, about 97 MB/s
stream load orc:          60 seconds loaded<PHONE_NUMBER> Bytes, about 17 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230429033023_clickbench_pr_137296.html

run buildall

run buildall


Crash on play

Hi there
Was looking for something to output from Volumio to chromecast audio and found your project which fit the bill for exactly of what I was looking for.
I followed the installation steps but am having problems getting it to run. I can find my Chromecast  Audio devices but it crashes when I start any playback. Here's the command I used:
volumio@volumio:~$ LC_ALL=en_US.UTF-8  ~/volumio2chromecast/volumio2chromecast.py --name 'Office speaker'
and the output I get:
`
Tue Nov 26 16:47:41 2019 No active Chromecast device
Tue Nov 26 16:47:42 2019 Volumio State:
{
"updatedb": false,
"repeatSingle": false,
"disableVolumeControl": false,
"uri": "music-library/NAS/Test/01 - Warm Sound.mp3",
"album": "When It Falls",
"channels": 2,
"duration": 331,
"title": "Warm Sound",
"status": "play",
"mute": false,
"albumart": "/albumart?cacheid=948&web=Zero7/When%20It%20Falls/extralarge&pa                            th=%2Fmnt%2FNAS%2FTest&metadata=false",
"volatile": false,
"bitdepth": "24 bit",
"artist": "Zero7",
"stream": "mp3",
"repeat": null,
"trackType": "mp3",
"samplerate": "44.1 kHz",
"volume": 40,
"position": 0,
"random": null,
"seek": 25135,
"service": "mpd",
"consume": false
}
Tue Nov 26 16:47:42 2019 Connecting to Chromecast <IP_ADDRESS>:8009
Tue Nov 26 16:47:42 2019 Waiting for device to get ready..
Tue Nov 26 16:47:42 2019 Connected to Living Room speaker (<IP_ADDRESS>:8009) m                            odel:Unknown model name
Casting URL:b'http://<IP_ADDRESS>:8000/music/NAS/Test/01 - Warm Sound.mp3' typ                            e:audio/mp3
Exception in thread Thread-8:
Traceback (most recent call last):
File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
self.run()
File "/usr/lib/python3.4/threading.py", line 868, in run
self._target(*self._args, **self._kwargs)
File "/home/volumio/volumio2chromecast/volumio2chromecast.py", line 384, in vo                            lumio_agent
autoplay = True)
File "/usr/local/lib/python3.4/dist-packages/pychromecast/controllers/media.py                            ", line 546, in play_media
receiver_ctrl.launch_app(self.app_id, callback_function=app_launched_callbac                            k)
File "/usr/local/lib/python3.4/dist-packages/pychromecast/socket_client.py", l                            ine 1066, in launch_app
lambda response: self._send_launch_message(
File "/usr/local/lib/python3.4/dist-packages/pychromecast/socket_client.py", l                            ine 1055, in update_status
{MESSAGE_TYPE: TYPE_GET_STATUS}, callback_function=callback_function_param
File "/usr/local/lib/python3.4/dist-packages/pychromecast/controllers/init                            .py", line 90, in send_message
self.send_message_nocheck(data, inc_session_id, callback_function)
File "/usr/local/lib/python3.4/dist-packages/pychromecast/controllers/init                            .py", line 94, in send_message_nocheck
self._message_func(self.namespace, data, inc_session_id, callback_function)
File "/usr/local/lib/python3.4/dist-packages/pychromecast/socket_client.py", l                            ine 834, in send_platform_message
callback_function_param,
File "/usr/local/lib/python3.4/dist-packages/pychromecast/socket_client.py", l                            ine 771, in send_message
self._ensure_channel_connected(destination_id)
File "/usr/local/lib/python3.4/dist-packages/pychromecast/socket_client.py", l                            ine 883, in _ensure_channel_connected
no_add_request_id=True,
File "/usr/local/lib/python3.4/dist-packages/pychromecast/socket_client.py", l                            ine 822, in send_message
"Chromecast {}:{} is connecting...".format(self.host, self.port)
pychromecast.error.NotConnected: Chromecast <IP_ADDRESS>:8009 is connecting...
Detected 1 dead threads.. exiting
/usr/local/lib/python3.4/dist-packages/cherrypy/process/wspbus.py:258: RuntimeWa                            rning: The main thread is exiting, but the Bus is in the states.STARTED state; s                            hutting it down automatically now. You must either call bus.block() after start(                            ), or call bus.exit() before the main thread exits.
'main thread exits.' % self.state, RuntimeWarning)
`
Any help you can provide is appreciated.
Thanks

So I did some more testing. Part of the problem is that the current version of pychromecast is no longer compatible with python 3.4.
I tried some earlier versions and version 2.3.0 of pychromecast runs. I can hear chromecast connect and i can change volume using the volumio UI, but no song actually plays (Elapsed stays at 0:00/0:00 [00%])
Interestingly, if I cast from phone while the script is running, the elapsed counter updates accordingly, and I can pause from the Volumio interface.
I looks like everything is working except for Chromecast to actually begin playing the proper song.

Same issue here... And I only installed Volumio, because is seems chromecast playback was possible... I tried upgrading to a higher version of python but that seems to bring other problems.

Hi folks,
sincere apologies.. I just saw this issue thread now, nearly a year later and I've been modifying the code all along.
You are correct, the ancient Jesse image in Volumio is the cause of the issues here.
I have it working again just recently but only on a the beta Buster images for Volumio. I tried all kinds of madness trying to recompile a later Python 3.x for the Jesse image and just kept running into issues.
I also released a variant of the same script today for moOde another player similar in concept to Volumio.


GPU MUCH slower than CPU

GPU training is MUCH slower than CPU training. It's possible I'm doing something wrong. If I'm not I can gather more data on this. The data set is pretty small and it slows to a crawl. GPU usage is around 2-5%, It fills up the memory in the GPU pretty quickly to 90% but the PCIe Bandwidth Utilization is 1%. My CPU and Memory usage are otherwise minimal.
My setup: 32gb ram, 8 core 4.3 Ghz processor, (2) GTX 660's, 367.57 Nvidia Driver, Cuda Toolkit 7.5, cudnn 7.5, Python 2.7. Tensorflow matches 7.5.
I can take exact time measurements later if needed but I would guess GPU is about 10x slower if not more than the CPU training.
pprint.pprint(len(X))
pprint.pprint(len(Y))

net = tflearn.input_data(shape=[None, 7])
net = tflearn.fully_connected(net, 32)
net = tflearn.fully_connected(net, 32)
net = tflearn.fully_connected(net, 2, activation='softmax')
net = tflearn.regression(net)

model = tflearn.DNN(net)
model.fit(X, Y, n_epoch=100, batch_size=16, show_metric=True)

model.save("model.tfl")

camj256@camj256:~/PycharmProjects/DeepLearning$ python build.py
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcurand.so locally
Exceptions: 0
3003
3003
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:925] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 0 with properties:
name: GeForce GTX 660
major: 3 minor: 0 memoryClockRate (GHz) 1.0975
pciBusID 0000:02:00.0
Total memory: 1.99GiB
Free memory: 1.27GiB
W tensorflow/stream_executor/cuda/cuda_driver.cc:572] creating context when one is currently active; existing: 0x2af5d00
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:925] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 1 with properties:
name: GeForce GTX 660
major: 3 minor: 0 memoryClockRate (GHz) 1.0975
pciBusID 0000:01:00.0
Total memory: 1.99GiB
Free memory: 1.24GiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:59] cannot enable peer access from device ordinal 0 to device ordinal 1
I tensorflow/core/common_runtime/gpu/gpu_init.cc:59] cannot enable peer access from device ordinal 1 to device ordinal 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0 1
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0:   Y N
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 1:   N Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 660, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] Creating TensorFlow device (/gpu:1) -> (device: 1, name: GeForce GTX 660, pci bus id: 0000:01:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 660, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] Creating TensorFlow device (/gpu:1) -> (device: 1, name: GeForce GTX 660, pci bus id: 0000:01:00.0)
---------------------------------
Run id: 17E6I9
Log directory: /tmp/tflearn_logs/
---------------------------------
Training samples: 3003
Validation samples: 0

Have you tried using timeline to find out where the time is going?
http://stackoverflow.com/questions/34293714/tensorflow-can-i-measure-the-execution-time-of-individual-operations/37774470#37774470

This can be closed pretty soon if nothing jumps out at anyone.  Once I have time to fix my linux install and dig into this I can re-open.
I'm wondering if the batch size was too small and it was bottle necking somewhere?

@camj256,
I have similar issues I still have not got to the bottom of with an RL model.  It seems like TensorFlow maybe optimized for larger datasets, but my understanding is other deep learning tools might handle the smaller datasets more efficiently.  I would rather stay with TensorFlow if I can so it would be nice if some optimization can be done on smaller datasets to get close to the performance of the other tools.  There is an open item #2444 which also has documented the same issue.  I have a StackOverflow posting as well to see if it is just a matter of optimization.
http://stackoverflow.com/questions/38688777/tensorflow-graph-optimization-gpu-vs-cpu-performance
Hopefully we can move TensorFlow in the director of some optimization for the smaller dataset sizes.

My actual data set is 200k. Same result there too.

The basic question here is whether your poor performance is due to a slow GPU kernel, to inefficiencies in moving data back and forth between CPU and GPU, or something else.   If you could use timeline and other profiling tools to track this down on your side, it would be helpful.   When data sizes are tiny, GPUs provide no advantage over CPUs.  However, if another DNN framework can run this same model on GPU much faster, that's a performance problem we'd like to address.

I'm gonna close this for now then. I won't be able to look into that for another week or so. Too busy with work.

I got my linux install fixed and am looking into this right now. Hopefully someone can answer a few rookie questions that are getting in the way of my understanding of this.
I've noticed that I can just up the batch size to 100k and process a lot quicker than CPU but the question is does the batch size have any affect on how the DNN learns? Also, I've noticed if I change the size of the NN to be much larger like 512 instead of 32 it seems to just get stuck at the same acc forever BUT when doing so the GPU usage goes up to like 50% on one of the cards.
I'm going to run the timeline thing later tonight but for now the above questions would help me understand what I'm doing a lot better. (Sorry, I've tried googling and the docs on the site seem to assume I already know what everything does.)

There's no simple answer to these questions.  But there should be many papers and blog posts about the general topics of SGD training and hyperparameter tuning.
If you're really a beginner, you should try playing with http://playground.tensorflow.org/

Well, I went and bought a gtx 1080 tonight. It was time to upgrade.  Probably just CUDA the 660's being an older version of CUDA?


Critical ERROR

hi, so i tried using the script and it only worked once, it said "next time: 160 seconds" or something like that and then it just printed critical error

solved


Make Vigenere Cipher link point to the right file

Hey, I saw the Vigenere Cipher app link on Readme resulted in 404, so I updated it.

Thank you for the fix!


What happened to v.0.21.0

Hello,
I was using fastp v.0.21.0. until now, but I see that this release has disappeared from GitHub.
There was something wrong with this version?
Thanks in advance.

We were also using v0.21.0. is this version still available?

v0.21.0 is still there. For example, you can download it via:
wget wget http://opengene.org/fastp/fastp.0.21.0

You can also install this specified version from bioconda


June 2018 edition of the GraphQL specification update

Hi,
any plans to update the plugin to https://github.com/graphql/graphql-spec/releases/tag/June2018
it's described as the first edition to no longer be considered a "Draft RFC" to reflect its extensive use in production

Thanks for the reminder!
I'll read through it in detail soon, but if there are any specific changes that you think I should make (aside from updating the documentation and examples), please point them out so I don't miss them.


[FEATURE REQUEST] Let Users Over Drag At The Edges Instead of Clamping the Image Movement

Dragging & Panning Behavior
Currently, panning the image works well. I saw that someone requested you to implement inertia or  momentum after the drag ends.  (couldn't find the issue sorry again) So by using the ScaleEndDetails.velocity, you already made it more user-friendly. Thanks a lot for this behavior. (Btw, this is not my actual request for this issue but it would be better if you let us change the friction amount so it can move a bit more smoothly.)
Enable Over-Dragging
Currently, when a user drags the image to the edges, it is stoped. (Clamped). Would you mind adding a behavior so that a user can over drag an image instead of stopping immediately? It will be like the over-scrolling physics when we add AlwaysScrollableScrollPhysicsto a regular ListView. When released, it will return back to the edge.
Considering the UX, it will be better for users to understand that they are at the edge.

Did you try using your own PhotoViewController ?
class _YourPhotoViewController extends PhotoViewController {
  @override
  void updateMultiple({Offset? position, double? scale, double? rotation, Offset? rotationFocusPoint}) {
    super.updateMultiple(
      position: position,
      scale: scale?.clamp(your_min_scale, your_max_scale).toDouble(),
      rotation: rotation,
      rotationFocusPoint: rotationFocusPoint,
    );
  }
}


Audit upstream repo and add features

This software is intended to replicate the upstream repo - https://github.com/helium/gateway-config
Some new functionality has been added which we need to add/test
https://github.com/helium/gateway-config/pull/73

One of the new features is "Disk"


Add IndicQA dataset in Retrieval task

Checklist for adding MMTEB dataset

Reason for dataset addition:

[x] I have tested that the dataset runs with the mteb package.
[x] I have run the following models on the task (adding the results to the pr). These can be run using the mteb run -m {model_name} -t {task_name} command.

[x] sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
[x] intfloat/multilingual-e5-small

[x] I have checked that the performance is neither trivial (both models gain close to perfect scores) nor random (both models gain close to random scores).
[x] If the dataset is too big (e.g. >2048 examples), considering using self.stratified_subsampling() under dataset_transform()
[x] I have filled out the metadata object in the dataset file (find documentation on it here).
[x] Run tests locally to make sure nothing is broken using make test.
[x] Run the formatter to format the code using make lint.
[x] I have added points for my submission to the points folder using the PR number as the filename (e.g. 438.jsonl).

Points Summary:
This is the first dataset spanning 11 Indic languages in the Retrieval task category. The total points would be 2 + 4 x 11 = 46 points.
I have added the points for dataset contribution and PR review.
@KennethEnevoldsen I am also interested in reviewing PRs if possible. I am curious to understand the criteria to be a reviewer for this repository.

Wonderful @jaygala24, will merge this in!


TypeError: expected str, bytes or os.PathLike object, not _io.TextIOWrapper

While trying to execute this example i am getting this error "TypeError: expected str, bytes or os.PathLike object, not _io.TextIOWrapper"
when i google this i get suggestion of pickle.load(open( f, "rb" ) ),
Can any tell the problem with code.
using windwos 8.1
anaconda 5
python 3

The code suggested is close, here's code that should work:
with open(config_path, 'rb') as f:
    saved_args = cPickle.load(f)
# Separately load chars and vocab from the save directory.
with open(vocab_path, 'rb') as f:
    chars, vocab = cPickle.load(f)


Abnormal(Impossible?)  increase in container size.

Hello
I have created a base container, with the purpose of being able to ssh to it, using the credentials of a windows ad server.
In the course of this message, I will be using the ad term to describe , a windows ad(Active Directory) server .
For this to work, I used a ubuntu image(LTS) and installed the following main packages, sssd, opensshserver, samba.
The container has 2 interfaces, one is connect to the default bridge docker0(<IP_ADDRESS>), and the other is connect to a 2º bridge interface (<IP_ADDRESS>) added thought the pipework  script.
After all is setup up, this is container state/size:
root@thanos:/home/domain.com/leonarit# docker ps -s
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES               SIZE
5d26b12ae2cf        04fb8b00035c        "/sbin/my_init"     About an hour ago   Up About an hour                        nms                 18.53 MB (virtual 1.707 GB)
If i ssh to the container using a local account, everything works normal, and once inside, i can change to the ad user, for example: “su leonarit”, which will use the ad server <IP_ADDRESS> as source off the accounting mechanism.
The problem only happens when i try to ssh with the ad credentials, after a successful ssh with the ad credentials, the container increases the an impossible size(292.3 GB (virtual 294 GB)), i dont even have that much space in my partition.
oot@thanos:/home/domain.com/leonarit# ssh<EMAIL_ADDRESS><EMAIL_ADDRESS>password:
Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-59-generic x86_64)
BANNER
leonarit@domain.com@nms:/$
leonarit@domain.com@nms:/$ exit
logout
Connection to <IP_ADDRESS> closed.
root@thanos:/home/domain.com/leonarit# docker ps -s
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES               SIZE
5d26b12ae2cf        04fb8b00035c        "/sbin/my_init"     About an hour ago   Up About an hour                        nms                 292.3 GB (virtual 294 GB)
Host information:
root@thanos:/home/domain.com/leonarit# docker info
Containers: 1
Images: 20
Server Version: 1.10.0-dev
Storage Driver: devicemapper
Pool Name: docker-252:0-131076-pool
Pool Blocksize: 65.54 kB
Base Device Size: 107.4 GB
Backing Filesystem: extfs
Data file: /dev/ubuntu01-vg/data
Metadata file: /dev/ubuntu01-vg/metadata
Data Space Used: 3.854 GB
Data Space Total: 46.98 GB
Data Space Available: 43.13 GB
Metadata Space Used: 3.572 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.144 GB
Udev Sync Supported: false
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Library Version: 1.02.82-git (2013-10-04)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.16.0-59-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 4
Total Memory: 3.854 GiB
Name: thanos.lab16916.com
ID: 4YZK:VF2G:YKWJ:GN54:33FF:KRAY:WUJ4:FLRU:3T4C:FKVP:CNJE:KGVU
Debug mode (server): true
File Descriptors: 18
Goroutines: 36
System Time: 2016-01-20T14:25:47.883054752Z
EventsListeners: 0
Init SHA1:
Init Path: /usr/bin/docker
Docker Root Dir: /var/lib/docker/0.0
WARNING: No swap limit support
Experimental: true
I have tested Docker stable and experimental, ant the result is the same. I begun the test with the default store driver: aufs, and changed to devicemapper, but the problems remained the same.
Is there any way to do a debug, to try to figure out ,why Docker increases the size of the container beyond the possible space limit.

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

Is it really that container take such space ?
what's the container do? Is it possible to check logs in container and also enable debug in daemon docker ?
With logs it may show some helpful info

I started docker as a daemon with the debug option, and after i ssh to the  container(nms),the size changes, but  nothing appears in the logs. I have logs from the startup of the container but nothing appears when i ssh,
I have checked the following locations:
/var/log/upstart/docker.log
docker evens
docker logs nms

I am not sure if your base container issue or not.
Could you try one official docker image if it work or still have space issue ?

@nickmaleao isn't your ad mechanism mounting (network mount) stuff inside the container (like the home of one user) ? That might explains these numbers for the size.

This is a common issue with using AD users inside docker. The problem is that linux creates `/var/log/wtmp

This is a common issue with using AD users inside docker. The problem is that linux creates /var/log/wtmp as a sparse file, and the size is controlled by the user ID. Meaning for example user 0 occupies bytes 0-9, user 1 occupies bytes 10-19, user 2 uses 20-29, etc. AD users have really big numeric IDs (in the millions), meaning user 123456789 occupies bytes<PHONE_NUMBER>-1234567899. But as mentioned, this is a sparse file, so it isn't actually using<PHONE_NUMBER> bytes on the filesystem.
In short, docker is doing nothing wrong, and everything is working as it should :-)

@phemmer , thanks for the info, you are right!
Finally a answer for this problem, but what is strange is that this problem only occurs if a try to use a ad user with ssh.
If i ssh with a local account and then change to a ad user, this problem doesn't occur.

If i ssh with a local account and then change to a ad user, this problem doesn't occur.

/var/log/lastlogin is updated by the pam_lastlog module. So the configuration of the pam stack for whatever you're using to change users doesn't invoke the pam_lastlog module.


Accessing custom claims in JwtSecurityToken

I'm using the OpenID Connect middleware and attempting to access custom claims sent by my Authorization Server, namely the scope claim. How can I retrieve the value of custom claims? It seems only the predefined claims are available. Would I need to get the raw token and parse it myself or is there some other way to access them?

Hi @AdamUCF - Can you share your startup code?

Here's what the JWT looks like just to help clarify.
{   "scope": [     "openid",     "profile",     "email"   ],   "client_id": "my_client_id",   "credential_authenticator": "my authenticator",   "aud": "my_client_id",   "credential_strength": "20",   "iss": "https://my.auth.server.internal",   "location_of_authentication": "INTERNAL",   "exp":<PHONE_NUMBER> }
And here's what's in my Startup.cs. I've tried accessing the scope claim (and others) in the OnTokenValidated event but they're not there. The best idea I can come up with would be to re-decode the raw token and parse the json that way.
`
public void ConfigureServices(IServiceCollection services)
{
services.Configure(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
        // Load the Federation configuration section from app settings
        var federationConfig = Configuration.GetSection("Federation");

        services.AddAuthentication(sharedOptions =>
        {
            sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            sharedOptions.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
        })
        .AddCookie(options =>
        {
            options.ExpireTimeSpan = TimeSpan.FromHours(2); //default is 14days
            options.SlidingExpiration = true; // default
            options.AccessDeniedPath = "/Error/403"; // set a custom error access denied error page. this would need to be created/handled in your app.

        })
        .AddOpenIdConnect(options =>
        {
            options.Authority = federationConfig["Authority"]; // get the url for the federation environment to use for authentication
            options.ClientId = federationConfig["ClientId"]; // the client id for this application
            options.ClientSecret = federationConfig["ClientSecret"]; // the client secret created for this application
            options.GetClaimsFromUserInfoEndpoint = true; // have the application get additional claims from the user info endpoint when the user logs in
            options.Scope.Add("email"); // request the user's email address
            options.Scope.Add("profile"); // request the user's basic profile attributes

            options.ClaimActions.MapJsonKey("scope", "scope");

            options.ResponseType = OpenIdConnectResponseType.Code; // request the code response type from Federation

            options.TokenValidationParameters = new TokenValidationParameters() { NameClaimType = ClaimTypes.NameIdentifier }; // set the sub to be the primary name in the identity

            //optional customizations to the auth and failure events
            options.Events = new OpenIdConnectEvents()
            {

                OnRemoteFailure = context =>
                {
                    // handle an error response from Federation and redirect the user to a custom error page instead
                    context.Response.Redirect("/Error/401");
                    context.HandleResponse();
                    return Task.CompletedTask;
                },
                OnTokenValidated = context =>
                {
                    var claims = context.SecurityToken.Claims;
                    return Task.CompletedTask;
                }

            };

        });

        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
            app.UseHsts();
        }

        app.UseAuthentication();
        app.UseHttpsRedirection();
        app.UseStaticFiles();
        app.UseCookiePolicy();

        app.UseMvc(routes =>
        {
            routes.MapRoute("Error", "Error/{id?}",
                defaults: new { controller = "Error", action = "Index" });
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });
    }

`

@AdamUCF you shouldn't have to recode anything. At the application layer, does the 'User' have multiple 'scope' claims?

Where would you get the "raw token" from? I initially suspected that you were missing:
options.ClaimActions.MapJsonKey("scope", "scope");, but that's clearly not the case.

@brentschmaltz nope. It only has the claims from the userinfo endpoint -- not the claims from the access token.
@GeoK I thought context.SecurityToken.RawData would have it but even that appears to be the processed version that removes the unknown claim types (and not the... raw data). context.TokenEndpointResponse.AccessToken does have the actual JWT though.

@AdamUCF  context.SecurityToken that you are seeing is an Id Token, and the same goes for the claims.

@GeoK that makes sense but is there any way to populate the User claims with the values in the access token?

@Tratcher how do claims from the UserInfoEndpoint get merged into the User? see @AdamUCF startup code above.
options.GetClaimsFromUserInfoEndpoint = true;

The claims in the UserInfo endpoint are getting merged into the User but the claims in the access token are not.

@AdamUCF I see, the code flow does not add claims to the identity. This makes sense as OIDC is about identity. The access_token is presented to a resource server and in this case it appears the access_token presented to the userinfo_endpoint.
I think your original assumption that you will have to add them yourself is correct.

@AdamUCF closing this. It would be up to asp.net to take a work items here.
You will need to save the token and add the claims.


Query accepting properties with @transform

Trustfall currently doesn't support using @transform on properties, but we don't have a validation in-place to avoid users doing such query. For example using the Trustfall Playground is possible to run:
# Latest stories on HackerNews that have a minimum score and karma
query {
  Latest(max: 100) {
    title @output
    byUsername @output
    submittedUrl @output
    score @output @filter(op: ">=", value: ["$minScore"])
    storyUrl: url @output @fold @transform(op: "count")

    byUser {
      karma @output @filter(op: ">=", value: ["$minKarma"])
    }
  }
}

Which returns:
[
  {
    "byUsername": "thunderbong",
    "karma": 54591,
    "score": 26,
    "storyUrl": "https://news.ycombinator.com/item?id=37175721",
    "submittedUrl": "https://fortomorrow.org/explore-solutions/sargablock",
    "title": "Sargablock: Bricks from Seaweed"
  }
]

Ah, whoops! Nice catch.


Decide on next-step to develop playbook

Decide on the next-step Chris can take to begin developing the playbook.

Next step = schedule working session with @Arachnid and @alexvandesande.


[Update]: Click on the Add to report button should be Create Report

In Step: editing field type, after importing bigQuery weatherDataSet table.

User should click Create Report button instead of Add Report
Updated screenshot is below

Documentation update: https://codelabs.developers.google.com/codelabs/iot-data-pipeline/index.html?index=..%2F..%2Findex#8

Updated


Feature/use census data component

Tom, the UseCensusData component file is empty, is this PR only for the ONSSkipLink component?

Good catch @vmilitaru
I hadn't pushed properly
I've also reformatted


Breakpoints are not visually displayed when switching back to a workspace

Steps to replicate:

Add breakpoints to a workspace (such as the playground).
Switch away from the workspace.
Switch back to the workspace.
Run the program. The breakpoints state is still (rightfully) maintained in the workspace after #2269 is merged, but the editor does not visually display the breakpoints

When rendering the editor in any workspace, the breakpoints in the editor should be set according to the Redux store state.

Possibly a good first issue. The breakpoints state is already being maintained, we just need the editor to display existing breakpoints on render.

With multiple editor tabs, this bug is even more important to fix because switching between multiple Ace Editor instances results in the breakpoints not displaying in the editor gutter.


creating tests for files in the cmd directory

Summary

Related issues

The existing implementation here contains unit test codes for different files in the cmd directory
Checklist

[ ] reference any related issues
[ ] updated docs
[ ] updated unit tests
[ ] updated UPGRADING.md
[ ] add appropriate tag (improvement / bug / etc)
[ ] ready for review

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi  I am Philip from Nigeria, its My first time contributing to  Pomeruim, i decided to start with creating unit tests in the cli codebase to help understand and get along the pomerium technologies and its codebases, I would like to contribute more and tackle issues as they arise .

i will be adding more unit tests soon before this pr can be merged

Hi @kenjenkins i will make adjustments where necessary,  thanks for the reviews


iterator on a null object using findAndConnect

I used this module some time ago and it worked fine. Now i have this error:

this is my code (s,p,l are ssid,password and link to open)
`wifi.findAndConnect(s,p, (found) => {
if (found) {
console.log("wifi is in range");
if(!l.startsWith("http://"))
Linking.openURL("http://"+l).catch(err => console.error('An error occurred', err));

else
Linking.openURL(l).catch(err => console.error('An error occurred', err));
}else{
console.log("wifi is not in range");
}
});`

same issue with isRemoveWifiNetwork. Maybe we can add a try catch to this methods.


Use net.Socket instead of tty.ReadStream for master side of pty.

term.socket.setRawMode() will NOT work since kernel 3.19
See https://github.com/torvalds/linux/commit/6460fbbf476ad8d4f4196534c00019975b33e1db
And also, opened /dev/ptmx - SHOULD NOT be terminal really.  But today this is still terminal device. So, API valid for stdin/stdou/stderr in nodejs IS NOT suitable for /dev/ptmx, since it IS NOT terminal.
So, as I think, some changes required. At least you should not use tty.ReadStream and use net.Socket instead. Also, you CAN change class without any API breaking.

Have you tested this? pty.js originally used net.Socket until node internals changed which would not allow tty fds to be passed into net.Socket. We had to switch to using tty.ReadStream, which accepts tty fds.

In new kernel version, isatty(open(/dev/ptmx)) will return 0, and net.Socket() will work as expected.

my fail:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>

int main(int argc, char* argv[])
{
        int fd = open("/dev/ptmx", O_RDWR);
        printf("isatty returns %d\n", isatty(fd));
        close(fd);
        return 0;
}

prints 1. I will write to Peter Hurley<EMAIL_ADDRESS>that should be fixedin nex linux kernel. If not, /dev/ptmx become very-cutted TTY. No real ioctls works, but say that this is TTY. Also, /dev/ptmx cannot become session leader, proof:
$ uname -a
Linux mmwork 3.13.0-40-generic #69-Ubuntu SMP Thu Nov 13 17:53:56 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ sudo setsid sh -c 'exec 3<>/dev/ttyS0; ps -opid,tty | fgrep $$; '
14000 ttyS0
$ sudo setsid sh -c 'exec 3<>/dev/ptmx; ps -opid,tty | fgrep $$; '
14004 ?

 I have talk with Peter Hurley, and he describe me how this works. You don't need to change anything.


How to use images in your local directory

Could not find an issue or instruction in the readme on how to use local images in the carousel.

I was having the same issue and couldn't make it work in one project. But was able to make it work in my new project. I followed this guide. https://amanhimself.dev/blog/custom-preview-image-gallery-in-react-native/. I tried solutions suggested by others where they set the app name inside the package.json and then set the file path based on that app name but that did not work for me.

I fixed this problem by change the image source
  const data = [
  { id:"1", image: require('filepath') },
  { id:"2", image: require('filepath') },
  { id:"3",  image: require('filepath') },
  ];

  const renderItem = ({ item }) => {
    return (
      <View style={styles.slide}>
        <Image source={item.url} style={styles.image} />
      </View>
    );
  };

In your Carousel component, set data={data} and renderItem={renderItem}.


Require cycle

Require cycles are allowed, but can result in uninitialized values. Consider refactoring to remove the need for a cycle.
2019-03-13 10:16:09.124214+0800 nwhhapp[25923:111182] Require cycle: node_modules/react-native-af-video-player/components/index.js -> node_modules/react-native-af-video-player/components/ControlBar.js -> node_modules/react-native-af-video-player/components/index.js

Any update on this ?


Fix the ZMQ disconnection issues

As described in the spec: https://github.com/Mashape/analytics-agent-spec/blob/master/README.md

This is almost done and the techniques I've used will become the guidelines for all the agents using ZMQ.

a soon as done, mark the other tickets "critical" and notify the rest of the team

Done and deployed to staging

Deployed to prod. I tested it by redeploying the socket servers and I can confirm that it works great.


After taking the photo from camera the image is getting rotated automatically

After taking the photo from camera the image is getting rotated automatically how to solve this

please read https://github.com/ArthurHub/Android-Image-Cropper/issues/858


Master branch, IOS sample does not build

I just updated the iOS sample to build against a recent version of Cinder (updated boost path, etc). Let me know if that fixes it for you.
I never saw the object parameter initialization error in your screenshot. Are you building for the device or the simulator?

It's working, thank you. I am running this sample on device.


Missing requirements.txt File

The script uses the clipboard module, which is not included in the Python standard library. Running the script without installing this module will cause a ModuleNotFoundError.

Changed README.md file.


Feature: Pipeable functions

Is your feature request related to a problem? Please describe.
Currently the monads in this library are monolithic since they are defined as classes with methods.
The library size isn't huge when minified, but with tree shaking in modern bundlers (and no-bundle ES Module browser scenarios), it would be nice to only pay for the operators used.
It would also be nice for library consumers to be able to enhance the monads with new operators without needing to use inheritance or update the library. Example: Domain/app-specific custom operators are currently not easy to add.
Describe the solution you'd like
To use the monad operations we create an instance and then use the instance methods:
Maybe.some(1)
  .map(n => n + 1)
  .map(n => n * 2)
  .map(n => `Number: ${n}`)
  .execute(n => console.log(n));

Having each operator as a separate function, which can be imported, and composed with other operators using a pipe() function is an option.
Libraries like RxJs use this approach since there is no language native 'pipe' operator.
pipe() would be an instance method on the monad:
pipe<TReturn>(
  projection: FunctionOfTtoK<Maybe<TValue>, TReturn>
): TReturn {
  return projection(this);
}

Most of the 'state' querying methods/getters would remain in the class (eg getValueOrThrow()/hasValue), though the static construction methods could potentially be broken out into separate functions.

Then each operator would be its own function:
function map<TValue, TNewValue>(
  projection: FunctionOfTtoK<TValue, Some<TNewValue>>
): FunctionOfTtoK<Maybe<TValue>, Maybe<TNewValue>> {
  return (maybe) => {
    return maybe.hasValue
      ? Maybe.some(projection(maybe.getValueOrThrow()))
      : Maybe.none<TNewValue>();
  };
}

function execute<TValue>(
  action: ActionOfT<TValue>
): ActionOfT<Maybe<TValue>> {
  return (maybe) => {
    if (maybe.hasValue) {
      action(maybe.getValueOrThrow());
    }
  };
}

These operator functions could be used by successive calls to .pipe():
Maybe.some(1)
  .pipe(map((n) => n + 1))
  .pipe(map((n) => n - 1))
  .pipe(map((n) => `${n}`))
  .pipe(execute(n => console.log(n)));

A domain-specific operator could be added by just creating a new function:
import { log } from './myLogger';

function tapLog<TValue>(logLevel: 'debug' | 'error' = 'debug'): FunctionOfTtoK<Maybe<TValue>, Maybe<TValue>> {
  return (maybe) => {
      if (maybe.hasValue) {
          log[logLevel](`Value: ${JSON.stringify(maybe.getValueOrThrow())}`);
      }

      return maybe;
  }
}

Maybe.some(1)
  .pipe(map(n => n + 1))
  .pipe(tapLog('debug'));

Describe alternatives you've considered
The repeated calls to .pipe() could be avoided by adopting the complex overloads and type definitions that RxJs uses for its Observable.pipe() method, but that would add a lot of complexity to the library.
Additional context
I'm not sure whether it would make sense to support both the class method approach and the operator function approach in the same library - though the class methods could use the operator functions, which would reduce logic duplication.
There would probably be a need for separate monad types, like Maybe and MaybeFn (but with a better name!)
It's worth noting that having the class instance methods makes the monad operations a lot more discoverable. A dev can . their way to success. By making everything a separate function, one would have to consult the docs or know what to import.
It wouldn't be nearly as easy to quickly compare available operations either.

Prototype solution
I have an initial implementation of .pipe() that accepts up to 8 functions as parameters:
test('executes all operator functions', () => {
    const sut = Maybe.some(1);

    const maybe = sut.pipe(
      map((n) => n + 1),
      map((n) => n * 2),
      map((n) => `Calculation: ${n}`)
    );

    expect(sut).toHaveValue(1);
    expect(maybe).toHaveValue('Calculation: 4');
});

Problems
I've noticed 2 issues:

Switching from sync (eg Maybe) to async (eg MaybeAsync) isn't very ergonomic and requires many extra .pipe() overloads.
Even with those overloads, importing both sync and async operator functions into the same module causes annoying naming collisions.

In regards to 1, we want to enable it, but we can consider it a dead-end for the given .pipe() call and then require developers to make another .pipe() call, which would be the MaybeAsync.pipe():
Maybe.some(1)
  .pipe(map(n => n + 1), mapAsync(n => Promise.resolve(n * 2)) // this a call to Maybe.pipe()
  .pipe(or(5), tap(n => console.log(n)); // this is a call to MaybeAsync.pipe()

In regards to 2, it's the fundamental nature of this library to separate the async/sync cases for the monads so that developers don't have to pay the 'unwrap' cost with Promises when working with purely synchronous values.
This means that while .pipe() could be a useful feature for custom operator functions, it's not ever going to be as nice of composing operations as the class methods, which inherently namespace themselves (by making the namespacing transparent).
Conclusion
This library has some existing goals:

Easy to adopt into a project - no sub-dependencies, infrastructure setup
Easy to learn - class methods and fluent chaining syntax
Easy to use with or without Promises - sync types (Maybe, Result) can be converted to async ones (MaybeAsync, ResultAsync)

While it would be nice to have a purely composable solution for the benefit of package size with tree shaking, it's not compatible with some of the above goals.
However, adding .pipe() is probably worthwhile if only to allow developers to integrate their own custom operator functions in a natural way, which improves the flexibility of the library while maintaining its ease-of-use.


Incorrect accent coloring when adding songs to playlist already on that playlist

As you can see in the above image, when adding duplicate tracks the coloring is messed up on the popup. Expected result is the outside border that is currently "red" should be background color (?).
If you are too busy to fix this, I can probably figure it out if this is a UI element in the css somewhere and PR.
Now that I am looking at this what should be the expected behavior here?

I'm away for new years for a couple days but I'll fix it ASAP when I get back

If you remember to, please post the commit as a reply here before you close the issue. I would like to see what line fixes this! Thanks :)

I tend to link the issue to the PR so you should get an email when i open it! At college for the next couple days but i'll try and find time soon

Thank you!


Please update docs (tiny)

Thanks for the work on this gem.
A few small things:

It works fine with Rails 4.2, might mention this in the main docs (there it states that it is Rails 3).
Mention the 'prepend' method, how to insert an item to the beginning.

Thanks again for this small fine working gem.

Updated and fixed for last release (0.5), thanks for pointing that out!


fix CubeHandler http connection and few small updates

merge multiple isset/unset into sigle
fix typo in variable name
php annotations for throwable exceptions.

travis build will success after #660 will be merged.

Thanks

wow. i had no idea isset takes multiple arguments. cool!


Yank version 0.6.5 of MLJLinearModels from the registry

https://github.com/JuliaAI/MLJLinearModels.jl/issues/124#issuecomment-1205794668

@DilumAluthge Thanks 🙏🏾


Inherited property missing from child Dto but present on identical sibling Dto

We are trying to represent a tree of logic operators with Dtos using simple inheritance.
This is essentially what our Dtos look like:
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "operator")
@JsonSubTypes({ @JsonSubTypes.Type(value = MyAndDto.class, name = "and"),
        @JsonSubTypes.Type(value = MyOrDto.class, name = "or"),
        @JsonSubTypes.Type(value = MyEqualsDto.class, name = "equals") })
public class MyBaseDto {
    public String operator;
}

public class MyEqualsDto extends MyBaseDto {
    public String field;
    public String value;
}

public class MyPartsDto extends MyBaseDto {
    public MyBaseDto[] parts;
}

public class MyAndDto extends MyPartsDto {
}

public class MyOrDto extends MyPartsDto {
}

As you can see, the MyAndDto and MyOrDto are pretty much identical.
However, the generated Schemas (via springdoc /v3/api-docs endpoint - which uses swagger core) look like this:
"MyAndDto":{
    "type":"object",
    "allOf":[
        {
            "$ref":"#/components/schemas/MyBaseDto"
        },
        {
            "type":"object",
            "properties":{
                "parts":{
                    "type":"array",
                    "items":{
                        "$ref":"#/components/schemas/MyBaseDto"
                    }
                }
            }
        }
    ]
},

"MyBaseDto":{
    "type":"object",
    "properties":{
        "operator":{
            "type":"string"
        }
    },
    "discriminator":{
        "propertyName":"operator"
    }
},

"MyEqualsDto":{
    "type":"object",
    "allOf":[
        {
            "$ref":"#/components/schemas/MyBaseDto"
        },
        {
            "type":"object",
            "properties":{
                "field":{
                    "type":"string"
                },
                "value":{
                    "type":"string"
                }
            }
        }
    ]
},

"MyOrDto":{
    "type":"object",
    "allOf":[
        {
            "$ref":"#/components/schemas/MyBaseDto"
        }
    ]
}

For some reason, the MyAndDto generates correctly with the inherited parts property. But, the identical MyOrDto is missing the inherited parts property entirely.
If you switch the order of the @JsonSubTypes annotations:
@JsonSubTypes({ @JsonSubTypes.Type(value = MyOrDto.class, name = "or"),
        @JsonSubTypes.Type(value = MyAndDto.class, name = "and"),
        @JsonSubTypes.Type(value = MyEqualsDto.class, name = "equals") })

Then the MyOrDto generates correctly, and MyAndDto is incomplete.
I tried debugging and quickly got lost, but, to me it looked like the issue might be somewhere in io.swagger.v3.core.jackson.ModelResolver.resolveSubtypes() where it ends up with some recursion going on because MyAndDto and MyOrDto both contain an array of MyBaseDto. Seems like on one of the recursive passes, an incomplete Schema is getting used.
Thank you.

I have the same problem but i can't solve it with reordering in the @JsonSubTypes annotation. I have done some reordering in the controller method so there is the method which use the base type first and methods using subtypes comes after that method. Then the generation is correct.
The problem was that a List<BaseType> property was included in a subtype although i belongs to the base type. Then all other subtypes and also the base type miss this property.

Hi @frantuma, @webron and @HugoMario,
I think I have a fix for this over here -https://github.com/teq-niq/sample/tree/swagger-core-issue3312-better
I found multiple issues.
Main issue seems to be this that for each type  inside swagger there seems to exist two schema object instances . In this case the two schema instances are slightly different.All I have done is ensured the same source of Schema object is used for all the type in https://github.com/teq-niq/sample/blob/swagger-core-issue3312-better/src/main/java/sample/config/OpenApiConfig.java - method resolvedSchemaEnforcer().
In the swagger json or yaml I found some schema refs did not start with "#/components/schemas/" which also I fixed.
To solve these two issues I used the OpenApiCustomiser() and also extended the SchemaSerializer. Did this last bit by modifying io/swagger/v3/core/util/ObjectMapperFactory.java
I am pretty sure there can be better and more thorough ways to solve these small problems.
While on the subject I do believe it can be useful allowing io.swagger.v3.core.jackson.SchemaSerializer to be extendible in general. If there is any other way to achieve same extensibility pls advice.
I am also copying @bnasslahsen of springdoc project here.
Raghu

Hello,
we are facing the same issue. Is there any news on this? Is there anyone we can do to help?
(FYI @simonerm @digirik @geroschaarmann)

Hello,
we are facing the same issue. Is there any news on this? Is there anyone we can do to help?
(FYI @SimonErm @Digirik @GeroSchaarmann)

Hi @Nikos410
Did you try the workaround I showed here- https://github.com/teq-niq/sample/tree/swagger-core-issue3312-better.
Its only a workaround.
Does it work for you?
Raghu

Hey @raghuraman1, kind of. All properties are present now, but the allOf is missing now for all schemas. All properties are specified as properties of the child Dto directly.

Oh, I just noticed out issue is similar, but not quite the same. I've opened #4234 for out specific issue.

Hi @Nikos410
Its better than missing properties. I hope you are able to use it for stopgap.
I do think its a important bug needing proper solving.
 All properties are present now, but the allOf is missing now for all schemas. All properties are specified as properties of the child Dto directly.

Its better than missing properties

That is very true. It sadly does not help us however. We are using the openapi-generator project for client generation. If the allof reference is missing, the generator does not properly generate the models (The child classes are not children of the base class in the generated model).
Right now we are patching the generates json spec manually before passing it to the client generator.

I agree with you. I have seen this problem especially around polymorphism and inheritence in models when its generated as swagger definitions. I realised that hand editing the yaml or json is the best bet till its resolved. I keep advising people to be very careful about the yaml/json.


Correctly detect reference operator when wrapped in whitespace

Fix for #119

Thanks!
I'll need to check the new functions against the other mutators, it would be good to reuse them.


Host experimental-nix-installer binaries

We would like to move towards hosting builds of https://github.com/NixOS/experimental-nix-installer somewhere official. I've copied some more explanation of context from @abathur below from Matrix.
The current state of builds of the installer is that there's Hydra jobset that builds it. @domenkozar put together a CI action that grabs builds of the installer from Hydra and commits them to the prerelease branch of experimental-nix-installer. There's a script on main that will detect your arch and grab a binary from the prelease branch.
For comparison, DetSys runs a script that uploads installers to S3, and then they have a script at https://install.determinate.systems/nix that will detect your arch and download the correct installer. Alternatively, you can use the URL to an arch specific installer directly, e.g. https://install.determinate.systems/nix/nix-installer-x86_64-linux.
The official Nix installer is somewhat similar with a detection script at https://nixos.org/nix/install.
I think ideally we'd like to work towards some URL under nixos.org, but we'd love some input from the infra team on next steps.
Ping @zimbatm
Some more background from @abathur

Open-ended query since I'm not sure what we need, but we're hoping to (eventually) get installers derived from https://github.com/NixOS/experimental-nix-installer (in turn forked from the detsys installer) hosted somewhere ~official.
Background: back in early 2023 there was general interest in adopting something based on their installer, but a few things were clear:
the Nix team wanted changes (broadly: disabling telemetry and reverting opinionated bits)
the detsys folks don't see it as their place to push
the Nix team doesn't have bandwidth to pull
Since that sounded like an impasse, I suggested a more modest initial goal of standing up an official-experimental installer. That enables the few of us involved that aren't aligned with the Nix team or detsys (so far mainly Matthew Kenigsberg and myself) to whittle away at the needed changes, sort out how to get it built and published on official infra, start cultivating the Nix team's confidence in the installer by encouraging regulars to give it a shake, and ultimately try to shrink the final adoption decision to something that fits on the Nix team's plate.
This has taken a while to ripen since we ended up waiting for some refactoring on the detsys end, but I think it's close now.
Upstream's existing release workflows upload to S3, so that's likely the low-friction path (but IIRC they're also taking advantage of some enterprise runners that I don't think we have access to). We also already have a hydra jobset.
I imagine this ends up being incremental with one or more approval steps before it actually ends up accessible somewhere under nixos.org.

Sweet, thanks for working on this!
One option is to store the release artefacts on GitHub Releases.
This has the advantage of keeping coordination and team interdependency to a minimum, and Github pays for the hosting.
In that model, you would:

Use GitHub Actions to build (or pull from Hydra) and publish the releases.
The release can also include the trampoline shell script. (so users can curl https://github.com/NixOS/nix-installer/releases/download/v1.2.3/install.sh | bash to target a specific release of the installer).
Add a redirect to the website from https://nixos.org/nix/install-experimental to the latest installer release.

Thanks for the help @zimbatm ! Sounds good to me if it's good with @abathur

Ok, in that case, we can close this issue, as you should be able to do (1) and (2) on your own. But let me know if you want any pointers!
For (3), talk to the marketing team as they own https://github.com/nixos/nixos-homepage


Windows: sa_family_t should use ADDRESS_FAMILY from windows-sys

in #414 socklen_t and sa_family_t were changed to use types from windows-sys, which themselves were added to the win32metadata by request, in microsoft/win32metadata#1041 (both as NativeTypedefs). however, sa_family_t was later changed to MetadataTypedef in microsoft/win32metadata#1538 because it was an "invented" handle type (meaning it doesn't exist in any of the Windows SDK header files but only in win32metadata). socklen_t, on the other hand, does exists in the Windows SDK header "WS2tcpip.h", so it remains NativeTypedef.
it turns out that the equivalent to POSIX sa_family_t in Winsock2 is the ADDRESS_FAMILY type, and it existed forever. I think it's a mistake to request a win32metadata only typedef while ingoring the proper Windows SDK type,- and I'd suggest we change our sa_family_t to use the proper type, i.e. windows_sys::Win32::Networking::Winsock::ADDRESS_FAMILY, which also makes it consistent with other Winsock2 APIs, for instance, in windows-sys (and also windows), the type of SOCKADDR::sa_family and SOCKADDR_STORAGE::sa_family is ADDRESS_FAMILY, the constants AF_INET, AF_INET6 are defined using type ADDRESS_FAMILY, and some iphelper functions like GetIpForwardTable2() accept ADDRESS_FAMILY as argument.

example code in the `windows` crate where `ADDRESS_FAMILY` is used
SOCKADDR
https://github.com/microsoft/windows-rs/blob/891c469706d314fcf0e3a7913f45970ce11b13f0/crates/libs/windows/src/Windows/Win32/Networking/WinSock/mod.rs#L13218-L13223
SOCKADDR_IN::sin_family
https://github.com/microsoft/windows-rs/blob/891c469706d314fcf0e3a7913f45970ce11b13f0/crates/libs/windows/src/Windows/Win32/Networking/WinSock/mod.rs#L13314-L13321
AF_INET and AF_INET6
https://github.com/microsoft/windows-rs/blob/891c469706d314fcf0e3a7913f45970ce11b13f0/crates/libs/windows/src/Windows/Win32/Networking/WinSock/mod.rs#L1782-L1785

btw, I discovered #414 when I was investigating the discrepancy of wrapper types from the windows crate. microsoft/windows-rs#2627

That seems reasonable.
One possible difficulty is that SockAddr::family returns sa_family_t exported by the sys module, currently that is windows_sys::Win32::Networking::WinSock::sa_family_t for Windows. It could be a breaking change to change it, even though it's all the same primitive type underneath.

It could be a breaking change to change it, even though it's all the same primitive type underneath.

it's a valid concern, but I think changing from sa_family_t to ADDRESS_FAMILY is no different than changing from u16 to sa_family_t as done in #414
what's more, how is SockAddr::family() supposed to be used by the caller? they compare the return value to AF_INET, AF_INET6, right? in windows-sys these constants are defined as:
pub const AF_INET: ADDRESS_FAMILY = 2u16;
pub const AF_INET6: ADDRESS_FAMILY = 23u16;

so in this regard, the caller code like this
let family = sockaddr.family();
if family == AF_INET {
    todo!()
}

is technically already "broken" if we keep it as the current definition, and change the return type to ADDRESS_FAMILY is no more "broken" than it's current form (but actually more "correct").

it's a valid concern, but I think changing from sa_family_t to ADDRESS_FAMILY is no different than changing from u16 to sa_family_t as done in #414

Fair point.

what's more, how is SockAddr::family() supposed to be used by the caller? they compare the return value to AF_INET, AF_INET6, right? in windows-sys these constants are defined as:
pub const AF_INET: ADDRESS_FAMILY = 2u16;
pub const AF_INET6: ADDRESS_FAMILY = 23u16;

To be honest, I've only done this on Unix, so I don't have a good answer to this.

so in this regard, the caller code like this
let family = sockaddr.family();
if family == AF_INET {
    todo!()
}

is technically already "broken" if we keep it as the current definition, and change the return type to ADDRESS_FAMILY is no more "broken" than it's current form (but actually more "correct").

Yeah, fair enough. Do you want to send a pr to change the type?

Do you want to send a pr to change the type?

sure, #463 is created

This was done in https://github.com/rust-lang/socket2/pull/463.


Environment

Hi !
Can you please share with us the environment.yml file used to create the conda environment ?
Thank you !

Hello,
I attached a file containing all the packages installed in my environment.
It may contain packages that are not used in this project.
Thank you
requirements_all.txt

I encounter the following problem:
ERROR: Could not find a version that satisfies the requirement torch==1.10.2+cu111 (from versions: 1.0.0, 1.0.1, 1.1.0, 1.2.0, 1.3.0, 1.3.1, 1.4.0, 1.5.0, 1.5.1, 1.6.0, 1.7.0, 1.7.1, 1.8.0, 1.8.1, 1.9.0, 1.9.1, 1.10.0, 1.10.1, 1.10.2) ERROR: No matching distribution found for torch==1.10.2+cu111
Would you be able to upload your experimental environment, established under Anaconda (usually in "~/anaconda3/envs/" folder), as a compressed package to Google Cloud Disk? This would enable us to directly conduct experiments within your environment.
Thank you!

@hnczgytmp
I can provide you with a Docker image as I didn't use anaconda environment for this project.
docker pull gustjrdl95/ppap:latest
You can run it directly without having to enter a conda environment.
I hope this works..!
Thank you


APT whitelist request for python3-gobject

Thanks for your service!

Oh. It appears that python3-gobject is provided by python3-gi which is already whitelisted. Sorry for the noise.


Issue: Custom cost tracking for langsmith calls

Issue you'd like to raise.
Hi, I'm trying to log custom cost to langsmith.
Here's my sample curl request: https://gist.github.com/krrishdholakia/434b1ef66decdb2e37b162537a615604
I'm following the format mentioned in docs: https://docs.smith.langchain.com/reference/data_formats/run_data_format
but i don't see the cost logged on UI

Suggestion:
No response
cc: @dqbd @hinthornw @eyurtsev

Observations:
when i look at the api swagger, total_cost isn't mentioned there - https://api.smith.langchain.com/redoc#tag/run/operation/create_run_api_v1_runs_post
this makes me think, this isn't actually supported by the langsmith api

Today, cost info is computed from the token counts. Token counts can be sent up on a runwise basis and then the costs are estimated based on the patterns you configure for your workspace.

hey @hinthornw i can see total_cost as a mentioned param on the api docs

https://docs.smith.langchain.com/reference/data_formats/run_data_format
is this not the case?

It's a computed value. It's present on the run resource as an aggregation of the tokens within child runs.
It's not a a field in the request body itself: https://api.smith.langchain.com/redoc#tag/run/operation/create_run_api_v1_runs_post

Hi @hinthornw saw this is marked as completed.
Can you share any docs on how i can do custom cost tracking?

https://docs.smith.langchain.com/how_to_guides/tracing/calculate_token_based_costs

Hi @hinthornw can we please re-open this issue?
The suggested doc, doesn't let me just log my cost to langsmith. We have our own model cost map, and use it for logging to langsmith + other logging places + internal budgeting logic on our server.


django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.

I tried , the django version 1.10a1,1.10.5,1.103
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
help, me ! thanks

I'm looking for an asynchronous queue that is more suitable than celery but django_q is not available .

I'm getting the same error with django 1.11, are there any known causes for this problem?

I'm running Django 1.11 with Django-Q 0.8.0 and have no problems.
Could you provide some more information about your project?

Already fixed it by putting django_q below the app containing the settings and models in the INSTALLED_APPS setting. Maybe add this to the docs? 😄

@jeroenbrouwer not sure I understand what you mean.
In my settings I have
INSTALLED_APPS = (
    'django_q',
    'django.contrib.admin',
    'django.contrib.auth',
   ....
)

I even moved the INSTALLED_APPS to the beginning of my file.
could you share some information about the app your working on?
for example:

how do you start your application?
how is your configuration setup?

@qiailin did you every resolve this issue?

I've got quite an unusual setup for the models which caused the error. I've got a models app which imports the models from several files such that they are easily accessible throughout the whole application. This app needs to be loaded before django_q otherwise I get said error whenever I start django in whichever way possible: runserver, testserver, migrate etc.

@jeroenbrouwer not sure if we can add anything about this to the documentation.
It sounds logical that importing your settings is something you want to be done at the top of your models app.
The error is triggered by calling Django-Q in this case before django.setup() is called.

@Eagllus I guess that's the case, but I'm failing to understand why the order of the loaded apps in the settings is important then...

In the INSTALLED_APPS it's not important but Django requires django.setup() to be ran before parts of an app can be called.
During the setup fase one important thing that it does is apps.populate(settings.INSTALLED_APPS)
def populate(self, installed_apps=None):
        """
        Loads application configurations and models.
        This method imports each application module and then each model module.
        It is thread safe and idempotent, but not reentrant.
        """

If you try to access an app before setup has run the function check_apps_ready will raise AppRegistryNotReady("Apps aren't loaded yet.")

@Eagllus I know this, just not sure why django-q has to be after my models app in the INSTALLED_APPS list 😉
It's working anyhow and it's doing its job like a charm!

@jeroenbrouwer I cant tell you without knowing any code 😉
But I'm happy to hear that Django-Q is doing a great job 😄

Try activating the virtual env.
In my case, using git:
source scripts/activate
#Solves my problem.


Filtering on a date column

Do we need to implement a custom filter in order to filter on a date?

Hi, yes, anything other than sorting strings or numbers must be a custom
filter. Thankfully they are very easy to implement.
On Fri, Nov 4, 2022 at 5:23 AM ProNotion @.***> wrote:

Do we need to implement a custom filter in order to filter on a date?
—
Reply to this email directly, view it on GitHub
https://github.com/tochoromero/vuejs-smart-table/issues/106, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABAEDPYHGS3O4UPZVIC5DS3WGT54TANCNFSM6AAAAAARXEBM5Q
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thank you for the prompt reply - I will give it a go

@tochoromero  I have my filter implemented and it is returning true when dates match the search however no results are shown in the table?
Here are the filters passed to the table:
filters: {
	query: {value: '', keys: ['transactionNumber', 'transactionDescription', 'transactionAmount']},
	transactionDate:  { value: "", keys: ["transactionDate"], custom: this.dateFilter}
}

And here is the filter:
dateFilter (filterValue, row) {
  let m = moment(filterValue);

  // Invalid date so won't apply filter
  if(!m.isValid()) return true;

  let transactionDate = moment(row.transactionDate);
  let searchDate = moment(filterValue, ["DD-MM-YYYY", "DD/MM/YYYY"]);

  if(!transactionDate.isValid() || !searchDate.isValid()) return true;

  return transactionDate.format('YYYY-MM-DD') === searchDate.format('YYYY-MM-DD');
}

Having stepped through the debugger I can see a true value is returned. What am I missing?

Hey, where is the function returning true? Does it reach the last return
statement?
On Fri, Nov 4, 2022 at 6:22 AM ProNotion @.***> wrote:

@tochoromero https://github.com/tochoromero I have my filter
implemented and it is returning true when dates match the search however no
results are shown in the table?
Here are the filters passed to the table:
filters: {
query: {value: '', keys: ['transactionNumber', 'transactionDescription', 'transactionAmount']},
transactionDate:  { value: "", keys: ["transactionDate"], custom: this.dateFilter}
}
And here is the filter:
dateFilter (filterValue, row) {
let m = moment(filterValue);
// Invalid date so won't apply filter
if(!m.isValid()) return true;
let transactionDate = moment(row.transactionDate);
let searchDate = moment(filterValue, ["DD-MM-YYYY", "DD/MM/YYYY"]);
if(!transactionDate.isValid() || !searchDate.isValid()) return true;
return transactionDate.format('YYYY-MM-DD') === searchDate.format('YYYY-MM-DD');
}
Having stepped through the debugger I can see a true value is returned.
What am I missing?
—
Reply to this email directly, view it on GitHub
https://github.com/tochoromero/vuejs-smart-table/issues/106#issuecomment-1303533746,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABAEDPZWY42OEL6DRQCZXKLWGUEY5ANCNFSM6AAAAAARXEBM5Q
.
You are receiving this because you were mentioned.Message ID:
@.***>

Yes, I had my breakpoint set on return transactionDate.format('YYYY-MM-DD') === searchDate.format('YYYY-MM-DD'); to ensure we had valid dates for comparison and that they were in fact returning a truthy value.

@tochoromero Did you have any ideas why this might be the case?

Moved on to use another component instead


[test-framework] More robust port reservation

This PR reserves a block of ports, so that future attempts to pick
a port will not collide with previous attempts.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: nmittler
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pkg/OWNERS [nmittler]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: nmittler, ozevren
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pkg/OWNERS [nmittler]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Editor bugged with an initial value

For some reason, the editor is bugged when the text State variable is initialized to something other than an empty string
In the Demo project's EditorScreen, I changed
@State
private var text = NSAttributedString.empty

to
@State
private var text = NSAttributedString(string: "test")

After launching the editor, and highlighting the "test" text, selecting a styling button does not apply the relative style to the selected text, unless you first select "underline".
Selecting any style other than "underline" will NOT apply that style to the highlighted text, but if the "underline" style is first selected and deselected right after, every other style can then be applied without problem.
Also, I'm not sure if I'm doing something wrong, but programmatically assigning a new NSAttributedString to the RichTextEditor's text binding, will NOT result in the editor displaying the updated value, that will instead remain unchanged.
I'm on 0.9.1, installed via Swift Package Manager, and the bug was found on:

MacBook Pro M2 (MacOS 14.1) running both a Designed for iPad app, and the Demo project
iPad Pro 12.9 (iPadOS 17.1) both with a physical device and with a simulator
iPhone 15 Pro Max (iOS 17.1) both physical and simulator

Hi @dave0111
I'm not currently working with this project.
Did you manage to figure something out?
Best
Daniel

Okay, it seems like this is maybe a Sonoma/Xcode 15/iOS 17 problem. First of all, under Sonoma, having the RichTextKit library in my project makes the debugger run incredibly slowly. Second, if I place breakpoints at certain places and step through my code I can sometimes get the RichTextEditor to load with my desired result. At other times it doesn't. So it seems like my code is okay, there's something else going on. Unfortunately, my iPad decided to update itself to iOS 17 so I had to upgrade my Mac. Otherwise, I'd try testing on an earlier Xcode/iOS version.

Unfortunately I could not figure out a solution with a default/initial value, but I found a workaround by just setting my string with context.setAttributedString(to:), on appear.
Also, setting the font size is very glitchy, not sure if I should create a new issue to go more into detail, but could not get that to work either.

Hey Dave,
If you're curious, create a new iOS app project and see if this code works. It works for me. However, trying the same thing in the app I'm trying to build isn't working (by the way, my goal is to hand the rich text editor an HTML file, that's why there's that process of converting HTML to attributable strings):
`
import SwiftUI
import RichTextKit
struct ContentView: View {
@State  var theEditorText = NSAttributedString("blah blah blah")
@State var richTextIsVisible = false
var body: some View {
VStack {
Button(action: {
richTextIsVisible = true
}, label: {
Text("Make text editor visible")
})
if richTextIsVisible {
EditorView(theText: theEditorText)
}
}
.onAppear(perform: {
let html = """

Hello, world!

"""
     let data = Data(html.utf8)

     if let attributedString = try? NSAttributedString(data: data, options: [.documentType: NSAttributedString.DocumentType.html], documentAttributes: nil) {
        theEditorText = attributedString
        print(theEditorText)
     }
  })

}
}
struct EditorView: View {
@State  var theText : NSAttributedString
@StateObject var context = RichTextContext()
var body: some View {
RichTextEditor(text: $theText, context: context) {_ in
// You can customize the native text view here
  }
  .border(Color(.black), width: 1)
  .padding(.leading, 100)
  .padding(.trailing, 100)
  .padding(.top, 100)
  .padding(.bottom, 100)

}
}
`

Hey Dave, if you're curious, create a new iOS app project and see if this code works in it. It does for me. My goal is to be able to hand an HTML file to the RichTextEditor, so I've got this bit in here that converts an HTML string into attributed strings. The only way I could paste the code into here was to comment out the HTML bit, so you'll need to uncomment that.
`
//
//  ContentView.swift
//  RichTextPlay
//
//  Created by Happy Wanderer on 11/29/23.
//
import SwiftUI
import RichTextKit
struct ContentView: View {
@State  var theEditorText = NSAttributedString("blah blah blah")
@State var richTextIsVisible = false
var body: some View {
VStack {
Image(systemName: "globe")
.imageScale(.large)
.foregroundStyle(.tint)
Button(action: {
richTextIsVisible = true
}, label: {
Text("Make it visible")
})
if richTextIsVisible {
EditorView(theText: theEditorText)
}
}
.onAppear(perform: {
//  let html = """
//
//
//         Hello, world!
//
//
//         """
     let data = Data(html.utf8)

     if let attributedString = try? NSAttributedString(data: data, options: [.documentType: NSAttributedString.DocumentType.html], documentAttributes: nil) {
        theEditorText = attributedString
        print(theEditorText)
     }
  })

}
}
struct EditorView: View {
@State  var theText : NSAttributedString
@StateObject var context = RichTextContext()
var body: some View {
RichTextEditor(text: $theText, context: context) {_ in
// You can customize the native text view here
  }
  .border(Color(.black), width: 1)
  .padding(.leading, 100)
  .padding(.trailing, 100)
  .padding(.top, 100)
  .padding(.bottom, 100)

}
}
`

Hey Dave,
Thanks for the update. I tried your setAttrutedString thing but it's not working. This feels like bugs/changes in the latest round of Xcode/MacOS/iOS. I'm toying with the idea of downgrading my iPad and Mac, but there's always the question of whether it's just ultimately a dead-end to go with a library that's no longer being developed.
I have, however got a consistently-working test project. I can't paste it in here, because it's got some embedded HTML that screws up the comment display. If you want to play with it, I could send it to you, though I'm not sure there's any way to PM here.
Ben

Okay, I figured out my problem. It's that NSAttributedStrings are non-mutating. So if you declare one, it's stuck with those contents. So far, I haven't figured out a way to declare it in one place, but fill it with content in another. So the problem is not RichTextKit.

If you declare an NSAttributedString, like you said, it can’t be changed, but you can use NSMutableAttributedString instead, which is mutable.
If I remember correctly, NSMutableAttributedString has an initialiser that takes an NSAttributedString, and you can go back from the mutable to the regular attributed string in the same way

@benlong100 @dave0111
Thank you for providing so much information! While I'm not currently working on this project (freelancer and have been working with clients and commercial projects) it's by no means abandoned.
Like @dave0111 says - you need an NSMutableAttributedString 👍 I will take the library for a test run on the latest macOS and Xcode versions when I have time, but will be happy to merge any fixes you come up with until then.


Make ProjectionBlockValSet::getNullBitmap return a copy of the cache.

This is to avoid the cache being modified.
Tested in unit tests.

Codecov Report

Merging #10967 (a542e21) into master (a208607) will increase coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##           master   #10967     +/-   ##
=========================================
  Coverage    0.11%    0.11%
=========================================
  Files        2189     2135     -54
  Lines      117993   115488   -2505
  Branches    17852    17551    -301
=========================================
  Hits          137      137
+ Misses     117836   115331   -2505
  Partials       20       20

Flag
Coverage Δ

integration1temurin11
?

integration1temurin17
?

integration1temurin20
?

integration2temurin11
?

integration2temurin17
?

integration2temurin20
?

unittests1temurin11
?

unittests1temurin17
?

unittests1temurin20
?

unittests2temurin11
?

unittests2temurin17
0.11% <0.00%> (ø)

unittests2temurin20
?

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

Impacted Files
Coverage Δ

...ore/operator/docvalsets/ProjectionBlockValSet.java
0.00% <0.00%> (ø)

... and 56 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Had an offline sync with @Jackie-Jiang , we will revert the change and make TransformBlockValSet::getNullBitmap return the cache.

For API design perspective, returning the cache is not ideal (client can modify the cache). We have control the package so it is ok.
For performance, we want to avoid making a copy.
For consistency, in Pinot we return cache/reference in many places (e.g. BaseTransformFunction returns _intValuesSV).


Improving Tandem retry logic (UPLOAD-290)

Addresses:

UPLOAD-290

Removed test suffixes after ticket was approved. Ready for final check!

Scratch that, it has not gone through QA yet, sorry!

This has now been approved and is ready for final check.


Fix outdated client usage

Fixes:

benchmark.zig did not check return codes, causing the program to ignore failed batches and report unrealistic performance measurements.

Incorrect usage of zeroed values at code=0 for account/transfer creation and transfer.id=0 for the first transfer of the batch.

demo_01_create_accounts.zig was creating a new account with credits_posted=10000, causing the operation to fail with credits_posted_must_be_zero.

Notes
As discussed with @sentientwaffle, I noticed the fields ledger, code, and amount are allowed to be zero as a convenience when posting/voiding transfers.
Fromdemo_05_post_pending_transfers.zig
It's worth noting that this feature is not mentioned anywhere in the documentation.

Thanks @batiati! I'll review this when I get the chance. And I'm working on an update to the docs, which will include the ledger/code/amount fix.


Search Not Working

In the 'Select a Folder' window, the search function is no longer working. It used to display all folders named with the search term, but now it's just blank (see attached screenshot). And yes, I've triple verified that I have an appropriately named folder in my Google Drive.
It will still display all folders when I open the 'Select a Folder' window, but scrolling through every folder in my drive to find the one I'm looking for is nearly impossible.
Copying and pasting the Google Drive folder URL still works just fine; it just takes a few more minutes to open Google Drive, navigate to the folder, copy the URL and paste it.
OS: Windows 10
I've reproduced the issue on Chrome (including in Incognito Mode) and on Firefox

I'm sorry to say this is just a plugin provided by Google Apps Script and I really don't have any control over how well the search is working. No changes have been made to this portion of my script in ages so I'm hopeful that Google will resolve the issue soon.


CLI Credentials for All Platforms

As a developer I'd like to be able to create and use a CLI credential regardless of OS, IDE, or language so that I may have a secure, consistent, low-friction developer experience when developing for Azure.
A related bug is filed here: https://msazure.visualstudio.com/Unified Platform KPIs/_workitems/edit/6395777
Describe the solution you'd like

Ability to create CLI credential in all languages and OSs
Ability to create and use discrete credential types

Describe alternatives you've considered
Additional context

@jofultz -
Do you need to instantiate an AzureCliCredential object on its own or is having it be part of DefaultAzureCredential enough?

My preference is to instantiate it directly and use it as there is no confusion about what's in play then from a security perspective.  A livable work around is to have it in the DefaultAzureCredential and be able to disable parts of the chain so that only one credential at a time is active.

The latest previews/beta make AzureCliCredential a public type.  Please see https://aka.ms/azsdk/releases for links to all the latest packages.