Probably wrong error reported label-position rule

Bug Report

TSLint version: 5.9.1
TypeScript version: Version 2.7.0-dev.20180120
Running TSLint via: (pick one) CLI

TypeScript code being linted
/* @internal */
type PragmaArgTypeMaybeCapture<TDesc> = TDesc extends {captureSpan: true} ? {value: string, pos: number, end: number} : string;

/* @internal */
type PragmaArgTypeOptional<TDesc, TName extends string> =
    TDesc extends {optional: true}
        ? {[K in TName]?: PragmaArgTypeMaybeCapture<TDesc>}
        : {[K in TName]: PragmaArgTypeMaybeCapture<TDesc>};

/**
 * Maps a pragma definition into the desired shape for its arguments object
 * Maybe the below is a good argument for types being iterable on struture in some way.
 */
/* @internal */
type PragmaArgumentType<T extends PragmaDefinition> =
    T extends { args: [PragmaArgumentSpecification<infer TName1>, PragmaArgumentSpecification<infer TName2>, PragmaArgumentSpecification<infer TName3>] }
    ? PragmaArgTypeOptional<T["args"][0], TName1> & PragmaArgTypeOptional<T["args"][1], TName2> & PragmaArgTypeOptional<T["args"][2], TName3>
    : T extends { args: [PragmaArgumentSpecification<infer TName1>, PragmaArgumentSpecification<infer TName2>] }
        ? PragmaArgTypeOptional<T["args"][0], TName1> & PragmaArgTypeOptional<T["args"][1], TName2>
        : T extends { args: [PragmaArgumentSpecification<infer TName>] }
            ? PragmaArgTypeOptional<T["args"][0], TName>
            : object;
// The above fallback to `object` when there's no args to allow `{}` (as intended), but not the number 2, for example
// TODO: Swap to `undefined` for a cleaner API once strictNullChecks is enabled

with tslint.json configuration:
{
    "extends": "tslint:latest"
}

Actual behavior
A lot of lints, the most prominent is the label-position lint, from the code has nothing to do with labels.
Expected behavior
Since the code comes from Typescript repo, and It pass the online check, I think this should not show lints.
PS
The issue may not reported very well since I am new both to typescript and tslint, and I am not very sure which lint is probably wrong in the context of these lints, hope someone could help, and complete the information.

👋 @xiongmao86, I can't get this issue to reproduce with the latest TSLint, and the later builds on your linked TypeScript PR seem to be passing. IIRC when TypeScript started supporting keyof and mapped types, which was around the 2.7 era as mentioned in the OP, users on older versions using slightly newer code would get complaints about labels. Maybe that's it?
Closing the issue as non-actionable on our end, but please do comment here if this is still popping up for you!


Use LLVM Yaml Traits for config

Use LLVM's YAML I/O Library for parsing the configuration file.
Consistent options: everything now uses an underscore (e.g. dry_run instead of DryRun).
Config is no longer a unique pointer. If something fails you end up with the default config. If this is not the desired behavior, we could pass the config by reference and have the function return a bool or use as a 3rd option we could use the llvm::Expect type.

Looks very good to me. @AlexDenisov ?


infrastructure refresh

🚀 Pull Request
Description
This PR shows some love to the cf-units infra-structure.
In a nutshell:

replaces cirrus-ci with GHA
adopts use of GH dependabot
adopts the use of tox
adopts the automated building of conda-lock explicit environment spec files

supports linux, osx and windows locks

retires the previous hand crafted PyPI sdist and bdist building/testing/publishing and replaced with the cibuildwheel GHA
refreshes readthedocs to use mamba for faster building
adopts the setuptools-scm-git-archive plugin
uses the oldest-supported-numpy meta package
fixes the tests to support py310 (replaces/incorporates #207)
introduces min pin of py38
moves the documentation from the doc directory to the docs directory

Post merge, suggested follow-on tasks to consider would be to:

extend ci-wheels to build for osx and windows using cibuildwheel, and
rationalise the GHAs to use composite actions.

This ones for you @ocefpaf :beers: :wink:

If no-one has looked at this by Monday I will carve out some time.

Beautiful @bjlittle!
And the PR's not bad either 😁


SLow problem

I run it in one local wifi.but it is very slow to play RGBD ? do you have some solution for it ?

@alexchauncy: The major concern while developing this tool was to receive high quality of point cloud data in realtime. You need to understand that the amount of point cloud data is too much to transfer in realtime using WiFi.
In fact here in my environment, I am using Ethernet wire (CAT 6) in 1 GBPS LAN connection. The average data transfer speed (RGB, RGBD and Body Data is selected) is approximately 800 MBPS and I can verify visually that it is realtime by visualizing it.
Hence if you need realtime data, I strongly recommend you to use high speed Ethernet.

Cool Merci

Documentation has been updated with extra information.


Indicate that patterns are cloud agnostic

This commit updates the description to remove the suggestion that these patterns are specific to Azure. This description field is used when links to this document are unfurled by applications like Slack.

OPS Build status updates of commit 6a8e245:
:warning: Validation status: warnings

File
Status
Preview URL
Details

toc.json
:warning:Warning

Details

building-blocks/extending-templates/toc.json
:warning:Warning

Details

bread/toc.json
:warning:Warning

Details

docs/patterns/index.md
:white_check_mark:Succeeded
View

toc.json

[Warning] Error happen when converting toc.json to Pdf. Details: Could not find file 'T:\uwsw\toc.json'.

building-blocks/extending-templates/toc.json

[Warning] Error happen when converting building-blocks/extending-templates/toc.json to Pdf. Details: Could not find a part of the path 'T:\uwsw\building-blocks\extending-templates\toc.json'.

bread/toc.json

[Warning] Error happen when converting bread/toc.json to Pdf. Details: Could not find a part of the path 'T:\uwsw\bread\toc.json'.

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


The New Converter of Tensorflow 2.2.0 generate incorrect model output

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): windows/ubuntu
TensorFlow installed from (source or binary): pip
TensorFlow version (or github SHA if from source): 2.2.0

Command used to run the converter or code if you’re using the Python API
https://colab.research.google.com/drive/1uMiHGTFrj7R_rFcGJoje3Yfbap0sC9H-?usp=sharing
import tensorflow as tf
import numpy as np
np.set_printoptions(suppress=True)

length = 66

a = tf.constant(
    np.random.rand(length,length).astype(np.float32),
    shape=[length, length])

c = [ tf.constant(
    np.random.rand(length).astype(np.float32),
    shape=[ length]) for i in range(0,3)]

@tf.function
def func2(x ,c1, c2):
    return  tf.multiply(x, c2) + c2

@tf.function
def func(x):
    return  func2(tf.nn.bias_add(tf.matmul(x,a) , c[0] ), c[1],  c[2])

input =  np.random.rand(1,length).astype(np.float32)
original_output = func(input).numpy()

print("Orginal:")
print(original_output)

def save_and_test(experimental_new_converter , filename):

    lite = tf.lite.TFLiteConverter.from_concrete_functions([func.get_concrete_function(x = tf.TensorSpec(shape=[None,length], dtype=tf.float32) )])
    lite.experimental_new_converter  = experimental_new_converter
    open(filename,"wb").write(lite.convert())

    interpreter = tf.lite.Interpreter(model_path=filename)
    interpreter.allocate_tensors()
    interpreter.set_tensor(interpreter.get_input_details()[0]['index'], input)
    interpreter.invoke()

    print(filename, ":")
    output = interpreter.get_tensor(interpreter.get_output_details()[0]['index'])
    print(output)
    print(filename, " sum of absolute difference: ", np.sum(np.absolute(original_output - output)))

save_and_test(True, "mlir")
save_and_test(False, "toco")

The output from the converter invocation
Orginal:
[[ 6.9496317   7.9791102   0.23810546  1.6724037   9.687994   11.553456
   0.60509163  8.606714   17.731003    2.52809    16.075905    0.50299734
   6.119868   12.388639    8.383967   11.989329    7.3116794   8.7486725
   9.714089   12.450738    1.4212162   7.567941   14.836599    5.73806
   8.028838    2.5774102   7.9609547  19.35534    11.474097    1.2807347
   5.075203   17.249842    3.0866256  17.775652    7.390017   15.896519
  16.136719    6.5862875  12.216141    0.33137095 18.97356     1.9778614
   5.3641543   1.9284656   1.8500257  16.767817   12.7209     14.047361
   7.367909    3.1752422   5.949711   15.742522    2.2939441  16.137108
   1.6687201  13.069997    8.666047   16.782955    1.3117387   6.3798137
   6.557558   15.286772    7.5772853   9.168247    3.2267199   1.5568383 ]]

mlir :
[[ 8.160242   9.0523     7.3261642  8.867854   7.860682   8.722304
   7.2230916  8.622743   9.271859   7.7777925  9.489797   7.390472
   8.524878   9.906944   8.355099   8.330111   8.341421   8.271743
   8.937096   8.515015   7.225615   9.190289   8.9844675  8.162167
   8.694139   6.9362564  9.618863  10.1376915  8.462459   8.29322
   8.158456   8.796178   8.039083   9.774652   8.209907   9.378836
  10.289057   7.984726   8.897137   9.119129   9.802201   8.349303
   6.498592   8.638722   8.569397   9.730883   8.358421   9.018978
   8.4079275  6.496749   8.111706   8.541293   9.513434   9.01988
   7.2715945  8.307488   8.566431   9.748925   8.775068   7.9520493
   7.9917192  9.261906   7.9303417  9.471784   9.427535   7.840794 ]]
mlir  sum of absolute difference:  284.37515

toco :
[[ 6.9496307   7.9791093   0.23810542  1.6724037   9.687995   11.553459
   0.6050917   8.606714   17.731003    2.5280902  16.075907    0.50299734
   6.1198673  12.388639    8.383966   11.98933     7.311679    8.748673
   9.714088   12.450737    1.4212162   7.567941   14.836597    5.73806
   8.028838    2.5774097   7.960953   19.355337   11.474101    1.2807347
   5.075203   17.24984     3.086626   17.775652    7.390019   15.896517
  16.13672     6.586289   12.216139    0.33137095 18.973562    1.9778614
   5.364155    1.9284654   1.8500254  16.767818   12.7209015  14.047361
   7.367908    3.1752434   5.94971    15.74252     2.2939441  16.137106
   1.6687204  13.069999    8.666047   16.782953    1.3117385   6.379814
   6.557558   15.286772    7.577286    9.168246    3.2267199   1.5568382 ]]
toco  sum of absolute difference:  5.4582953e-05

Failure details
The conversion is successful, but the generated model is wrong,
The result running with the model is much different from the original result.

Was able to reproduce the issue with TF v2.2 and TF-nightly. Please find the attached gist. Thanks!

Looks like the fusion in MLIR is broken. I can reproduce this with the following minimal function as well:
length = 66
a = tf.random.uniform([length, length], dtype=tf.float32)
c = tf.random.uniform([length], dtype=tf.float32)

@tf.function
def func(x):
    return tf.matmul(x, a) * c

The weights in the generated flatbuffer are definitely different.

It looks like this is not a new issue. I can reproduce this in v2.1.0 as well.

https://github.com/tensorflow/tensorflow/blob/020a88ac127caa1e333ce36873ad2602abc5f7d7/tensorflow/compiler/mlir/lite/transforms/optimize.cc#L361-L368
These lines are skipped if the filter is square matrix.

Hi @liufengdb,
Do you think you can take a look?

lgeiger, I'm a little bit confused by your example. The patterns used for tf.matmul(x, a) * c in your example is different from the issue description, right?

lgeiger, I'm a little bit confused by your example. The patterns used for tf.matmul(x, a) * c in your example is different from the issue description, right?

@liufengdb Thanks for checking it out. Yes, the example is different on purpose since it uses a subset of the ops of the original example and I thought it might be helpful for debugging to have a smaller graph that reproduces the same issue. Please let me know if the two examples are not related, I am happy to open up a new issue for it.

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/compiler/mlir/lite/tests/optimize.mlir#L253-L261
The test is invalid too.
cst0 = [[1.0, 2.0],
        [3.0, 4.0]]

cst1 = [1.0, 2.0]

arg0 = [x,y]

%0 = tfl.fully_connected(arg0, cst0) = tf.matmul(arg0, tf.transpose(cst0)) = [1.0x + 2.0y, 3.0x + 4.0y]

%1 = tfl.mul(%0, cst1) = [1.0x + 2.0y, 6.0x + 8.0y] = tf.matmul(arg0, [[1.0, 6.0], [2.0,8.0]]) = tf.matmul(arg0, tf.transpose([[1.0, 2.0], [6.0,8.0]]))

%[[CONSTANT]] = [[1.0, 2.0], [6.0,8.0]]  !=  [[1.0, 4.0], [3.0,8.0]]

Are there any updates on this? It looks like the related PR is stale #40013 but it would be great if this issue would be fixed.

I submitted #41790 a few weeks ago to fix this, any chance someone could review it?

This is still a major issue and a fix is available at #41790, it would be great if this could still make it into the 2.4 release.

I can still reproduce this in the latest tf-nightly: https://colab.research.google.com/drive/1kcw_zhk_7wj8zOVf3VH1V-2GjN0eFQJF?usp=sharing
Any news on when #41790 could get a review?


There can be only one!

Upon stumbling on this great gem with its excellent name, I was extremely disappointed about the lack of tagline on RuntimeErrors.

Sure. :)


Add search functionality

Should look for an ENV variable ALGOLIA_KEY, and conditionally inject the library script as well as the search bar.

https://github.com/facebook/docusaurus/blob/ffdd3e60fc55e988e07e413595aa3d0bd7703f1e/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/index.js

https://github.com/react-static/react-static/blob/master/docs/guides/algolia.md


Changing number of states does not change model fitting

Changing states to 3 produces model fitting with 4 states:

Could you please add where you changed number of states and what code you ran to fit the models and generate the plots?

I rat fit_with_fit_handler.py and changed only the states variable to 3

Could you please attach the updated scripts you used here. Thanks.

Issue selecting correct model
https://github.com/abuzarmahmood/pytau/blob/d0a2d6e697579bc934ae802a26a41fd2fa059e33/pytau/how_to/scripts/fit_with_fit_handler.py#L57C1-L61C49
dframe = fit_database.fit_database
wanted_exp_name = 'pytau_test'
wanted_frame = dframe.loc[dframe['exp.exp_name'] == wanted_exp_name]
# Pull out a single data_directory
pkl_path = wanted_frame['exp.save_path'].iloc[0]

Plots came out fine once correct model was selected.


Lack of font in OSX

Environment

OS: macOS 10.12.6 Sierra
Node version: 7.10.1
gtop version: 0.1.5

Description
gtop interface lacks font(?) and shows question marks
Is there any dependency font needed?

The default Terminal font should support these characters, have you tried to run it as:
LANG=en_US.utf8 TERM=xterm-256color gtop

It works. The problem was with LANG
Thanks


BUG: Fix timezone names

Hi all,
I noticed that some calendars use an incorrect or dubious timezone info. Specifically, XETR and XFRA use ZoneInfo('CET') and XNZE uses ZoneInfo('NZ').
Re XETR and XFRA, I think it's incorrect to use CET since this is a standard time, i.e. a fixed offset (+01:00) to UTC. But since Germany observes summer time (CEST = +02:00), the correct timezone to use would be ZoneInfo('Europe/Berlin').
For XNZE, I'm not even sure what the definition of ZoneInfo('NZ') is, but ZoneInfo('Pacific/Auckland')` seems to be the correct time zone to use.

Not sure what the problem with the Pull Request Labeler action/check is.

Please ignore the labeler for now, just needs to be updated.


Too many metadata entries...

Looking here: https://labs.waterdata.usgs.gov/api/nldi/lookups/tot/characteristics?f=json we see many more characteristics than are available here: https://labs.waterdata.usgs.gov/api/nldi/linked-data/nwissite/USGS-05429700/tot?f=json
We should limit what's in the metadata table to what's actually posted.

@gpetrochenkov-usgs fixed. Thanks.


Cannot build with latest go-metric20

Just attempted to build statsdaemon, but got this error:
GOPATH=`pwd` ~/go//bin/go get github.com/Vimeo/statsdaemon/statsdaemon
package github.com/metrics20/go-metrics20: no buildable Go source files in ~/src/statsdaemon/src/github.com/metrics20/go-metrics20

Checking out metrics20/go-metrics20@d9bd23f fixes it (coming from metrics20/go-metrics20@54e0842d7 ).

I just merged https://github.com/vimeo/statsdaemon/pull/20 which should fix it

confirmed fix

Tnx!


I30 to suggestions

updated code and doc to use suggestions rather then generic

@Tereza-Pytelova Not sure if I signed in blood which wold be the only enforceable form, but to maintain the world piece, I have added the formatting changes by late commit ;-)


remove social sharing

I was just wondering how does one remove the social sharing links on posts? The Tweet and Facebook share buttons. I kind of want to remove them as I don't see anyone sharing my personal blog posts.
Can this happen?
Thanks!

I completely agree. If I knew more about coding I would jump head first in helping this theme, I truly love it. Could I ask for help on one last thing? It's about the feed.xml file. My feed.xml is working on my server, but when you go to click on a blog-post it wants to link back to http://localhost:4000/2017/pioneers/
Did I do something wrong?

Did you change feed.xml? The link should be {{ site.url }}{{ post.url }}
So I suspect your post is pioneers.md?

I don't remember changing the feed.xml code. Fact I don't think I wouldn't even know what to touch.
This is what my xml page says:

layout: null

{{ site.name | xml_escape }}
{% if site.description %}{{ site.description | xml_escape }}{% endif %}
{{ site.url }}

    {% for post in site.posts limit:10 %}

{{ post.title | xml_escape }}
        {% if post.author.name %}
          {{ post.author.name | xml_escape }}
        {% endif %}
        {% if post.excerpt %}
          {{ post.excerpt | xml_escape }}
        {% else %}
          {{ post.content | xml_escape }}
        {% endif %}
        {{ post.date | date: "%a, %d %b %Y %H:%M:%S %z" }}
{{ site.url }}{{ post.url }}
        {{ site.url }}{{ post.url }}

    {% endfor %}

`---
layout: null

{{ site.name | xml_escape }}
{% if site.description %}{{ site.description | xml_escape }}{% endif %}
{{ site.url }}

    {% for post in site.posts limit:10 %}

{{ post.title | xml_escape }}
        {% if post.author.name %}
          {{ post.author.name | xml_escape }}
        {% endif %}
        {% if post.excerpt %}
          {{ post.excerpt | xml_escape }}
        {% else %}
          {{ post.content | xml_escape }}
        {% endif %}
        {{ post.date | date: "%a, %d %b %Y %H:%M:%S %z" }}
{{ site.url }}{{ post.url }}
        {{ site.url }}{{ post.url }}

    {% endfor %}

`

I feel like such a block head, when I got into the feed.xml in the site folder the code shows this -

How did it switch to local? If I delete the file will the site create a new one that works?

I don't understand what is wrong.
If you are deploying the serve locally, then the link back to localhost is correct.
If you are running a live site. Then just make sure the URLs in _config are set properly. The theme will do the rest.

Where can I check to see if: {{ site.url }}{{ post.url }} is right?

Ok so it's working now, seems I wasn't exporting the site using - Jekyll build --watch.
smacks head


Complete Example or Documentation

I'm trying to find a complete example that uses angularfire2 but I cant find one. Some examples uses anugalrfire2 with native firebase or an old version of angularfire.
Maybe the project has a FAQ, or a conversion explanation about how to use it right. For example this  comment was very enlightening for me.

Have you heard of https://angularfirebase.com? I highly, highly recommend using it. It's not official from Firebase, but @codediodeio is better than I am at making videos.
We plan on updating our documentation soon. So stay posted.


owntracks_http error: Received unsupported message type: waypoint.

Home Assistant release (hass --version): 0.55.0 (via docker image homeassistant/home-assistant)
Python release (python3 --version): Python 3.6.3
Component/platform: owntracks_http
Description of problem: (May be related to using regions in Owntracks iOS client) When pushing a location update Home Assistant logs an exception and associated stack dump
Expected: No exception and stack dump and update location properly
Problem-relevant configuration.yaml entries and steps to reproduce:
device_tracker:
  - platform: owntracks_http

Open OwnTracks iOS app
Push Location Update

Traceback (if applicable):
2017-10-10 11:59:59 INFO (MainThread) [homeassistant.components.http] Serving /api/owntracks/jeff/iphone to <IP_ADDRESS> (auth: True)
2017-10-10 11:59:59 WARNING (MainThread) [homeassistant.components.device_tracker.owntracks] Received unsupported message type: waypoint.
2017-10-10 11:59:59 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/aiohttp/web_protocol.py", line 422, in start
    resp = yield from self._request_handler(request)
  File "/usr/local/lib/python3.6/site-packages/aiohttp/web.py", line 306, in _handle
    resp = yield from handler(request)
  File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 213, in coro
    res = yield from res
  File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 213, in coro
    res = yield from res
  File "/usr/src/app/homeassistant/components/http/ban.py", line 58, in ban_middleware_handler
    return (yield from handler(request))
  File "/usr/src/app/homeassistant/components/http/__init__.py", line 428, in handle
    result = yield from result
  File "/usr/src/app/homeassistant/components/device_tracker/owntracks_http.py", line 50, in post
    yield from async_handle_message(hass, self.context, message)
  File "/usr/src/app/homeassistant/components/device_tracker/owntracks.py", line 413, in async_handle_message
    yield from handler(hass, context, message)
TypeError: 'NoneType' object is not callable

Additional info:

Duplicate of #9748.


[#1550] feat(spark-connector) support partition,bucket, sortorder table

What changes were proposed in this pull request?
add partition, distribution, sort order support for spark connector
Why are the changes needed?
Fix: #1550
Does this PR introduce any user-facing change?
no
How was this patch tested?
add UT and IT, also verified in local env.

It's ready to review now, @jerryshao @qqqttt123 @yuqi1129 @mchades @diqiu50 please help to review when you are free.

@jerryshao , please help to review when you are free, thanks

split toGravitinoTransform to two interfaces toGravitinoPartitions and toGravitinoDistributionAndSortorders which is not suitable to split again because Spark SortedBucketTransform contains both distribution and sortorders . @jerryshao @yuqi1129 @mchades please help to review again.

@mchades @qqqttt123 @yuqi1129 @jerryshao @diqiu50  all comments are addressed, please help to review again.

I have no further comment, I think we can go to unblock other PRs. If there's missing parts. We can fix in another PR.


Create acharya.txt

@jeevansurendran First stage of verification passed, official domain is acharya.ac.in as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@jeevansurendran Thank you for your patience while waiting for a review and processing your request. Pull request merged. Thank you!

thank you for approving the PR 👍🏻


[DEVOPS-112] Initial CI/CD configuration

Merge after https://github.com/iris-GmbH/iris-kas/pull/20


Some endpoints don't set content-type to application/json

Running on 1.5.1,  looks like some endpoints are not setting the Content-Type header field properly:
ok:
GET /api/v1/pipelines/setup:test HTTP/1.1
Authorization: Basic bXl1c2VyOm15cGFzcw==
Cookie: ATC-Authorization=Basic bXl1c2VyOm15cGFzcw==
Host: <IP_ADDRESS>:8081
Connection: close
User-Agent: Paw/2.3.4 (Macintosh; OS X/10.11.5) GCDHTTPRequest

HTTP/1.1 200 OK
Content-Type: application/json
Set-Cookie: ATC-Authorization=Basic bXl1c2VyOm15cGFzcw==; Path=/; Expires=Wed, 27 Jul 2016 20:59:24 GMT
X-Concourse-Version: 1.5.1
Date: Tue, 26 Jul 2016 20:59:24 GMT
Content-Length: 67
Connection: close

{"name":"setup:test","url":"/pipelines/setup:test","paused":false}

not ok:
GET /api/v1/pipelines/setup:test/jobs HTTP/1.1
Authorization: Basic bXl1c2VyOm15cGFzcw==
Cookie: ATC-Authorization=Basic bXl1c2VyOm15cGFzcw==
Host: <IP_ADDRESS>:8081
Connection: close
User-Agent: Paw/2.3.4 (Macintosh; OS X/10.11.5) GCDHTTPRequest

HTTP/1.1 200 OK
Set-Cookie: ATC-Authorization=Basic bXl1c2VyOm15cGFzcw==; Path=/; Expires=Wed, 27 Jul 2016 20:59:28 GMT
X-Concourse-Version: 1.5.1
Date: Tue, 26 Jul 2016 20:59:28 GMT
Content-Length: 555
Content-Type: text/plain; charset=utf-8
Connection: close

[{"name":"9038ae729c326a5e0c42d35608339a02","url":"/pipelines/setup:test/jobs/9038ae729c326a5e0c42d35608339a02","next_build":null,"finished_build":{"id":1,"name":"1","st   (...)  "outputs":[],"groups":[]}]

Would  that be an easy fix? Am i missing something?
Thx!

I also see this for /api/v1/builds in 1.6.0.

Moved to concourse/concourse#1111


Unload functions on uninstall

After uninstalling fisherman/done I get these errors:
$ fisher uninstall done
Done in 85ms
fish: Unknown command 'humanize_duration'
~/.config/fish/conf.d/done.fish (line 1): echo "$CMD_DURATION" | humanize_duration
                                                                 ^
in command substitution
	called on line 40 of file ~/.config/fish/conf.d/done.fish

in function '__done_ended'
	called on standard input

in event handler: handler for generic event 'fish_prompt'

user at unknown in ~
$ fisher list
cache
fish: Unknown command 'humanize_duration'
~/.config/fish/conf.d/done.fish (line 1): echo "$CMD_DURATION" | humanize_duration
                                                                 ^
in command substitution
	called on line 40 of file ~/.config/fish/conf.d/done.fish

in function '__done_ended'
	called on standard input

in event handler: handler for generic event 'fish_prompt'

I guess this happens because the functions are still loaded and executed on fish_prompt hook, but humanize_duration is no longer available?

@aristidesfl
fisherman already erases/unloads functions when you uninstall a plugin:

https://github.com/fisherman/fisherman/blob/master/fisher.fish#L841

In the case of done that would be impractical, because (didn't we had this conversation before?) the functions are eagerly loaded inside conf.d/done.fish and fisherman can't guess the names of the functions by looking at the plugin's name done or other files (there aren't any) inside the plugins's directory.

Right, makes sense. So this problem was introduced in 2.3.0 and would not occur if functions were not unloaded at all..

For the record, I contemplated doing stuff like looking at the environment for functions named like so
^_+($plugin_name)_+[A-Za-z0-9]+$

and erase them. Hacky.

Even if imperfect, sounds like an incremental improvement over not unloading anything. What is the probability of unloading a function which doesn't belong to the plugin?
^_+

Low. The reason I didn't implement this was "lock in", but now in hindsight, why not?
This is possibly just a matter of unloading related names during plugin disable.

As of fish 2.6, it's possible to at least verify (via functions -D funcname) whether it came from that file, so you could literally do:
function remove_funcs_for_file --argument removed_file
    for f in (functions --all)
        if test (functions -D $f) = $removed_file
            functions -e $f
        end
    end
end

to remove any function that came from the file.

@pjeby Very nice trick!
Would love to add a note to the cookbook about this.

https://github.com/jbucaran/fish-shell-cookbook#how-to-create-a-private-function-in-fish

@franciscolourenco I just released fisher/releases/tag/3.0.0~! 🎉
V3 introduces a mechanism for packages to provide custom uninstall logic via an event handler. You can place this event handler in your done.fish file inside the conf.d directory as follows.
function done_uninstall -e done_uninstall
  # Erase all __done_* functions
  functions -e __done_ended
  functions -e __done_started
  functions -e __done_get_focused_window_id
  functions -e __done_is_tmux_window_active
  functions -e __done_is_process_window_focused

  # Erase __done variables
  set -e __done_version
end

See configuration snippets in the new documentation for full details.

Is this name scheme still relevant in V3?
If so should it be function _done_uninstall -e done_uninstall?

@franciscolourenco As it turns out, fish only cares about the symbol after the -e or --on-event flag. So, it's up to you what you name that function. I still recommend using your package name as a prefix.
My personal preference is to use done_uninstall for the event handler defined in the configuration snippet and _done_xxx_xxx for everything else.
function done_uninstall -e done_uninstall
    # ...
end


U/jrbogart/postgres forcedsource

Adds a notebook demonstrating access to forced source data in the Postgres database.

Point well taken about those definitions.  good and clean are object catalog dpdd quantities formed by combining various flags.  They're defined the same in the Postgres database as for GCR access.   I'll look for a reference.   forcedsourcevisit_good is something I made up because it seemed like there ought to be some quality cut on individual visit data.   I used flags as similar as possible to the ones used in object catalog good.

There already was some discussion of the meaning of fields in the paragraphs just above the Light Curves section.  I've beefed it up a bit.


failed to query current context: CUDA_ERROR_DEINITIALIZED

This is a regression problem, code was working fine 2 wks ago, did a git sync to the head and now I have this log message:
I tensorflow/stream_executor/dso_loader.cc:101] successfully opened CUDA library libcublas.so.7.0 locally
I tensorflow/stream_executor/dso_loader.cc:101] successfully opened CUDA library libcudnn.so.6.5 locally
I tensorflow/stream_executor/dso_loader.cc:101] successfully opened CUDA library libcufft.so.7.0 locally
I tensorflow/stream_executor/dso_loader.cc:101] successfully opened CUDA library libcuda.so locally
I tensorflow/stream_executor/dso_loader.cc:101] successfully opened CUDA library libcurand.so.7.0 locally
I tensorflow/core/common_runtime/gpu/gpu_init.cc:103] Found device 0 with properties:
name: GeForce GTX TITAN X
major: 5 minor: 2 memoryClockRate (GHz) 1.076
pciBusID 0000:02:00.0
Total memory: 12.00GiB
Free memory: 11.87GiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:127] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:137] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:705] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX TITAN X, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:42] Allocating 11.27GiB bytes.
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:52] GPU 0 memory begins at 0x2306c80000 extends to 0x25d8436a67
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 1.0KiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 2.0KiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 4.0KiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 8.0KiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 16.0KiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 32.0KiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 64.0KiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 128.0KiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 256.0KiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 512.0KiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 1.00MiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 2.00MiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 4.00MiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 8.00MiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 16.00MiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 32.00MiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 64.00MiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 128.00MiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 256.00MiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 512.00MiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 1.00GiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 2.00GiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 4.00GiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 8.00GiB
I tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:66] Creating bin of max chunk size 16.00GiB
create_encoder graph time 0.569116
create_decoder graph time 2.629546
create_loss graph time 0.960969
create_optimizer graph time 34.311540
F tensorflow/stream_executor/cuda/cuda_driver.cc:299] failed to query current context: CUDA_ERROR_DEINITIALIZED
F tensorflow/stream_executor/cuda/cuda_driver.cc:299] failed to query current context: CUDA_ERROR_DEINITIALIZED
F tensorflow/stream_executor/cuda/cuda_driver.cc:299] failed to query current context: CUDA_ERROR_DEINITIALIZED
F tensorflow/stream_executor/cuda/cuda_driver.cc:408] Check failed: CUDA_SUCCESS == dynload::cuCtxSetCurrent(prior_context_) (0 vs. 4)
Aborted (core dumped)
Note: (the create_*) is my code creating the graph.
The python code it crashes on is:
sess.run(tf.initialize_all_variables())

I've got the same issue

I have a suspicion that our mega-commit 1c579361cd1e088dd5e05a394b1561a73e3667ba might have introduced a change that broke this (there are a bunch of changes that could be responsible, including changes to the stream executor and updating to a new version of Eigen, among other things).
It would be great if someone could confirm if it works at 295625035eefc7801cfe831bd1ba851faacb7579 but fails at the commit right after.

@vrv 2956250 works for me; 1c57936 does not.

Cool, thanks for verifying.  If you have time:
Revert the WORKSPACE file and eigen.BUILD changes (to use an earlier version of Eigen) and see if the problem goes away.
I'll dig into potential other issues in that commit.

Checking out WORKSPACE and eigen.BUILD from 2956250 does not fix the problem.

Ok thanks, that helps.

@zheng-xq, who independently was trying to debug this.

I reverted to 2956250 and it seems to work, but the execution speed is cut in half

Yup, that commit improved speed for some models, @zheng-xq is looking into what broke it.

I can confirm that with eigen-a0661a2bb165, an Eigen kernel fails to
launch. But with the older eigen-ce5a455b34c0, this problem goes away.
My reproducing command line:
bazel run -c opt --config=cuda
//tensorflow/models/image/alexnet:alexnet_benchmark
Passing to @benoitsteiner
On Thu, Jan 7, 2016 at 11:18 AM, Martin Wicke<EMAIL_ADDRESS>wrote:

Assigned #713 https://github.com/tensorflow/tensorflow/issues/713 to
@zheng-xq https://github.com/zheng-xq.
—
Reply to this email directly or view it on GitHub
https://github.com/tensorflow/tensorflow/issues/713#event-508621546.

@zheng-xq: what eigen kernel failed, so we can figure out which kernel was the problem?

The kernel that was causing problem is:
EigenMetaKernel_Vectorizable<Eigen::TensorEvaluator<Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float,
1, 1, int>, 16>,
Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_right<float, float,
Eigen::internal::scalar_product_op<float, float>, true>,
Eigen::TensorMap<Eigen::Tensor<float const, 1, 1, int>, 16> const> const>
const, Eigen::GpuDevice>, int>
It came from cwise_mul:
tensorflow::BinaryOp<Eigen::GpuDevice, tensorflow::functor::mul >
On Thu, Jan 7, 2016 at 6:53 PM, Vijay Vasudevan<EMAIL_ADDRESS>wrote:

@zheng-xq https://github.com/zheng-xq: what eigen kernel failed, so we
can figure out which kernel was the problem?
—
Reply to this email directly or view it on GitHub
https://github.com/tensorflow/tensorflow/issues/713#issuecomment-169877615
.

When running "bazel-bin/tensorflow/models/image/alexnet/alexnet_benchmark --benchmarks=all" on my machine, I get the following error:
external/re2/re2/regexp.cc:136: Bad reference count 65535
F tensorflow/stream_executor/cuda/cuda_driver.cc:408] Check failed: CUDA_SUCCESS == dynload::cuCtxSetCurrent(prior_context_) (0 vs. 4)

Okay, we rolled back the change to switch to the newer version of Eigen, which apparently had some issues.  https://github.com/tensorflow/tensorflow/commit/22267addd64b00f9457605cdce3d82276a478780
So things should be now be working.
However, this uses an older version of Eigen that has some speed problems.
@benoitsteiner has upstreamed a newer fix to Eigen which should bring back the speed improvements and not crash things, so look for that soon.
Closing this for now, let us know if you still see problems.

FWIW, I spent some time independently debugging this issue as well.   What I found was that the preprocessor magic in Eigen was removing nvcc's ability to know what templated kernels to instantiate for the device code.  The fix for the non-convolutional kernels was to modify the eigen/unsupported/CXX11/src/tensor/TensorDeviceCuda.h file and modify the LAUNCH_CUDA_KERNEL macro for the device code to force instantiation of the kernel:
#ifndef __CUDA_ARCH__
#define LAUNCH_CUDA_KERNEL(kernel, gridsize, blocksize, sharedmem, device, ...)            \
    (kernel) <<< (gridsize), (blocksize), (sharedmem), (device).stream() >>> (__VA_ARGS__); \
    assert(cudaGetLastError() == cudaSuccess);
#else
#define LAUNCH_CUDA_KERNEL(...)  \
    { static const auto __attribute__((__unused__)) __makeTheKernelInstantiate = &(kernel); } \
   eigen_assert(false && "Cannot launch a kernel from another kernel" __CUDA_ARCH__);
#endif


Cannot rename labels

Cannot rename labels

This is a remnant of when labels were indexed by name, but the API can be updated now to allow name to be part of the LabelUpdate.  Once the labels API is resolved we can fix this update form.

[ ] Await API update for label name updating: https://github.com/influxdata/influxdb/pull/12585
[ ] Regenerate client types and bump version
[ ] Change updateLabel action to take a Label and not just properties

@OfTheDelmer #12585 has been merged


OffsetDateTime instances

Greetings!
It would be nice to have Encoder/Decoder instances for java.time.OffsetDateTime.
I made i tiny PR with them added: #179 .
Feel free to comment or merge/decline :)

Hello! I've added some comments to #179

Resolved with #179


Add generic support for encrypted secrets stored on s3

This change will require that secrets like the github key be encrypted at rest and decrypted per job with a project specific secret key.
See specifically the changes to the README.md.

See most recent change @pda.

Merging unless further feels @pda


feat add auth services

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Error importing KafkaClient

I believe I have followed the instructions clearly while installing pykafka on my mac but when I run my code it throws an error when trying to import KafkaClient: ImportError: No module named 'broker'
I am using condas for my env and I did not run into any errors while installing.
Am I missing something?

Looks like the issue was that I had python3 running and nowhere obvious in the pykafka doc does it say anything about the compatible versions. I tried it on 2.7.9 and this error seems to have gone away.

Added a note about python version here

Sweet, thanks!


New dart assist: move_variable_to_parameter_list

Description
Move a variable to the function's parameter list. This will work as follows.
If the variable is private then it will added as a positional param otherwise it will be added as a named param with the required keyword if the type is a non-nullable and non-dynamic type. The original variable will be deleted afterwards.
This is just a draft i would love to hear your feedback on this. The example also needs to be changed.
Type of change

[ ] Bug fix (non-breaking change that fixes an issue)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Code refactor
[ ] Documentation
[ ] Other

Checklist

[x] I have read the CONTRIBUTING.md document.
[x] I have performed a self-review of my code.
[ ] I have linked the issue ticket in the description.
[ ] I have made the necessary changes to the documentation.
[x] I have checked the formatting with dart format .
[x] I have analyzed my code with dart analyze .
[x] I have run dart run custom_lint example to check for any custom linting issues.

A more descriptive name would be something like ExtractVariableToParameter.
Having a local variable that starts with an underscore probably doesn't make sense and there is a lint for it. Therefore, using a leading underscore in the variable name to determine the parameter type seems weird to me.
An simpler approach would be to extract the variable as a named parameter since named parameters are generally encouraged. Alternatively, we could provide 2 assists for users to choose between positional and named parameters.

Yeah ExtractVariableToParameter would be a better name I think.
It's not guaranteed that everyone will enable that underscore lint or not, I'm one of those users. But still, I understood your point. A Better approach would be to provide two assists for the positional and named parameters. But then what would be the assist message for those two assists?

Extract variable as positional parameter.
Extract variable as named parameter.

What do you think?

Changes done. Please review it..

Changes done. Please review it.


UiohookKey: Add several missing key codes

uses this file for reference: https://github.com/kwhat/libuiohook/blob/1.2/include/uiohook.h
note: unfortunately i have no reasonable means of testing most of these additions.
i can at least confirm the printscreen addition works, which was the initial motivation behind this PR.
also some keycodes were purposefully omitted, such as these:

i assume there's some specific way these need to be implemented, but that's currently beyond my knowledge lol

i can at least confirm the printscreen addition works, which was the initial motivation behind this PR.

added this one


grpclib "addable" but package with grpclib as a dependency not installable

[x] I am on the latest Poetry version.

[x] I have searched the issues of this repo and believe that this is not a duplicate.

[x] If an exception occurs when executing a command, I executed it again in debug mode (-vvv option).

OS version and name: MacOS 10.13

Poetry version: 0.11.4

Link of a Gist with the contents of your pyproject.toml file: https://gist.github.com/dfee/96e60c7ebb36c7a163c834b595043684

Issue
I am using namespace packages (PEP420) to separate out pieces of my code into separate folders:
mypkg/
    mypkg.core/
        pyproject.toml
    mypkg.rpc/
        pyproject.toml
    mypkg.xyz/
        pyproject.toml

I get the following error when trying to execute poetry install --develop mypkg.rpc:
$ poetry install --develop mypkg.rpc -vvv
Using virtualenv: /Users/dfee/code/mypkgmypkg.xyz/.venv
Installing dependencies from lock file
Warning: The lock file is not up to date with the latest changes in pyproject.toml. You may be getting outdated dependencies. Run update to update them.

[SolverProblemError]
Because mypkg.rpc (2018.0.0) depends on grpclib (^0.1.1) which doesn't match any versions, mypkg
.rpc is forbidden.
So, because mypkg.xyz depends on mypkg.rpc (2018.0.0), version solving failed.

However, I am able to add it directly without issue:
poetry add grpclib

Strange.
When I remove the grpclib dependendcy from mypkg.rpc, I am able to poetry install --develop mypkg.rpc (successfully, as expected). I can then go back in and add the grpclib dependency and attempt a second poetry install which fails with the same error message as above:
$ poetry install
Installing dependencies from lock file

[SolverProblemError]
Because mypkg.rpc (2018.0.0) depends on grpclib (^0.1.1) which doesn't match any versions, mypkg
.rpc is forbidden.
So, because mypkg.xyz depends on mypkg.rpc (2018.0.0), version solving failed.

install [--no-dev] [--dry-run] [-E|--extras EXTRAS] [--develop DEVELOP]

However, I can perform a poetry update and grpclib is installed fine:
$ poetry update
Updating dependencies
Resolving dependencies... (1.6s)

Package operations: 7 installs, 0 updates, 0 removals

Writing lock file

  - Installing hpack (3.0.0)
  - Installing hyperframe (5.1.0)
  - Installing h2 (3.0.1)
  - Installing mypkg.core (18.7.0)
  - Installing grpclib (0.1.1)
  - Installing mypkg.rpc (2018.0.0)

When I specify a python version, this issue is taken care of.


build target lib should merge externals in vue.config

What problem does this feature solve?
I find that if build with vue-cli-service build --target lib, externals in vue.config.js is ignored.
Dig into the vue-cli source I find below code in resolveLibConfig.js which ignores externals in vue.config.js.
Is this intended or not?
    // externalize Vue in case user imports it
    config
        .externals({
            vue: {
                commonjs: 'vue',
                commonjs2: 'vue',
                root: 'Vue'
            }
        })

What does the proposed API look like?
// externalize Vue in case user imports it
        config
            .externals({
                ...config.get('externals')
                vue: {
                    commonjs: 'vue',
                    commonjs2: 'vue',
                    root: 'Vue'
                }
            })

Thanks, this looks like a bug. Up for a PR?

@LinusBorg Thanks. I am not quite familiar with the PR thing yet. I tried to create  #2653 . Please review it and give me some suggestions.

This looks good :)

Congrats on your first contribution.

Sorry to comment on an old issue but the fix does not work if your webpack externals is an array of options.
The use of the spread operator here converts the incoming array to an object:
{ '0': [Function],
  '1': [Function],
  vue: { commonjs: 'vue', commonjs2: 'vue', root: 'Vue' } }

Which then breaks when we try to validate the webpack config.

https://webpack.js.org/configuration/externals/#root
The externals option doesn't accept an array.

https://webpack.js.org/configuration/externals/#combining-syntaxes
When trying to combine types you can use an array

Now would be a good time to provide the actual code you have issues with


[AF-3] Create currencies

Issue number: resolves #3
Summary :red_circle:
This PR adds the necessary features for handle currencies. Additional add-ons are available in the changelog in version 0.6.1.
Proposed / Possible solution :red_circle:
We made use of the money gem dependency to deal with financial values. They have a simple and standardized way of dealing with currencies and also conversions between them. We will use ISO 4217 to guide us regarding currencies and rules.
We did a refactoring unrelated to the main feature, which is adding automated tests for entities.
How to test :policeman:
Start the related services, and open the console with the command bin/console. Here you can call the user repository, which will instantiate a user's balance using the money gem, and use the methods and possibilities available in the money gem's official documentation.
Risks / Impacts :red_circle:

None anticipated

Requirements for deployment :red_circle:

None anticipated

I made a mistake in the PR and selected the wrong branch. I will close this PR and open another with the correct branch.


Update to mtime.2.0.0

In mtime.2.0.0 quite a few utility functions were removed leaving it to the user to add them back in, these are the corresponding mtime.1.4.0 implementations.
~p.s. I've hopefully used functions that Mtime used to use for these functions so I'm hoping this change won't need a mtime >= 2.0.0 constraint.~
The implementation wasn't quite what Mtime does (it has a few bounds check when converting to floats) so I've just used mtime.2.0.0 and added the lower bound.

Gently ping to @craigfe 🙂


pkg-config not founding dbus-1

Issue description
I'm trying to build i3status-rs from cargo with cargo build --release.
Pkg-config is complaining about not founding dbus-1.
pkg-config --libs --cflags dbus-1 ~> No package 'dbus-1' found
find /nix -name dbus-1.pc ~> /nix/store/-dbus-1.10.24-dev/lib/pkgconfig/dbus-1.pc
cargo build --release 2>err_log.txt
I tried to add dbus or dbus_libs, vainly.
Steps to reproduce
Here is my step to install NixOS, and my configuration files.
Technical details

system: "x86_64-linux"
host os: Linux 4.14.9, NixOS, 18.03pre123638.1258d9a4914 (Impala)
multi-user?: yes
sandbox: no
version: nix-env (Nix) 1.11.16
channels(root): "nixos-18.03pre123638.1258d9a4914"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs

nix-shell -p cargo dbus pkgconfig --pure --run 'cargo build --release' works for me.

Well, you're right. I tried and it did it. But why it's not working normally?

As I understand it, the pkgconfig setup hook will add $(nix-build -A dbus.dev)/lib/pkgconfig to PKG_CONFIG_PATH. For it to be available globally, the contents of the variable generated by the setup hook would need to be copied into the environment, or the pc file would need to be added to one of the existing paths for example by adding environment.pathsToLink = [ "/lib/pkgconfig" ];. Obviously, this is not done because the environment is not supposed to be polluted by build dependencies – the right way is to write a nix expression, or, for temporary purposes, use nix-shell with -p option.


Support for macOS Catalina (v10.15) - Term2 & Term3 Simulators

With current release binaries for all the simulators, It does not support macOS Catalina.
When launched, following error is coming:
LSOpenURLsWithRole() failed with error -10810 for the file /Users/.../term2_sim_mac/term2_sim.app.

Same is for all the other simulators.
Request to add prebuilt binaries for macOS Catalina (v10.15).

@jinay1991 , currently I am on Mac OS Catalina v10.15 too. Like you said most Mac release does not work..I found that the Term 1 Version 1 works on my Mac. This link below is copied from the README on this repo.
https://d17h27t6h515a5.cloudfront.net/topher/2016/November/5831f290_simulator-macos/simulator-macos.zip

@endymioncheung Thank for your reply, though I request to have newly compiled binaries for Term2/3 with support of MacOS Catalina as they provide more functionality than of term-1.

@jinay1991 I have got some success compiled the Udacity vehicle simulator for the Mac OS Catalina on my MacBook Pro this morning after some minor tweaks. You can download it here: the https://github.com/endymioncheung/Udacity_vehicle_sim_MacCatalina.git

@jinay1991 I have got some success compiled the Udacity vehicle simulator for the Mac OS Catalina on my MacBook Pro this morning after some minor tweaks. You can download it here: the https://github.com/endymioncheung/Udacity_vehicle_sim_MacCatalina.git

How do you unzip files? I can not run app, I get following error.
$ open myUdacitySim.app
The application cannot be opened because its executable is missing.

Thanks @endymioncheung for your support. Although I am still not able to launch the simulator with macOS Catalina. When I launch, it launches with out error but flash and terminated immediately. Was that same observation for you too?

I checked it again just then and manually download the "ZIP" from my Github link I mentioned above. Then unzip it by double clicking the "myUdacitySim.z01", I noted that double clicking the "myUdacitySim.zip" won't work because it is a multi segment file because Github does not allow file larger than 100Mb.
I used the unzip tool downloaded from "https://theunarchiver.com"..
Also after you unzipped successfully, the system by default will block it and prevent it to run as the "Author" is unknown and cannot be verified, so you have to manually authorize to open this file.
Usually I don't upload executable on Github as I think its dangerous to run unknown app, I built this app originally for myself. Just thought to share it others and save others hours of pain. Just a small disclaimer, I compiled this code on my computer and assumed have no computer virus, and I take no responsibilities for any data loss or damages. Use it at your own risks :)
If you are okay with the disclaimer, then go to "System Preferences\Security & Privacy", click the General tab, then on the right bottom corner, click "Open Anyway".
Have fun!

Thank you very much @endymioncheung for providing Term2 Simulator. Though as I mentioned earlier, I need term3 (branch: term3_collection) simulator. If you have env setup, can you please build the code for term3 and share the binary?

Finally was able to build Term3 Simulator on my MacOS. Here is the binary running just fine for macOS Catalina.
https://github.com/jinay1991/motion_planning/releases/download/v1.1/term3_sim_mac_catalina.zip

@jinay1991, just saw your post and update. So you have got the Term 3 simulator to work?
I took a look at the link you posted https://github.com/jinay1991/motion_planning/releases/download/v1.1/term3_sim_mac_catalina.zip
The link seems to be removed. Can you upload the link again, buddy? Thanks

https://github.com/jinay1991/motion_planning/releases/download/v1.1/term3_sim_mac_catalina.zip

It works. Thanks for sharing the binary of the Term 3 simulator :)

Hey, I wonder how did you guys build successfully. Can I know what version of Unity are you using? I tried switch back to 5.5.1 the app load infinitely. If I use the newest version, like 2019, it contains build error such as ParticleRenderer' could not be found (are you missing a using directive or an assembly reference?)

I have seen this error before. I cannot remember exactly how I resolved it
at the end, I think I just simply removed that keyword, it seems okay to
build and I was able to use it for the term 1 and term 2 SDCND project.
I also found a link here about the ParticleRenderer issue:
https://forum.unity.com/threads/there-is-no-particlesystem-in-c-script-when-i-disable-the-wind-module.562072/
I guess you are using Mac OS Catalina too, I can understand your
frustration. I can upload a binary I built for my mac to my Github in a few
hours time later at https://github.com/endymioncheung. I will label the
repo name something starts with SDCND_MacCatalinaSimulator. Please "star"
that repo if you like it ;-)
Have fun Udacitying.
Endy
On Thu, Mar 19, 2020 at 8:55 AM taytay0904<EMAIL_ADDRESS>wrote:

Hey, I wonder how did you guys build successfully. Can I know what version
of Unity are you using? I tried switch back to 5.5.1 the app load
infinitely. If I use the newest version, like 2019, it contains build error
such as ParticleRenderer' could not be found (are you missing a using
directive or an assembly reference?)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/udacity/self-driving-car-sim/issues/118#issuecomment-601162030,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHZ6H4TOERVQGIEQOCUWMD3RIII57ANCNFSM4JADT2FQ
.

Sorry for the late upload taytay0904 , I was having problem splitting the
zip files before.
Here is the updated repo
https://github.com/endymioncheung/CarND-MacCatalinaSimulator, I've tested
the unzip using Mac Terminal on Mac OS Catalina 10.15.3.
On Thu, Mar 19, 2020 at 9:07 AM Endymion Cheung<EMAIL_ADDRESS>wrote:

I have seen this error before. I cannot remember exactly how I resolved it
at the end, I think I just simply removed that keyword, it seems okay to
build and I was able to use it for the term 1 and term 2 SDCND project.
I also found a link here about the ParticleRenderer issue:
https://forum.unity.com/threads/there-is-no-particlesystem-in-c-script-when-i-disable-the-wind-module.562072/
I guess you are using Mac OS Catalina too, I can understand your
frustration. I can upload a binary I built for my mac to my Github in a few
hours time later at https://github.com/endymioncheung. I will label the
repo name something starts with SDCND_MacCatalinaSimulator. Please "star"
that repo if you like it ;-)
Have fun Udacitying.
Endy
On Thu, Mar 19, 2020 at 8:55 AM taytay0904<EMAIL_ADDRESS>wrote:

Hey, I wonder how did you guys build successfully. Can I know what
version of Unity are you using? I tried switch back to 5.5.1 the app load
infinitely. If I use the newest version, like 2019, it contains build error
such as ParticleRenderer' could not be found (are you missing a using
directive or an assembly reference?)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/udacity/self-driving-car-sim/issues/118#issuecomment-601162030,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHZ6H4TOERVQGIEQOCUWMD3RIII57ANCNFSM4JADT2FQ
.

hey thank you very much. I will try it later today

Thanks a lot @endymioncheung @jinay1991


[Bug]: Periodically get timeout when downloading dependency files in terraform init stage

Bug Description
In terraform init, some times I got below error:
Output:
Initializing modules...
Initializing Terraform Cloud...
Initializing provider plugins...

Reusing previous version of solaceproducts/solacebroker from the dependency lock file
╷
│ Error: Failed to install provider
│
│ Error while installing solaceproducts/solacebroker v0.9.2: could not query
│ provider registry for registry.terraform.io/solaceproducts/solacebroker:
│ failed to retrieve authentication checksums for provider: the request
│ failed after 3 attempts, please try again later: Get
│ "https://objects.githubusercontent.com/github-production-release-asset-2e65be/602268380/01c5c3f9-607b-4bf5-a8f1-d7b5eb03519f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240527%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240527T070043Z&X-Amz-Expires=300&X-Amz-Signature=1bc9a610da51c3891153613e4d7965da31485ce39d6a2a5943a2ed6bd5972490&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=602268380&response-content-disposition=attachment%3B%20filename%3Dterraform-provider-solacebroker_0.9.2_SHA256SUMS&response-content-type=application%2Foctet-stream":
│ net/http: request canceled while waiting for connection (Client.Timeout
│ exceeded while awaiting headers)
╵

##[error]Terraform command 'plan' failed with exit code '1'.
##[error]2024-05-27T07:00:32.524Z [INFO]  Terraform version: 1.1.7
Expected Behavior
Be able to download denpency files and install the provider.
terraform init should be run successfully.
Steps to Reproduce
This is in our Terraform Enterprise and we got this error all most everyday.
When this happen, all jobs after it also failed with same error.
We have to wait for one hour+ and re-run the same job without any changes to successfully initialize it.
Solace Broker version
10.7.1
Solace API
solace cloud
Solace API version
No response

I'm closing this as it sounds like a temporary network issue, specific to the user environment. Please also check this with the latest provider version.


issue with String type

Hello,
Is-it possible to use String type with Vector lib. ?
Vector<String> strVect;
doesn't make an issue, but when I use
strVect.PushBack("Hello");
that reboot my esp32.
Thank's

Hey Clemzo,
Since the vector is made up of String objects, you'll need to String's to it like so:
Vector<String> strVect;
strVect.PushBack(String("Hello"));

Hope that helps!

Hello tomstewart89,
Thanks for your quick answer.
Your indications works fine with one item but with two item, my ESP reboot.
My code :
#include <Vector.h>

Vector<String> strVect;

void setup()
{
  Serial.begin(115200);

  // Add  few elements to the array
  strVect.PushBack(String("Bonjour"));
  strVect.PushBack(String("comment"));                            // make reboot of ESP
  //strVect.PushBack(String("allez-vous"));

  // Print off the results
  for(int i = 0; i < strVect.Size(); i++)
    Serial.println(strVect[i]);
}

void loop()
{
}

Hi Clemzo,
Sorry for the slow reply. I guess there's something fishy going on with the way Vector copies over Strings, let me check it out over the weekend and get back to you.
Thanks!

Same issue.  Looks like a nice implementation though.  Would be great if you could fix this :)

You have to clear the memory after allocating an array (of objects like Strings for example). I have added a few lines of code to Vector.h:
/*
 * Vector.h
 *
 *  Created on: 05/04/2012
 *      Author: tom
 *      Purpose: To play the part of a mutable array in the absence of the STL.
 */

#ifndef VECTOR_H
#define VECTOR_H

#include <stdint.h>
#include <stdlib.h>
#include <string.h>

#ifndef MIN
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
#endif

#ifndef MAX
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
#endif

#define SWAP(type, a, b) type tmp ## a = a; a = b; b = tmp ## a;

template <class ParameterType> class Predicate
{
public:
    virtual void operator() (ParameterType &param) = 0;
};

template <class VectorType> class Vector
{
    // The address of the first element of the vector
    VectorType *begin;
    // The address one after the last allocated entry in the underlying array
    VectorType *storage;
    // The index of the most recent element put in the underlying array - the head
    int head;

public:
    // The value that is returned when the caller asks for an element that is out of the bounds of the vector
    VectorType OB;

    // We can save a few re-sizings if we know how large the array is likely to grow to be
    Vector(int initialSize = 0)
    {
        begin = new VectorType[initialSize]; //points to the beginning of the new array
        memset (begin, 0, initialSize * sizeof(VectorType));
        head = initialSize - 1;
        storage = begin + initialSize; //points to the element one outside of the array (such that end - begin = capacity)
    }

    Vector(Vector &obj)
    {
        begin = new VectorType[0]; // Points to the beginning of the new array, it's zero but this line keeps malloc from seg faulting should we delete begin before resizing it
        head = -1;
        storage = begin; //points to the element one outside of the array (such that end - begin = capacity)

        *this = obj;
    }

    // If there's anything in the vector then delete the array, if there's no array then doing will will cause seg faults
    virtual ~Vector() { delete[] begin; }

    Vector &operator=(Vector &obj)
    {
        // Reallocate the underlying buffer to the same size as the
        Resize(obj.Size());

        for(int i = 0; i < obj.Size(); i++)
            (*this)[i] = obj[i];

        head = obj.head;

        return *this;
    }

    void ForEach(Predicate<VectorType> &functor)
    {
        for(int i =  0; i < Size(); i++)
            functor(begin[i]);
    }

    // Swaps the underlying array and characteristics of this vector with another of the same type, very quickly
    void Swap(Vector &obj)
    {
        SWAP(int, head, obj.head);
        SWAP(VectorType*, begin, obj.begin);
        SWAP(VectorType*, storage, obj.storage);
    }

    // Checks the entire Vector to see whether a matching item exists. Bear in mind that the VectorType might need to implement
    // equality operator (operator==) for this to work properly.
    bool Contains(VectorType element)
    {
        for(int i = 0; i < Size(); i++)
            if(operator [](i) == element)
                return true;

        return false;
    }

    int Find(VectorType element)
    {
        for(int i = 0; i < Size(); i++)
            if(operator [](i) == element)
                return i;

        return -1;
    }

    void PushBack(VectorType element) { PushBack(&element, 1); }

    void PushBack(const VectorType *elements, int len)
    {
        // If the length plus this's size is greater than the capacity, reallocate to that size.
        if(len + Size() > Capacity())
            ReAllocate(MAX(Size() + len, Size() * 2));

        int append = MIN(storage - begin - head - 1, len), prepend = len - append;

        // memcpy the data starting at the head all the way up to the last element *(storage - 1)
        memcpy((begin + head + 1), elements, sizeof(VectorType) * append);

        // If there's still data to copy memcpy whatever remains, starting at the first element *(begin) until the end of data. The first step will have ensured
        // that we don't crash into the tail during this process.
        memcpy(begin,(elements + append), sizeof(VectorType) * prepend);

        // Re-recalculate head and size.
        head += len;
    }

    void Erase(unsigned int position) { Erase(position, position + 1); }

    // Erase an arbitrary section of the vector from first up to last minus one. Like the stl counterpart, this is pretty labour intensive so go easy on it.
    void Erase(int first, int last)
    {
        // For this we'll set the value of the array at first to the value of the array at last plus one. We'll do that all the way up to toIndex
        for(int i = 0; i < (Size() - first); i++)
        {
            // If by trying to fill in the next element with the ones ahead of it we'll be running off the end of the vector, stop.
            if((i + last) > (Size() - 1))
                break;

            begin[first + i] = begin[last + i];
        }

        // Adjust the head to reflect the new size
        head -= last - first;
    }

    // Remove the most recent element in the array
    void PopBack()
    {
        if(Size() > 0)
            head--;
    }

    // Empty the vector, or to be precise - forget the fact that there was ever anything in there.
    void Clear() { head = -1; }

    // Returns a bool indicating whether or not there are any elements in the array
    bool Empty() { return head == -1; }

    // Returns the oldest element in the array (the one added before any other)
    VectorType const &Back() { return *begin; }

    // Returns the newest element in the array (the one added after every other)
    VectorType const &Front() { return begin[head]; }

    // Returns the nth element in the vector
    VectorType &operator[](int n)
    {
        if(n < Size())
            return begin[n];
        else
            return OB;
    }

    // Returns a pointer such that the vector's data is laid out between ret to ret + size
    VectorType *Data() { return begin; }

    // Recreates the vector to hold len elements, all being copies of val
    void Assign(int len, const VectorType &val)
    {
        delete[] begin;

        // Allocate an array the same size as the one passed in
        begin = new VectorType[len];
        memset (begin, 0, len * sizeof(VectorType));
        storage = begin + len;

        // Refresh the head and tail, assuming the array is in order, which it really has to be
        head = len - 1;

        for(int i = 0 ; i < Size(); i++)
            begin[i] = val;
    }

    // Recreates the vector using an external array
    void Assign(VectorType *array, int len)
    {
        delete[] begin;

        // Allocate an array the same size as the one passed in
        begin = new VectorType[len];
        memset (begin, 0, len * sizeof(VectorType));
        storage = begin + len;

        // Refresh the head and tail, assuming the array is in order, which it really has to be
        head = len - 1;

        // Copy over the memory
        memcpy(begin, array, sizeof(VectorType) * len);
    }

    // Returns the number of elements that the vector will support before needing resizing
    int Capacity() { return (storage - begin); }

    // Returns the number of elements in vector
    int Size() { return head + 1; }

    // Requests that the capacity of the allocated storage space for the elements
    // of the vector be at least enough to hold size elements.
    void Reserve(unsigned int size)
    {
        if(size > Capacity())
            ReAllocate(size);
    }

    // Resizes the vector
    void Resize(unsigned int size)
    {
        // If necessary, resize the underlying array to fit the new size
        if(size > Capacity())
            ReAllocate(size);

        // Now revise the head and size (tail needn't change) to reflect the new size
        head = size - 1;
    }

private:

    void ReAllocate(unsigned int size)
    {
        // Just in case we're re-allocating less room than we had before, make sure that we don't overrun the buffer by trying to write more elements than
        // are now possible for this vector to hold.
        if(Size() > (int)size)
            head = size - 1;

        // Allocate an array twice the size of that of the old
        VectorType *_begin = new VectorType[size];
        memset (_begin, 0, size * sizeof(VectorType));
        VectorType *_storage = _begin + size;

        int _head = Size() - 1;

        // Copy across all the old array's data and rearrange it!
        for(int i = 0; i < Size(); i++)
            _begin[i] = (*this)[i];

        // Free the old memory
        delete[] begin;

        // Redirect the old array to point to the new one
        begin = _begin;
        storage = _storage;
        head = _head;
    }
};

#endif // VECTOR_H

Than you can also create a vector of Strings:
#include <Vector.h>

Vector<int> intVect;
Vector<String> StringVect;

void setup()
{
  Serial.begin(115200);

  int iarray[] = { 1, 2, 3, 4, 5 };
  String sarray[] = { "one", "two", "tree" };

  // Fill the vector with the contents of the array
  intVect.Assign(iarray, 5);
  StringVect.Assign(sarray, 3);

  // Add another few elements to the array
  intVect.PushBack(6);
  intVect.PushBack(-300);
  intVect.PushBack(7);
  StringVect.PushBack("six");
  StringVect.PushBack("minus something");
  StringVect.PushBack("seven");

  // Find the element with value -300
  int index = intVect.Find(-300);
  int sndex = StringVect.Find("minus something");

  // Remove the element
  intVect.Erase(index);
  StringVect.Erase(sndex);

  // Print off the results
  for(int i = 0; i < intVect.Size(); i++)
    Serial.println(intVect[i]);
  for(int i = 0; i < StringVect.Size(); i++)
    Serial.println(StringVect[i]);
}

void loop()
{
}

The issue is that the objects like Strings may not be simply overwritten (with memcpy). You have to move element by element although the code is thus slower.
Vector.h:
/*
 * Vector.h
 *
 *  Created on: 05/04/2012
 *      Author: tom
 *      Purpose: To play the part of a mutable array in the absence of the STL.
 */

#ifndef VECTOR_H
#define VECTOR_H

#include <stdint.h>
#include <stdlib.h>
#include <string.h>

#ifndef MIN
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
#endif

#ifndef MAX
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
#endif

#define SWAP(type, a, b) type tmp ## a = a; a = b; b = tmp ## a;

template <class ParameterType> class Predicate
{
public:
    virtual void operator() (ParameterType &param) = 0;
};

template <class VectorType> class Vector
{
    // The address of the first element of the vector
    VectorType *begin;
    // The address one after the last allocated entry in the underlying array
    VectorType *storage;
    // The index of the most recent element put in the underlying array - the head
    int head;

public:
    // The value that is returned when the caller asks for an element that is out of the bounds of the vector
    VectorType OB;

    // We can save a few re-sizings if we know how large the array is likely to grow to be
    Vector(int initialSize = 0)
    {
        begin = new VectorType[initialSize]; //points to the beginning of the new array
        head = initialSize - 1;
        storage = begin + initialSize; //points to the element one outside of the array (such that end - begin = capacity)
    }

    Vector(Vector &obj)
    {
        begin = new VectorType[0]; // Points to the beginning of the new array, it's zero but this line keeps malloc from seg faulting should we delete begin before resizing it
        head = -1;
        storage = begin; //points to the element one outside of the array (such that end - begin = capacity)

        *this = obj;
    }

    // If there's anything in the vector then delete the array, if there's no array then doing will will cause seg faults
    virtual ~Vector() { delete[] begin; }

    Vector &operator=(Vector &obj)
    {
        // Reallocate the underlying buffer to the same size as the
        Resize(obj.Size());

        for(int i = 0; i < obj.Size(); i++)
            (*this)[i] = obj[i];

        head = obj.head;

        return *this;
    }

    void ForEach(Predicate<VectorType> &functor)
    {
        for(int i =  0; i < Size(); i++)
            functor(begin[i]);
    }

    // Swaps the underlying array and characteristics of this vector with another of the same type, very quickly
    void Swap(Vector &obj)
    {
        SWAP(int, head, obj.head);
        SWAP(VectorType*, begin, obj.begin);
        SWAP(VectorType*, storage, obj.storage);
    }

    // Checks the entire Vector to see whether a matching item exists. Bear in mind that the VectorType might need to implement
    // equality operator (operator==) for this to work properly.
    bool Contains(VectorType element)
    {
        for(int i = 0; i < Size(); i++)
            if(operator [](i) == element)
                return true;

        return false;
    }

    int Find(VectorType element)
    {
        for(int i = 0; i < Size(); i++)
            if(operator [](i) == element)
                return i;

        return -1;
    }

    void PushBack(VectorType element) { PushBack(&element, 1); }

    void PushBack(const VectorType *elements, int len)
    {
        // If the length plus this's size is greater than the capacity, reallocate to that size.
        if(len + Size() > Capacity())
            ReAllocate(MAX(Size() + len, Size() * 2));

        int append = MIN(storage - begin - head - 1, len), prepend = len - append;

        // memcpy the data starting at the head all the way up to the last element *(storage - 1)
        /// memcpy((begin + head + 1), elements, sizeof(VectorType) * append);
        for (int i = 0; i < append; i++) begin[head + 1 + i] = elements[i];

        // If there's still data to copy memcpy whatever remains, starting at the first element *(begin) until the end of data. The first step will have ensured
        // that we don't crash into the tail during this process.
        /// memcpy(begin,(elements + append), sizeof(VectorType) * prepend);
        for (int i = 0; i < prepend; i++) begin[i] = elements[append + i];

        // Re-recalculate head and size.
        head += len;
    }

    void Erase(unsigned int position) { Erase(position, position + 1); }

    // Erase an arbitrary section of the vector from first up to last minus one. Like the stl counterpart, this is pretty labour intensive so go easy on it.
    void Erase(int first, int last)
    {
        // For this we'll set the value of the array at first to the value of the array at last plus one. We'll do that all the way up to toIndex
        for(int i = 0; i < (Size() - first); i++)
        {
            // If by trying to fill in the next element with the ones ahead of it we'll be running off the end of the vector, stop.
            if((i + last) > (Size() - 1))
                break;

            begin[first + i] = begin[last + i];
        }

        // Adjust the head to reflect the new size
        head -= last - first;
    }

    // Remove the most recent element in the array
    void PopBack()
    {
        if(Size() > 0)
            head--;
    }

    // Empty the vector, or to be precise - forget the fact that there was ever anything in there.
    void Clear() { head = -1; }

    // Returns a bool indicating whether or not there are any elements in the array
    bool Empty() { return head == -1; }

    // Returns the oldest element in the array (the one added before any other)
    VectorType const &Back() { return *begin; }

    // Returns the newest element in the array (the one added after every other)
    VectorType const &Front() { return begin[head]; }

    // Returns the nth element in the vector
    VectorType &operator[](int n)
    {
        if(n < Size())
            return begin[n];
        else
            return OB;
    }

    // Returns a pointer such that the vector's data is laid out between ret to ret + size
    VectorType *Data() { return begin; }

    // Recreates the vector to hold len elements, all being copies of val
    void Assign(int len, const VectorType &val)
    {
        delete[] begin;

        // Allocate an array the same size as the one passed in
        begin = new VectorType[len];
        storage = begin + len;

        // Refresh the head and tail, assuming the array is in order, which it really has to be
        head = len - 1;

        for(int i = 0 ; i < Size(); i++)
            begin[i] = val;
    }

    // Recreates the vector using an external array
    void Assign(VectorType *array, int len)
    {
        delete[] begin;

        // Allocate an array the same size as the one passed in
        begin = new VectorType[len];
        storage = begin + len;

        // Refresh the head and tail, assuming the array is in order, which it really has to be
        head = len - 1;

        // Copy over the memory
        /// memcpy(begin, array, sizeof(VectorType) * len);
        for (int i = 0; i < len; i++) begin[i] = array[i];
    }

    // Returns the number of elements that the vector will support before needing resizing
    int Capacity() { return (storage - begin); }

    // Returns the number of elements in vector
    int Size() { return head + 1; }

    // Requests that the capacity of the allocated storage space for the elements
    // of the vector be at least enough to hold size elements.
    void Reserve(unsigned int size)
    {
        if(size > Capacity())
            ReAllocate(size);
    }

    // Resizes the vector
    void Resize(unsigned int size)
    {
        // If necessary, resize the underlying array to fit the new size
        if(size > Capacity())
            ReAllocate(size);

        // Now revise the head and size (tail needn't change) to reflect the new size
        head = size - 1;
    }

private:

    void ReAllocate(unsigned int size)
    {
        // Just in case we're re-allocating less room than we had before, make sure that we don't overrun the buffer by trying to write more elements than
        // are now possible for this vector to hold.
        if(Size() > (int)size)
            head = size - 1;

        // Allocate an array twice the size of that of the old
        VectorType *_begin = new VectorType[size];
        VectorType *_storage = _begin + size;

        int _head = Size() - 1;

        // Copy across all the old array's data and rearrange it!
        for(int i = 0; i < Size(); i++)
            _begin[i] = (*this)[i];

        // Free the old memory
        delete[] begin;

        // Redirect the old array to point to the new one
        begin = _begin;
        storage = _storage;
        head = _head;
    }
};

#endif // VECTOR_H

BasicUsage.ino:
// #include <Vector.h>
#include "vector.h"

void setup()
{
  Serial.begin (115200);

  Vector<int> intVect;
  Vector<String> StringVect (10);

  int intArray[] = { 1, 2, 3, 4, 5 };
  String StringArray[] = { "one", "two", "tree", "four", "five" };

  // Fill the vector with the contents of the array
  intVect.Assign(intArray, 5);
  StringVect.Assign(StringArray, 5);

          Serial.print ("Size: ");
          Serial.println (intVect.Size ());
          Serial.println (StringVect.Size ());

  // Add another few elements to the array
  intVect.PushBack(6);
  intVect.PushBack(-300);
  intVect.PushBack(7);
  StringVect.PushBack("six");
  StringVect.PushBack("minus");
  StringVect.PushBack("seven");

  // Find the element with value -300
  int index = intVect.Find(-300);

  // Remove the element
  intVect.Erase(index);

  // Find the element with value -300
  index = StringVect.Find("minus");

  // Remove the element
  StringVect.Erase(index);

  // Print off the results
  for(int i = 0; i < intVect.Size(); i++)
    Serial.println(intVect[i]);
  for(int i = 0; i < StringVect.Size(); i++)
    Serial.println(StringVect[i]);
}

void loop()
{
}


Implementation for DAI and GScore

The paper mentioned DAI and GScore as evaluation metrics. Would it be possible for the author to share the official implementation of these metrics?

Thank you for your interest in our paper and for inquiring about the DAI and GScore evaluation. I have updated the repository with the official implementation of these metrics. You can find the updated files in the evaluation directory.

Thank you for getting back to me so quickly! Much appreciated!


Support for TextMate scopes

Is your feature request related to a problem? Please describe.
(Apologies if my terminology is wrong I don't 100% understand this)
It looks like this extension currently only provides semantic tokens via a language server (I think). However not all themes support semantic tokens. For example the Hop Light and Light High Contrast themes appear to only work with TextMate scopes. This results in no syntax highlighting if using these themes:

Describe the solution you'd like
The extension should provide TextMate scopes so all themes can provide syntax highlighting to SAS programs.
Describe alternatives you've considered
At the moment if I want to keep my existing theme I have to load an unofficial SAS extension to get syntax highlighting :(

As you can see in the unofficial extension, there will be problems to describe SAS syntax with TextMate. Semantic tokens is the only way to accurately highlight SAS syntax. As you mentioned, semantic tokens should not be a problem.


ShipmentView: Fixed the Issue with the Number of Missing Boxes Not Being Displayed at Group Level

The PR fixes the problem with the number of missing boxes not displaying at the group level.

 2.0 BUG Missing Boxes at the grouped level for COMPLETED shipments is missing #tiny #softlaunch


Configurability in log levels sent to sentry

Is there a way to allow the user of the library to configure the log level in SentryBreadcrumbJsonProcessor?
I have a use case where I want to send warnings as events in sentry if they occur more than a particular frequency of time. However, I am unable to modify the log level of the SentryBreadcrumbJsonProcessor as it is hard coded to logging.ERROR as shown here.
Two questions:

Am I missing something obvious to control the levels at which I can log into sentry?
Is there any reason as to why we do not have a way to configure log levels for pushing events to sentry?  ( This is moot if the answer of 1) is a "Yes")

Hi @Sricharan-H thanks for raising the issue. I only just now saw this. Your use-case makes sense and is something I can make configurable in an upcoming release.

Is there any reason as to why we do not have a way to configure log levels for pushing events to sentry?

When this library was originally written, I made the design choice to minimize configuration outside of the bare essentials to, as much as possible, reduce onboarding complexity. But at the same time keeping the door open to extension for configurations that are actually appreciably useful to users.


feat: add on transition end callback

In this PR I add removed onTransitionEnd callback. It's reliable after my fixes related to onHandleStart and onHandleClose
Add TS and fix minor bugs.
Fixed typo ;)

Thanks for the PR!
Similar to #155, I think it'll be better to move these listeners to navigationOptions. I just pushed a commit doing that, please take a look if it looks good to you.
I also feel that passing current and previous index isn't the right approach (we have it this way because of the createKeyboardAwareNavigator which is in a different repo), so I've removed the arguments from listeners for now. If it's something people need, we can think about the argument to pass (perhaps a willChangeIndex or something like that) and add it. It'll be easier to add it in future, but it'll be a breaking change if we want to change it.


Optimize the watershed selection process

Description
The process to find the watershed and its upstream contributors is too slow. We need to optimize it.
One option is to let GeoServer do part of the work if possible.

@huard Already looking into this. See #87.


Not working, closes after the game opens or if the game is already opened.

Previous version still works.

Could you please add some more detail? It is working fine on my end.


AttributeError during Ray RLlib application of FinRL_PaperTrading_Demo

Thank you so much for creating the FinRL_PaperTrading_Demo, it is so cool!
For the project I'm doing I've been trying to use Ray Tune to tune the rrlib agent parameters and then deploy it to Alpaca and see if I could improve performance. But I've been getting an issue with the AlpacaPaperTrading function when drl_lib="rllib".

I've been looking into this for a week now, but I'm very lost. Any ideas on how I can fix or even approach this would be appreciated.

Hi @NicoleRichards1998
Can you try this notebook? Here we can do hyperparameter tuning of stock market data using Ray tune

I've been looking at that notebook as well, that is actually where I got the idea to use RLlib in the paper trading application. My goal in a way is to combine the two notebooks. The issue comes in when the trained (and tuned) agent is deployed on the live paper trading environment...

For that we have checkpointing enabled in tune.run(). So tune is checkpointing all the models used for tuning with various hyperparameter configuration. You can get it by analysis.best_checkpoint. Load that model and deploy it to live trading environment.

Hi Athe-kunal, thank you for coming back to my issue. Unfortunately I am not even at that step yet. I just trained the model with the default parameters to first sort out AlpacaPaperTrading, but I keep getting stuck. I think the issue is with the StockEnvEmpty that is passed to PPOTrainer, but I can't figure it out from there

Ohh okay, I haven't tested it
Please do one thing, in the notebook for Ray tune hyperparameter tuning, change the data source to Alpaca and time interval to 1Min. Then you can do end-to-end hyperparameter tuning. If you just want to pass the default parameters and not do hyperparameter tuning, then follow these steps

In tune.run(), pass your default hyperparameters to config attribute
Change num_samples = 1
Then you will imitate RLlib, instead of ray tune. If you get stuck somewhere, let me know

Okay so I changed the notebook as you asked (except the default hyperparameters, because it gets upset when it receives those). Here is the link
FinRL_Raytune_with_Alpaca_Paper_Trading.ipynb
You can see at the end of the notebook that I get a RayActorError. It's exactly the same one I get when I use a regular rllib training function. Any ideas on how I can fix it?

Hi @NicoleRichards1998
You are using TensorFlow, right? If you are then in cell 19, please change the "framework": "torch" to "framework": "tf2" inside tune.run()

Hi Anthe, thanks for catching that. I changed it to tf2 but there was not much of a difference. I still get 8 error trails and most importantly I still get the KeyError: 'price_array' when running AlpacaPaperTrading, so I still can't run the live paper trading on Alpaca
https://github.com/NicoleRichards1998/FinRL/blob/master/FinRL_Raytune_with_Alpaca_Paper_Trading.ipynb
Here is the link for the up to date notebook that I ran this morning

So the tuning using Ray tune is done via StockTradingEnv_np, and while running the AlpacaPaperTrading, you can see the StockTradingEnv_empty. The later environment does not have price_array in its environment initialization. You can either change the StockTradingEnv_empty to accommodate what Ray tune wants in cell 35. Let me know if it works or else we will get in touch to solve the issue.

Hi @Athe-kunal unfortunately it didn't work. When I use the StockEnvEmpty (which works with Elegant RL) I get a RayActorError that says AttributeError: 'NoneType' object has no attribute 'dtype'. This was the original issue that I aksed about two weeks ago, here is the code for that https://github.com/NicoleRichards1998/FinRL/blob/9c8966c12033553d2da2d05dad67af041193bdc6/FinRL_Raytune_with_Alpaca_Paper_Trading_(StockEnvEmpty).ipynb
Then I tried rather using StockTradingEnv (as it works during training and testing) but then I get a RayActorError with IndexError: tuple index out of range. I don't think this env will work in this setting as I need to fill it with data beforehand not during trading as with alpaca paper trading. Here is the link to that code if you want to check it out: https://github.com/NicoleRichards1998/FinRL/blob/9c8966c12033553d2da2d05dad67af041193bdc6/FinRL_Raytune_with_Alpaca_Paper_Trading_(StockTradingEnv).ipynb
I'm sorry to keep on nagging on this, but I have no idea how to fix this and I really need it to work to complete my project


Cannot load FontAwesome5 or FontAwesome5Pro fonts

I'm having some issues importing react-native-vector-icons when I select FontAwesome5 or FontAwesome5Pro.
Here's how I'm importing it
import FontAwesome5 from 'react-native-vector-icons/FontAwesome5Pro';
Here's the error message:
bundling failed: Error: Unable to resolve module react-native-vector-icons/FontAwesome5Pro from ...: Module react-native-vector-icons/FontAwesome5Pro does not exist in the Haste module map
I've tried

npm install react-native-vector-icons
uninstall and use yarn to reinstall
uninstall and run npm to reinstall
reinstall the package via npm/yarn then, react-native start --reset-cache
Executing ./node_modules/.bin/fa5-upgrade from project root directory to upgrade from FontAwesome to FontAwesome5Pro. It shows "No such file or directory" error

Additional notes:

under./node_modules/react-native-vector-icons/Fonts in my project folder, FontAwesome styled fonts (i.e. FontAwesome5_Brands.ttf) is not present.

under./node_modules/react-native-vector-icons/Fonts in my project folder, FontAwesome5.js and FontAwesome5Pro.js is not present

Any suggestion is appreciated.

Did you install this from npm or git? The npm version does not contain the FA5 updates 🙃

Ah ok, that explain it. I tried npm and yarn. How can I install this via git and integrate it with my react-native project?

Good to hear that we found the problem 🙂
You can choose where npm should install the package from, check out the docs here 🙂

Thanks for helping! Sorry to bump this thread, but I thought it would be related and helpful to others who may have the same problem as I do...
I used the instructions from your link to add the project using github's link. When I import and try to use FontAwesome5.getImageSource() after importing from "react-native-vector-icons/FontAwesome5" or "react-native-vector-icons/FontAwesome5Pro", I get this red screen on my iPhone.

It looks like this error message has to do with Object-C/Swift code. I'm wondering if you may know how to resolve this?

Could you share some javascript? 🙂

import FontAwesome from 'react-native-vector-icons/FontAwesome5Pro';
Promise.all([
  FontAwesome.getImageSource("angle-left", 38),
  FontAwesome.getImageSource("ellipsis-h", 26)])
      .then(icons => {
          const rightButtons = (this.options.length > 0)? [{ icon: icons[1], id: 'dots' }] : [];
          const leftButtons = [{ icon: icons[0], id: 'back' }];
          this.props.navigator.setButtons({
              rightButtons,
              leftButtons
    });
});

Hmm, I can't seem to be able to reproduce the error... Can you use regular icons?

Yes. I can use FontAwesome and IonIcons without issues.

Can you include the entire callstack (should be printed to the console as well)?

I'm sorry, I still can't reproduce or figure out what is wrong. Can you try removing the folder, reinstalling and relinking the library? Maybe there is some remains from the old npm library that you installed.

I tried it just now, but the issue is still happening on my end. Here's what I did:

npm uninstall react-native-vector-icon

Added "react-native-vector-icon": "oblador/react-native-vector-icons" to package.json under dependencies property.

npm install

react-native link react-native-vector-icons.

I noticed that when I installed the package using github repo style link, index.js was not under dist directory, leading to error. I modified the package's package.json to set main property to "index.js" to get my app to load.

Hello, any chance this will be made available through Expo directly? I was able to get others running without any additional steps, but it seems FA5 would require me to eject and work directly with the native platforms?  Or is it that other fonts will also require me to eject once I want to build native binaries?  It would be great if those could be clarified in the README. Thanks!

Expo is not supported by this package, use https://github.com/expo/vector-icons. It doesn't require FA5 at the moment (see https://github.com/expo/vector-icons/issues/58). The other fonts seem (and should) be supported.

hi, i have a slightly different issue. i can't seem to load up FA5 Pro fonts v5.4.1 nor v5.4.2 (the latest version at this time). in the README, under Bundled Icon Sets, i noticed that the version of FA5 /FA5 Pro fonts is at v5.3.1. does this imply that newer versions won't work?

Indeed, the new icons are not included in the glyphmap. Technically the font should load fine and work whether it's 5.3 or 5.4 but the icons from 5.4 are not accessible using this framework (currently). I'll upgrade it this week 🙂
Is not working at all or just missing icons?

hi, @hampustagerud. good to know! looking forward to it and thanks for the awesome work.
the FA5 Pro fonts are working up to 5.3, while newer icons from 5.4 are showing up as ? despite updating to 5.4 .ttf files.

Then that is an upgrading problem, good to know! Stay tuned for the next release 🙂 If you want it before it is released on npm you should use the github repo in your package.json:
"react-native-vector-icons": "oblador/react-native-vector-icons"

I also faced this issue when upgrade the version from v4.6.0 to v6.6.0. And finally found this is caused the new font resource is not under my QA target. Fixed it by clicking it to my current target.


feat: hide checkbox when no spatial view

Description
Simple change to address the Opening table behaviour accordingly to the Map View.
Fixes SILVA-424
Type of change

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Tested locally. Unit tests will be added shortly.
Checklist

[x] I have read the CONTRIBUTING doc
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have already been accepted and merged

Further comments

Thanks for the PR!
Any successful deployments (not always required) will be available below.
Backend: https://nr-silva-327-backend.apps.silver.devops.gov.bc.ca/actuator/health
Frontend: https://nr-silva-27-frontend.apps.silver.devops.gov.bc.ca
Once merged, code will be promoted and handed off to following workflow run.
Main Merge Workflow

Are the lint warnings a big deal? If not, I'll approve as-is.

hey! Thanks for pointing that out. I fixed most of them. There are still issues with "any" type, that's being addressed here https://github.com/bcgov/nr-silva/pull/328.


enable config.always_include_to_many_linkage_data

The README specifically states that

always_include_to_many_linkage_data is not currently implemented

However, config is already set up to receive that configuration parameter, and adding only one line to the code (as well as enabling it in the config) makes this feature start working.
Given that this feature is so close to being implemented, but you left it out, I have to assume there is a good reason. However, I couldn't find any reason that it shouldn't be allowed. Can you help me understand why this isn't enabled right now?
This is more of a question than anything. It might have been good as an issue, but a pull request lets me easily attach the code I'm referring to.
Thanks!

The main point of contention for me is that the option will potentially result in large results if there are many related records. This is currently also an issue if you use the include option, but with that the client at least has an option to turn off the include on the request.
I'm afraid we would be giving people a foot gun without implementing pagination of the linkage data. That's why I held off on the implementation. My plan has been to enable it once we implement pagination of linkage data.

@lgebhardt got it. Thanks for the quick response. It would help me a lot to have this enabled, so I think I'll use a patched version for now.
As always, thanks for this great gem

At least the patch is small and unlikely to conflict with other changes. Hopefully I find some time soon to get pagination added for the linkage data.

@lgebhardt yesterday I thought I needed this, today I realized I shot myself in the foot.
I'm still using the patched version because there are some resources where I want to always_include_linkage_data, but I've turned always_include_to_many_linkage_data off

I needed this functionality and patched it in as follows, just in case anyone needs this :).
module JSONAPI
  module AlwaysIncludeToManyLinkageData
    def link_object_to_many(source, relationship, include_linkage)
      include_linkage = include_linkage | @always_include_to_many_linkage_data | relationship.always_include_linkage_data
      super(source, relationship, include_linkage)
    end
  end

  class ResourceSerializer
    prepend AlwaysIncludeToManyLinkageData
  end
end