Consider allowing templating in environment variables in balena run command

Templating would allow exposing information normally accessible as docker inspect <container> to the container. Basic idea is to allow something like
balena run -e "MY_CONTAINER_ID={{.ContainerId}}" myimage

We might consider doing this via a dedicated argument (like -et) to not break existing -e behaviour,
Related to https://github.com/moby/moby/issues/8427
Also related to our recent use case when we needed supervisor app to know its own container ID: https://github.com/balena-os/meta-balena/pull/1590
cc @robertgzr @petrosagg @CameronDiver

One thing I just found when doing some initial exploration of how this could be done is that all things related to templates that are currently supported by balena-engine/moby are implemented on the CLI side.
Possible ways of moving forward with this would be duplicating some code into the engine repo or introduce a dep on the cli pkg/repo (but and I really don't want to do that)

@robertgzr do you also anticipate any difficulties obtaining container info (like container ID) before the moment when environment variables have to be set for a container process?

Current decision is to expose container ID in an environment variable using --cidenv command line option. See #174.


Add templates for issues

Issue templates are very helpful for a collaboration repo. When users identify a bug or want to add a new feature, you can provide templates so you can collect all the pertinent information you need to fix a bug or add a new feature.
We recommend creating a “Report Bug” and “Feature Request” issue template.
you can refer this: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository
Some suggested prompts/questions you can add to a “Report Bug” template are:
Briefly describe the bug
What is the expected behavior?
Please provide step by step instructions on how to reproduce the bug
Some suggested prompts/questions you can add to a “Feature Request” issue template are:
Briefly describe your feature request
What problem is this feature trying to solve?
How do we know when the feature is complete?
Reference: https://github.com/Recode-Hive/Stackoverflow-Analysis/issues/new/choose
Click on Get Started button and copy the template to your

hi @khushi-joshi-05 . I can work on the given issue and create a well-structured documentation .Please assign the issue to me.I would love to solve this.I am a gssoc contributor.Thank you


Client Allocation Request for: UJOONET

Client Allocation Questions
Core Information

Name: UJOONET
Website / Social Media: ujoonet.com / mylinkplus.io
Region: Asia excl. Greater China
DataCap Requested: 2TiB
Addresses to be Notarized: f3rpablljxoko6djyzbkmtqukfa6dnrzjuzflokeuou4x42nyrfa64e5f4isjm4yfv4mb5v6jtfqgx7hchkh4a
Notary Requested: XnMatrixSV

@ozzi0221 Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Hi，@ozzi0221.
We are pleased to receive your new application, and good luck with your projects.
There are some problems,we hope to hear from you soon.
1.Is this issue applied for the project of the previous issue or for the new project?
2.Could you give a description of the cooperation mechanisms with miners you chose before, such as how do you find them, the reason why you choose them, and datacap allocation proportion, etc.
3.Would you be OK in posting deal transactions in the previous issue?
4.Is it convenient for users to retrieve and view data you stored? Can you provide detailed steps.

Hi, thanks for your quick reply.

It will be mainly applied to existing projects and new projects will be additionally applied.
We considered Price first, and then select Miner based on regional distance. The allocation ratio for main miner is about 30%, and the sub-miner is allocated at a rate of 5-20%.
You can post the previous project transaction.
Search is still a little uncomfortable. So we created an early version solution that replaced the retrieval with a kind of intermediate storage server. (User can easily download the file stored with a link.) We are preparing to improve retrieval through solution upgrade. There is nothing special about retrieval because it uses Filecoin's Retrieval mechanism.

Feel free for any further question! Thanks,

I have reviewed the previous transaction record (please attach it to the previous application later as the application record).
Good luck with your project!

Thanks.
Please refer to the previous request which is "Client Allocation Request for: UJOONET #553".

Request Approved
Your Datacap Allocation Request has been approved by the Notary
Message sent to Filecoin Network

bafy2bzacede6s66mybxdc2w2d7pcfqcmrgbmzfe5a6scwzf3imbkkh36g5tma

Address

f3rpablljxoko6djyzbkmtqukfa6dnrzjuzflokeuou4x42nyrfa64e5f4isjm4yfv4mb5v6jtfqgx7hchkh4a

Datacap Allocated

2TiB

You can check the status of the message here: https://filfox.info/en/message/bafy2bzacede6s66mybxdc2w2d7pcfqcmrgbmzfe5a6scwzf3imbkkh36g5tma

ujoonet transaction record (#868).xlsx


Overwriting STDIN with a JavaScript function.

I want to be able to say
window.vm = new pypyjs({
       totalMemory:  256 * 1024 * 1024,
       stdin: function() { return window.data_var; }
 });
But it dosen't work, it just trows this back.

Traceback

(most recent call last):
File "<console>", line 1, in
EOFError

@adminy to be honest I haven't had a lot of luck getting stdin to behave sensibly in general - python wants to ready from it synchronously, which is a bad fit for the javascript environment.  I'm happy to have a look though - are you able to post a complete example (e.g. command-line javscript file, or web page) that throws the above error for me to take a look at?

@rfk thank you, actually, I wasn't realising which pypyjs instance I was actually working with is why I was getting that weird error. Anyways I did get sys.stdin to work properly for me. I allow users to upload a file which will behave like sys.stdin. What I did is overwrite the meaning of sys.stdin with a open('file'). It works like a charm and It might actually be the solution to this problem. Here is a demo of it working: https://adminy.github.io/py/ type some code in the editor like
import sys
a = input()
print(a)
for line in sys.stdin:print(line)
choose the sys.stdin file and type run in the console. It will work. Also Typing
a = input()
print(a)
in the console itself should also work!


更新最新flutter后会报错

Error: The superclass, 'Diagnosticable', has no unnamed constructor that takes no arguments.
const DateTimePickerTheme({
^^^^^^^^^^^^^^^^^^^
Target kernel_snapshot failed: Exception: Errors during snapshot creation: null
build failed.

meet the same problem

lib/src/date_picker_theme.dart:39:9: Error: The superclass, 'Diagnosticable', has no unnamed constructor that takes no arguments.
const DateTimePickerTheme({
^^^^^^^^^^^^^^^^^^^
Target kernel_snapshot failed: Exception: Errors during snapshot creation: null
build failed.

class DateTimePickerTheme extends Diagnosticable

class DateTimePickerTheme with Diagnosticable
works

please @dylanwuzh update the library with this fix

class DateTimePickerTheme extends Diagnosticable

class DateTimePickerTheme with Diagnosticable
works

good

更新了 1.0.13 版本，对 DateTimePickerTheme 进行了修改：class DateTimePickerTheme with DiagnosticableMixin，兼容Flutter的 stable channel
Updated 1.0.13 version, modified DateTimePickerTheme: class DateTimePickerTheme with DiagnosticableMixin, compatible with Flutter stable channel


Cannot delete dummy custom agents

I created several dummy agents as I was testing the templates but I cannot delete them and they confuse the router. Should we add a delete button on the edit agent page?

This was fixed in fixie-ai/fixie#735


Fixed #2

The issue was one with how Visual Studio, it doesn't copy interop dll files by default to other csproj's (in this case, from the WPF to the base jukebox csproj), which resulted in the Jukebox throwing the error. The csproj is edited to tell Visual Studio to use the interop dll's when it builds the other csproj's in the solution.

Wrong repo, meant to be in the fork. Sorry about that!


Can't start the script for some odd reason.

'python3' is not recognized as an internal or external command,
operable program or batch file.
Traceback (most recent call last):
File "neural_zoom.py", line 229, in
main()
File "neural_zoom.py", line 112, in main
first_run(run, params.output_image)
File "neural_zoom.py", line 146, in first_run
first_image = Image.open(params.output_dir + '/' + zeros(params.start_num, output))
File "C:\Apps\Anaconda\lib\site-packages\PIL\Image.py", line 2766, in open
fp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'output_dir/out_0000.png'
Using windows 10 of course.

@Testin1234 That's because on Windows 10, python3 is run with python and not python3. I never tested the script on Windows, but I believe you can resolve the issue by modifying this line: https://github.com/ProGamerGov/Neural-Zoom/blob/master/neural_zoom.py#L187
Change run = 'python3 ' to run = 'python ', and that should resolve the issue.

@ProGamerGov It seems that it worked, but I am facing another issue. Capturing style target 1
Running optimization with L-BFGS
Traceback (most recent call last):
File "neural_style.py", line 468, in
main()
File "neural_style.py", line 262, in main
optimizer.step(feval)
File "C:\Apps\Anaconda\lib\site-packages\torch\optim\lbfgs.py", line 354, in step
old_dirs.pop(0)
IndexError: pop from empty list
Traceback (most recent call last):
File "neural_zoom.py", line 229, in
main()
File "neural_zoom.py", line 112, in main
first_run(run, params.output_image)
File "neural_zoom.py", line 146, in first_run
first_image = Image.open(params.output_dir + '/' + zeros(params.start_num, output))
File "C:\Apps\Anaconda\lib\site-packages\PIL\Image.py", line 2766, in open
fp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'output_dir/out_0000.png'
I'm not sure why it would do this. Do I need to re-specify the directory or something?

Actually, that doesnt seem to be the problem. Is it just unable to make the images?

Try creating a folder called output_dir, as the code expects that folder to exist (and tries to create it).

Alright, did that and it still has the same error. Out of curiosity, I made a file in the output_dir called out_0000.png and it then had this issue: No such file or directory: 'output_dir/out_0001.png'

@Testin1234 What are the neural-zoom specific parameters that you are using?

python neural_zoom.py -script neural_style.py -style_image Color.jpg -content_image tubingen.jpg -model_file models/models/vgg19-d01eb7cb.pth -num_frames 20 -starting_image tubingen.jpg

Are my params wrong or something?

@Testin1234 Sorry, for the late response, so far I've found the slash direction to be a potential error source, but the error message still remains.

Good to know that the error can be reproduced and I'm not messing it up. Hopefully this can be resolved soon.

Okay, so I moved a bit forward with this.
Seems like the biggest problem here is with the tmp directories and how you are trying to keep the rendered version and a tmp dir.
Also a problem with starting_num and the -1 arguements against it.
I can make a PR but just want some insight on what you originally wanted to do.

@kkshmz It's been a long time since I created the code (and I was a lot worse at programming back back), but I seem to recall the one directory was for un-cropped images, and the other one was for cropped versions of the image.


Code cell prefixes

As per https://nbsphinx.readthedocs.io/en/0.5.1/code-cells.html#Code-Cells,
it would be nice to have the option of including the cell prefixes [1]:  (or in a format specified in the conf.py)
@akhmerov I don't think this is possible with jupyter-sphinx at present?
More generally, we should probably also being looking at nbsphinx (and talking to mgeiger) and thinking about what the synergies are: does it have other features that we would also want to implement, can we work together or are we essentially competitors??

No, it's not possible with jupyter-sphinx at the moment. I am wondering also whether it is a desirable feature in the context of building a book/documentation. What use cases do you imagine?

I mean in a notebook these tell you about the sequence of executions, but in a book all executions should be sequential.
Also imagine if some inputs are hidden and some shown. Should the numbering include the hidden ones or not?

I am wondering also whether it is a desirable feature in the context of building a book/documentation

Well I'm not necessarily as bothered about the numbering, its more to have a clear distinction of what are inputs and what are outputs, particularly for tutorials.
For example, here is one I have created with IPyPublish, https://ase-notebook.readthedocs.io/en/latest/user_guide/tutorial_intro.html. I think this is nicer to read than e.g. this: https://myst-nb.readthedocs.io/en/latest/use/basic.html#code-cells-and-outputs, where all the blocks kind of merge into each other

Also, in the latter example, it would not be clear what is executed code and what is static code, e.g.
```python
a = 1
```

```{jupyter-execute}
b = 2
```
```

would both look the same

Or here I just use In: and Out: https://aiida-crystal17.readthedocs.io/en/develop/user_guide/calc_main.html

I could even envisage referencing these cells, e.g.
In :cell:in:`1` we calculated something, now in :cell:in:`5` we calculate something else.

where the reference would link to the prefix

Both points you brought up are relevant to address, but I'm not sure whether cell numbering does that in the best way. In: and Out: seems better, and of course everything may be configurable.

On a practical level, it seems to make sense to add the input/output numbers to the AST as cell attributes, and perhaps also data-attribute entries to the corresponding divs. That doesn't seem to impede anything, and would also fit into jupyter-sphinx.

I could even envisage referencing these cells,

Ah, that's neat, although I'd be concerned about unnamed references.

This is the configuration that nbsphinx uses: https://nbsphinx.readthedocs.io/en/0.5.1/usage.html#nbsphinx_output_prompt

Ah, that's neat, although I'd be concerned about unnamed references

Yeh more robust would be labelling cells in their metadata / a label option on the jupter-execute directive

Actually, for a more subtle approach, I quite like:
div.cell div.cell_input {
  border-left-color: green;
  border-left-width: medium;
}

I've added this now in https://jupyter-cache.readthedocs.io/en/latest/using/api.html, IMO looks nicer and is easy to read through

I am a fan as well!


Any new type of document not supported will cause error.

My .csproj file contained a line of type EmbeddedResource. Since the library does not have support for this type, the enumeration of Contents instantly throws an error "Item not found in Dictionary". This could be solved by adding a class EmbeddedResource but more unsupported types can come up.

I have made ItemGroupContent a concrete class, and now if an ItemGroups Contents loads an element that does not have a class, it will be assigned an instance of ItemGroupContent.
CSProjectNode's ElementName is overridden to return the actual element name.
You should be able to access child elements through CsProjectNode methods.
I have also added EmbeddedResource as well.
Thanks!


Gitignore

you should keep auth.json in the repo, but add it to .gitignore, so users don't accidentally push their passwords to github

I agree.

thanks.


feat: impl text parser support encoding: false

text parser support with no decoder,
to get buffer instead of string.

cc: @dead-horse


E-mail update is enabled by default

Users are able to update their e-mail even though devise_parameter_sanitizer for account_update is not defined. Is it proper behavior that e-mail update is enabled by default? If so how to disable it?

Hi there @develop-test1    ,
In an effort to cleanup this project and prioritize a bit, we're marking issues that haven't had any activity in a while with a "close-in-7-days" label. If we don't hear from you in about a week, we'll be closing this issue. Obviously feel free to re-open it at any time if it's the right time or this was done in error!
If you are still having the issue (especially if it's a bug report) please refer to our new Issue Template to provide some more details to help us solve it.
Hope all is well.


Horizontal bar chart?

Is it possible to create a horizontal bar chart with bars extending/animating from left to right?

+1

+1

+1

+1

+1

+1

BTW google group is deprecated

+1

+1

+1

I have taken the great work done by @erikdattilo and turned it into a Chart.js plugin.
https://github.com/tomsouthall/Chart.HorizontalBar.js
The difference with this plugin is that it does not require any changes to Chart.js itself. Should run fine against v1.0.1-beta.4.
It's pretty hacky and repeats a bunch of code already in Chart.js, but until horizontal bar charts are supported natively, this should do okay.
If you want to fork this and clean it up, feel free. I'm sure there's plenty of room for improvement.

+1

@tomsouthall Thank you, this is the preferred process for getting new chart types into Chart.js. As that project gets more mature we may link to it from this project

@tomsouthall Thank you :beers:

@tomsouthall: Looks good! A question though: When I install you plugin it revers to chartjs as a dependency. I'm trying to use it in combination with angular-chart.js which revers to Chart.js (with capital C and a dot) as a depedency which is the name of the current repository. This results in two chartjs librarys in my bower_components. Any opinion on this issue?

@RonB yeah I'm a little unsure as to whether the dependency name is supposed to be Chart.js or chartjs. I've seen both used in different places. As long as both dependencies are the correct version, it shouldn't matter which one you actually use in your app though.

 For some reason I receive email notifications even though I am unsubscribed.

@tomsouthall is there a way to disable x-axis labeling in the horizontal chart ?

@rohtakdev please flag this as an issue at https://github.com/tomsouthall/Chart.HorizontalBar.js/issues and I'll see what I can do. Thanks.

+1

+1
Wasn't implemented this feature in the code base yet? Does at least one PR?

+1

+1

Any news on this? It seems that a lot of people want this feature.

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

Obligatory +1. Is it easier to implement in v2?

@hitchcott this is much easier to implement in v2. Off the top of my head, the work that needs to be done is

Ensure category scale correctly draws when on the left/right rather than the bottom/top.
Provide default horizontal bar config
In the bar controller swap out x&y when appropriate.

@etimberg Will it be implemented in v2 and when?

@Odrin It's on our roadmap to do after v2.0.0 releases (which should be very soon). If you do implement it yourself, I'd be happy to look over a PR merging the functionality.

+1 :dancer:

+1

Love +1 emails :)

I'll pile on! +1

+1 <3

I've implemented the horizontal bar graphs for a work project for chartjs2 in a drupal 7 project. Tried emailing Nick but never got a reply. If you respond to this I'll put together the code and an example. The actual work implementation I've completed isn't due to go live until around May.

Please put it together in an example, or better yet, make a PR.  We are
more than happy to merge it after we take a look! (there are many other
core contributors now that can help, myself included)
On Tue, Feb 23, 2016 at 6:41 PM markpnb<EMAIL_ADDRESS>wrote:

I've implemented the horizontal bar graphs for a work project for chartjs2
in a drupal 7 project. Tried emailing Nick but never got a reply. If you
respond to this I'll put together the code and an example. The actual work
implementation I've completed isn't due to go live until around May.
—
Reply to this email directly or view it on GitHub
https://github.com/nnnick/Chart.js/issues/73#issuecomment-187989384.

@markpnb
On Tue, Feb 23, 2016 at 6:44 PM Tanner Linsley<EMAIL_ADDRESS>wrote:

Please put it together in an example, or better yet, make a PR.  We are
more than happy to merge it after we take a look! (there are many other
core contributors now that can help, myself included)
On Tue, Feb 23, 2016 at 6:41 PM markpnb<EMAIL_ADDRESS>wrote:

I've implemented the horizontal bar graphs for a work project for
chartjs2 in a drupal 7 project. Tried emailing Nick but never got a reply.
If you respond to this I'll put together the code and an example. The
actual work implementation I've completed isn't due to go live until around
May.
—
Reply to this email directly or view it on GitHub
https://github.com/nnnick/Chart.js/issues/73#issuecomment-187989384.

Thanks for quick reply
OK do I need any special access to the repository or could you give me a
few pointers to create the PR.
I work with git daily and do pull requests at work in bitbucket but never
done one on github
regards
Mark
On Wed, Feb 24, 2016 at 11:45 AM, Tanner Linsley<EMAIL_ADDRESS>wrote:

Please put it together in an example, or better yet, make a PR. We are
more than happy to merge it after we take a look! (there are many other
core contributors now that can help, myself included)
On Tue, Feb 23, 2016 at 6:41 PM markpnb<EMAIL_ADDRESS>wrote:

I've implemented the horizontal bar graphs for a work project for
chartjs2
in a drupal 7 project. Tried emailing Nick but never got a reply. If you
respond to this I'll put together the code and an example. The actual
work
implementation I've completed isn't due to go live until around May.
—
Reply to this email directly or view it on GitHub
https://github.com/nnnick/Chart.js/issues/73#issuecomment-187989384.

—
Reply to this email directly or view it on GitHub
https://github.com/nnnick/Chart.js/issues/73#issuecomment-187990680.

Fork chart.js into your own repository.
Switch to the latest 2.0-dev branch
Create a new branch called 2.0-dev-feature-horizontal-bar based off of
the 2.0-dev branch
Make your changes in that new branch.
Commit those changes.
Create a PR (via the github interface in your forked repo) and point it
towards the 2.0-dev branch

Let me know if you have more questions
On Tue, Feb 23, 2016 at 6:49 PM markpnb<EMAIL_ADDRESS>wrote:

Thanks for quick reply
OK do I need any special access to the repository or could you give me a
few pointers to create the PR.
I work with git daily and do pull requests at work in bitbucket but never
done one on github
regards
Mark
On Wed, Feb 24, 2016 at 11:45 AM, Tanner Linsley<EMAIL_ADDRESS>
wrote:

Please put it together in an example, or better yet, make a PR. We are
more than happy to merge it after we take a look! (there are many other
core contributors now that can help, myself included)
On Tue, Feb 23, 2016 at 6:41 PM markpnb<EMAIL_ADDRESS>wrote:

I've implemented the horizontal bar graphs for a work project for
chartjs2
in a drupal 7 project. Tried emailing Nick but never got a reply. If
you
respond to this I'll put together the code and an example. The actual
work
implementation I've completed isn't due to go live until around May.
—
Reply to this email directly or view it on GitHub
https://github.com/nnnick/Chart.js/issues/73#issuecomment-187989384.

—
Reply to this email directly or view it on GitHub
https://github.com/nnnick/Chart.js/issues/73#issuecomment-187990680.

—
Reply to this email directly or view it on GitHub
https://github.com/nnnick/Chart.js/issues/73#issuecomment-187991931.

@tannerlinsley Do you know if this feature about horizontal chart when will be available in master branch (released)?

Given the extensibility of 2.0, it won't be that difficult to alter the controller to support this.  I personally won't have time to do this in the near future, but anyone is welcome to take a stab at it.

I actually played around with implementing this in v2 last weekend. The scales draw nicely but the Chart.elements.Rectangle objects have some issues that need to be worked through. Right now the rectangle is defined by a width, a point at the center of the end of the bar, and the base y value. In horizontal mode the base value becomes an x coordinate and the width becomes a height.
Some thought is needed to make the representation work for all orientations. Then the controller needs to be updated to support this (I almost favour 2 different controllers).

Nice work.  Yeah, the rectangle element could be updated to be more of a
generic representation of the shape, allowing for more flexibility in
drawing.
On Wed, Apr 13, 2016 at 12:18 PM Evert Timberg<EMAIL_ADDRESS>wrote:

I actually played around with implementing this in v2 last weekend. The
scales draw nicely but the Chart.elements.Rectangle objects have some
issues that need to be worked through. Right now the rectangle is defined
by a width, a point at the center of the end of the bar, and the base y
value. In horizontal mode the base value becomes an x coordinate and the
width becomes a height.
Some thought is needed to make the representation work for all
orientations. Then the controller needs to be updated to support this (I
almost favour 2 different controllers).
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/nnnick/Chart.js/issues/73#issuecomment-209551480

Another +1 to add on to this.

+1

@etimberg Great work! I'm curious to see that feature!

@etimberg There's a 50 rep bounty on Stack Overflow if it's close. ;)
http://stackoverflow.com/questions/36795567/chart-js-v2-is-there-a-way-to-draw-bar-chart-horizontally/36852202

+1

+1

I swapped the x and y dimensions from the bar controller code and made a few minor tweaks to get this working (thanks to zachpanz88 for helping get the labels sorted out). Fiddle is at http://jsfiddle.net/0y8mnma1/.
It's also posted as an answer to the SO question derekperkins mentioned above. Cheers!
I see that Kyle-Falconer already has a PR for this (https://github.com/chartjs/Chart.js/pull/2117). Hope the fiddle will help folks till that PR is pulled into the main branch. Cheers!

@potatopeelings could you PR your changes? The other PR is for v1. I think your changes look good and I would happily merge them

This was accomplished in #2448, so I think it is safe to close.

To add on, #2448 made it into the 2.1.0 release

I have an issue: the tooltip is switched  when I use Horizontal bars.
Here's an example, from the documentation example.
https://jsfiddle.net/2facyuLp/

Great work!
now the docs need updating though ^^

Sorry I didn't explain that well.
Actually that's a bug: it show the column value where the bar value should be.
Example:
59
My First dataset: February

Please create a new issue. This thread was for the creation of a horizontal bar chart, which has been finished, and is now closed. Thanks.

As a work around, you can change the tooltip callback to  fix this. Updating the default is a separate issue

Hi,
That project I worked on with the horizontal bar charts is now live.
I'm sorry I was too busy to get it together earlier, too much going on.
I understand someone has done something simillar, this can be used to
compare
http://www.scamwatch.gov.au/about-scamwatch/scam-statistics
regards
Mark
On Wed, Feb 24, 2016 at 11:45 AM, Tanner Linsley<EMAIL_ADDRESS>wrote:

Please put it together in an example, or better yet, make a PR. We are
more than happy to merge it after we take a look! (there are many other
core contributors now that can help, myself included)
On Tue, Feb 23, 2016 at 6:41 PM markpnb<EMAIL_ADDRESS>wrote:

I've implemented the horizontal bar graphs for a work project for
chartjs2
in a drupal 7 project. Tried emailing Nick but never got a reply. If you
respond to this I'll put together the code and an example. The actual
work
implementation I've completed isn't due to go live until around May.
—
Reply to this email directly or view it on GitHub
https://github.com/nnnick/Chart.js/issues/73#issuecomment-187989384.

—
Reply to this email directly or view it on GitHub
https://github.com/nnnick/Chart.js/issues/73#issuecomment-187990680.

+1

+69

+1

@mumabah,   Add this in to your barcharChart options:
onAnimationComplete: function () {
var ctx = this.chart.ctx;
ctx.font = this.scale.font;
ctx.fillStyle = this.scale.textColor;
ctx.textAlign = "center";
ctx.textBaseline = "bottom";
            this.datasets.forEach(function (dataset) {
                dataset.bars.forEach(function (bar) {
                    ctx.fillText(bar.value, bar.x, bar.y);
                });
            });
        }

{type: "horizontalBar"}

+1

+1

https://www.chartjs.org/samples/latest/charts/bar/horizontal.html


On initial import mongo-connector misses documents

When I do a resync of the data, mongo-connector starts with the initial import of the data, but after the initial import there are in fact a lot of documents missing and mongo-connector is not outputting any error message. After that it continues with the replication on the incomplete dataset.
In case it matters: I'm trying to sync four collections:

coll A ~ 15Mio docs (~80GB datasize)
coll B ~ 5Mio docs (~62GB datasize)
coll C ~6Mio docs (~15GB datasize)
coll D ~ 30k docs (~80MB datasize)

All collections are sharded over 7 shards and synced onto a single instance of mongoDB.

When data is continuously being written to the source cluster,
mongo-connector will dump only what it currently sees from relevant
collections to the destination. This might include some of the data
currently being written to the source while this is going on. After the
initial dump is complete, mongo-connector will begin to tail the oplog to
pick up the rest of the inserts.
Is it possible that some of the "documents missing" might be documents that
are just being written while mongo-connector is performing its initial
dump? Then these documents will eventually make it to the destination when
the corresponding insert ops are picked up in the oplog.
On Wed, Sep 2, 2015 at 4:04 PM, XDestination<EMAIL_ADDRESS>wrote:

When I do a resync of the data, mongo-connector starts with the initial
import of the data, but after the initial import there are in fact a lot of
documents missing and mongo-connector is not outputting any error message.
After that it continues with the replication on the incomplete dataset.
In case it matters: I'm trying to sync four collections:

coll A ~ 15Mio docs (~80GB datasize)
coll B ~ 5Mio docs (~62GB datasize)
coll C ~6Mio docs (~15GB datasize)
coll D ~ 30k docs (~80MB datasize)

All collections are sharded over 7 shards and synced onto a single
instance of mongoDB.
—
Reply to this email directly or view it on GitHub
https://github.com/10gen-labs/mongo-connector/issues/318.

What confuses me is the following:
The dump seems to have finished (at least there are now entries in the oplog.timestamp file), but only coll A seems to be finished (When comparing against the source collection only a couple of documents are missing and those seem to get inserted by the replication process - I even checked: coll A already contains documents that were added hours after the start of the initial dump) and the other 3 collections are not yet close to being fully replicated (f.e. coll B is still missing 3/4 of the documents and of course those documents were already in the source collections before the dump started).

The initial import ran for over three days now, but it looks like the data is consistent now with the source. I still don't understand why one collections is already updated through the replication, while others still seem to be in the initial-import stage, but at least it seems to work :)


chore: remove dist folder and add to gitignore

The "dist" folder is for build artifacts and should not be pushed to repository

Thank you! I published a new version 0.3.1 with your changes

Something is wrong with the package, it's unusable.
Maybe it's related to failing CI pipeline?

Ok. I will test it


Use "mac_in_use" to add non-vm interface as endpoint

After modification, under the same VLAN, when DHCP service is configured, the VM can obtain the IP address.

fix #382

Codecov Report

Merging #401 (5c20be4) into main (ac51d53) will decrease coverage by 0.00%.
The diff coverage is 64.51%.

@@            Coverage Diff             @@
##             main     #401      +/-   ##
==========================================
- Coverage   63.98%   63.98%   -0.01%
==========================================
  Files          41       41
  Lines        7284     7299      +15
==========================================
+ Hits         4661     4670       +9
+ Misses       2250     2249       -1
- Partials      373      380       +7

Impacted Files
Coverage Δ

pkg/monitor/agent.go
69.43% <64.51%> (+3.33%)
:arrow_up:

plugin/tower/pkg/controller/policy/controller.go
82.61% <0.00%> (-1.43%)
:arrow_down:

pkg/agent/controller/policy/policy_controller.go
76.52% <0.00%> (-0.74%)
:arrow_down:

pkg/controller/group/group_controller.go
71.63% <0.00%> (-0.54%)
:arrow_down:

pkg/agent/datapath/multiBridgeDatapath.go
58.53% <0.00%> (-0.53%)
:arrow_down:


Can't expand Numpy array to view its elements

Type: Bug
Add a watch for any Numpy array. The ability to expand the Numpy array to view its elements is gone! It used to be there prior to the current version (1.83.1)
VS Code version: Code 1.83.1 (f1b07bd25dfad64b0167beb15359ae573aecd2cc, 2023-10-10T23:48:05.904Z)
OS version: Windows_NT x64 10.0.22621
Modes:

System Info

Item
Value

CPUs
13th Gen Intel(R) Core(TM) i7-13700KF (24 x 3418)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
127.82GB (116.03GB free)

Process Argv
--crash-reporter-id 5f2e50c0-51aa-4eaa-a2fc-652294354e7b

Screen Reader
no

VM
0%

Extensions (14)

Extension
Author (truncated)
Version

preview-jp2
ana
0.0.4

matlab
Gim
3.0.2

vscode-docker
ms-
1.26.1

debugpy
ms-
2023.3.12841009

isort
ms-
2023.10.1

python
ms-
2023.18.0

vscode-pylance
ms-
2023.10.20

jupyter
ms-
2023.9.1102792234

jupyter-keymap
ms-
1.1.2

jupyter-renderers
ms-
1.0.17

vscode-jupyter-cell-tags
ms-
0.1.8

vscode-jupyter-slideshow
ms-
0.1.5

cpptools
ms-
1.17.5

live-server
ms-
0.4.11

I found an acceptable workaround...
I can view the array elements by watching MyNumpyArray.tolist()
It would nice, however, to have this capability built directly into watching Numpy arrays as previously.

i got this too.  privious

and now it becomes


[bug] [v2] [ios] Build of iOS does not add the correct capabilities to entitlements

Describe the bug
I added the “Sign in with Apple” capability to Xcode (for all targets - automatic signing), but this capability is not included in the entitlements of the final IPA.
For some reason, it works on the iOS Simulator but not on TestFlight. The device logs show: “Authorization failed: Error Domain=AKAuthenticationError Code=-7026 UserInfo={AKClientBundleID=}.”
I think the issue is due to the release build not having the correct capability in the entitlements, even though it’s clearly set in Xcode. I can provide images if that helps.
Reproduction
Add a capability in Xcode and build an iOS App then verify the release IPA entitlements with:
Unzip the IPA file
codesign -d --entitlements :- Payload/Name of App.app
Expected behavior
Expected the IPA entitlements to show the added capability.
Full tauri info output
> tauri info

[✔] Environment
    - OS: Mac OS 14.7.0 arm64 (X64)
    ✔ Xcode Command Line Tools: installed
    ✔ rustc: 1.81.0 (eeb90cda1 2024-09-04)
    ✔ cargo: 1.81.0 (2dbb1af80 2024-08-20)
    ✔ rustup: 1.27.1 (54dd3d00f 2024-04-24)
    ✔ Rust toolchain: stable-aarch64-apple-darwin (default)
    - node: 20.17.0
    - npm: 10.8.2

[-] Packages
    - tauri 🦀: 2.0.0-rc.15
    - tauri-build 🦀: 2.0.0-rc.12
    - wry 🦀: 0.43.1
    - tao 🦀: 0.30.0
    - @tauri-apps/api : 2.0.0-rc.5
    - @tauri-apps/cli : 2.0.0-rc.16

[-] Plugins
    - tauri-plugin-window-state 🦀: 2.0.0-rc.5
    - @tauri-apps/plugin-window-state : not installed!
    - tauri-plugin-store 🦀: 2.0.0-rc.3
    - @tauri-apps/plugin-store : not installed!
    - tauri-plugin-log 🦀: 2.0.0-rc.2
    - @tauri-apps/plugin-log : not installed!
    - tauri-plugin-shell 🦀: 2.0.0-rc.3
    - @tauri-apps/plugin-shell : not installed!
    - tauri-plugin-dialog 🦀: 2.0.0-rc.7
    - @tauri-apps/plugin-dialog : not installed!
    - tauri-plugin-notification 🦀: 2.0.0-rc.5
    - @tauri-apps/plugin-notification : not installed!
    - tauri-plugin-fs 🦀: 2.0.0-rc.5
    - @tauri-apps/plugin-fs : not installed!

[-] App
    - build-type: bundle
    - frontendDist: ../src

[-] iOS
    - Developer Teams: <Redacted>

Stack trace
No response
Additional context
No response

looks like this is a regression from #10854 , investigating alternatives atm


Server IP converting

Hello, I have a question about LobbyUpdate object.
There is line about game hosted server and port like below:
"connect": "=[A:1:665554951:6478]" ,
It might be too noob to ask about how convert this to ipv4 address or something readable. Do I need specific table?   Thanks.

Valve moved to a fancy routing system to make it harder to find the server IP, to prevent this. Let me google their news, as I'm pretty sure they mentioned it after all of the community outrage over DoS of tournaments.

Look at networking section. http://www.dota2.com/reborn/part3

And look here: http://dev.dota2.com/showthread.php?t=172553&page=2&p=1251337&viewfull=1#post1251337
Hope that helps


task22

Read the excel (consists of Lower Letters), and type into website (Vajrang.org - Uppercase Task) (by using Add data row add the data into the excel)

@Swetha3800
Task -22
code verified.


ENH: Clearer error when fmin_slsqp obj doesn't return scalar

See #5433
ValueError with a clear message is raised when the objective function in fmin_slsqp doesn't return a scalar.
Also updates docstring to add that objective function must return a scalar and adds a test for look for the ValueError.

Note that these changes break this case:
>>> minimize(lambda x: [0], [1, 2, 3], method='SLSQP')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "scipy/optimize/_minimize.py", line 458, in minimize
    constraints, callback=callback, **options)
  File "scipy/optimize/slsqp.py", line 370, in _minimize_slsqp
    raise ValueError("Objective function must return a scalar")
ValueError: Objective function must return a scalar

Before:
>>> minimize(lambda x: [0], [1, 2, 3], method='SLSQP')
     fun: [0]
     jac: array([ 0.,  0.,  0.,  0.])
 message: 'Optimization terminated successfully.'
    nfev: 5
     nit: 1
    njev: 1
  status: 0
 success: True
       x: array([ 1.,  2.,  3.])

I don't know how many people were returning their results in length-one lists, but since it did work it should still work. Maybe fixed by doing float(np.asarray(func(x))). (Well that one case is fixed, but whether it screws up something else bears thinking about.)

Note to @b-carter: the CI failure probably wasn't your fault (see https://github.com/scipy/scipy/issues/6696); I restarted the build.

I would play it safe and make it float(np.asarray(...)).

If we're changing the interface to only support scalar values returned by the objective function (or those that implicitly allow casting to float), is it odd to also allow the interface to take in length-1 lists of scalar values (even though this is seemingly disallowed by the interface, since [0] isn't really a scalar)?

is it odd to also allow the interface to take in length-1 lists of scalar values

Maybe? Ideals are usually sacrificed at the alter of back-compatibility, however. ;-)
Also, float(np.array([1])) works, so maybe from that perspective it's weird to not accept length-1 lists.

I think the idea was to not change the interface, but only clarify the
error message. Disallowing some previously valid inputs, while perhaps
more beautiful, is a backward compatibility break and based on
experience I would avoid making those for stylistic reasons.

That makes sense, I'll update the PR shortly and write another test where the objective returns a length-1 Python list per @person142's comment above.

Squashed and merged in https://github.com/scipy/scipy/commit/38f5366e4e9e8da13778ccdf3953501c1cfcb9c0. Thanks @b-carter!


fix(#29): incorrect typescript types inside npm package

Closes #29
After adding expo-plugin directory inside root folder, the typescript types inside npm package were incorrectly generated.
The solution is to exclude any directory that includes typescript files apart from src (because it should be the only place for the source code that is exported by the library).
Before:

After:

good catch


Aging Register adjustment: suggested addition

Hobbyist here, not a programmer/developer/techie, so hope you’ll excuse this submission as an ‘Issue’.
I believe that, like me, other RTClib users get clock inaccuracy with the DS3231. Arduino Forum contributor @gfvalvo helped me to implement its adjustment after a simple addition to RTClib.h. So directly below the section
//
/*!
@brief  RTC based on the DS3231 chip connected via I2C and the Wire library
*/
//
(which in the current release 2.1.3 ends with empty line 400), I’ve inserted the following five lines:
// Add Aging Register Access
static constexpr uint8_t agingRegister = 0x10;
int8_t readAging(){
return read_register(agingRegister);
}
void setAging(int8_t newAgingValue) {
write_register(agingRegister, newAgingValue);
}
};
My own sketch already includes the RTClib library and its minimal initialisation
// Initialize the rtc object
rtc.begin();
to which I added the following five lines in setup(), to compensate for my clock’s current slowness.
// Using edited RTClib.h from gfvalvo to adjust AgingRegister
int8_t aging = rtc.readAging();
Serial.println(aging);
int8_t newAging = -50;
rtc.setAging(newAging);
Trial and error will be needed (before hopefully reducing drift to a couple of seconds a week at most), but I already believe it to be working satisfactorily. The method seems significantly simpler than some I’ve seen, so I’d suggest its serious consideration for a future release please.

@terrypin999: I added the methods you are requesting to my fork of RTClib, but I don't have the hardware to test them. Would you mind testing that yourself? It is in the branch “aging-offset” of my fork. The new methods are called getAgingOffset() and setAgingOffset():
constexpr int8_t calibratedAgingOffset = -50;

void setup() {
    rtc.begin();
    Serial.begin(9600);
    Serial.print("Initial aging offset: ");
    Serial.println(rtc.getAgingOffset());
    rtc.setAgingOffset(calibratedAgingOffset);
    Serial.print("New aging offset:     ");
    Serial.println(rtc.getAgingOffset());
}

If this works for you, I will submit a pull request here with the change.

Ok, I’ll do that Sunday or Monday .--TerryOn 23 Mar 2024, at 21:35, Edgar Bonet @.***> wrote:
@terrypin999: I added the methods you are requesting to my fork of RTClib, but I don't have the hardware to test them. Would you mind testing that yourself? It is in the branch “aging-offset” of my fork. The new methods are called getAgingOffset() and setAgingOffset():
constexpr int8_t calibratedAgingOffset = -50;
void setup() {
rtc.begin();
Serial.begin(9600);
Serial.print("Initial aging offset: ");
Serial.println(rtc.getAgingOffset());
rtc.setAgingOffset(calibratedAgingOffset);
Serial.print("New aging offset:     ");
Serial.println(rtc.getAgingOffset());
}
If this works for you, I will submit a pull request here with the change.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Hi Edgar,
I'd like to help but I'm way out of my depth. As I said in my Issue
#299: "Hobbyist here, not a programmer/developer/techie...". So  github
is largely alien territory for me.
After prefixing your link with 'github.com/' I reached the page you
presumably intended.
https://www.dropbox.com/scl/fi/da3gq3segzsfurbkfzb35/EdgarFork.jpg?rlkey=ddwki3dhwuub9894irnbugtv6&raw=1
But without a foolproof step-by step guide I've no idea how to proceed
to do what you require, sorry!
Best wishes,
Terry
"Hobbyist here, not a programmer/developer/techie..."
On Sat, 23 Mar 2024 14:35:13 -0700, you wrote:

@terrypin999: I added the methods you are requesting to my fork of RTClib, but I don't have the hardware to test them. Would you mind testing that yourself? It is in the branch aging-offset of my fork. The new methods are called getAgingOffset() and setAgingOffset():
constexpr int8_t calibratedAgingOffset = -50;

void setup() {
   rtc.begin();
   Serial.begin(9600);
   Serial.print("Initial aging offset: ");
   Serial.println(rtc.getAgingOffset());
   rtc.setAgingOffset(calibratedAgingOffset);
   Serial.print("New aging offset:     ");
   Serial.println(rtc.getAgingOffset());
}

If this works for you, I will submit a pull request here with the change.

@terrypin999: I found a tutorial with good step-by-step instructions: Install an Arduino library from GitHub. It is provided both as a Web page and as a video. Note that this tutorial offers two options:

Download a specific version of the library (from a “tag”)
download the latest source code

Please, use the second option (latest source code), as there is no tag on this specific branch.

I know how to install a library from github and have now duly installed
yours. But as you see from my screenshot I am unable to use it. Can you
therefore tell me the full file and path of its .json file so that I can
try the preferences.txt method.
https://www.dropbox.com/scl/fi/atofyz9y7ckmv8qood88g/EdgarBonet-aging.jpg?rlkey=09utumhhdlmb2tmy2ly2im9zn&raw=1
I'm working with several sketches at present, or I'd also try restarting
the IDE to see if that lets me include your library. I will do so later.
Terry
On Sun, 24 Mar 2024 06:41:26 -0700, you wrote:

@terrypin999: I found a tutorial with good step-by-step instructions: Install an Arduino library from GitHub. It is provided both as a Web page and as a video. Note that this tutorial offers two options:

Download a specific version of the library (from a tag)
download the latest source code

Please, use the second option (latest source code), as there is no tag on this specific branch.

@terrypin999: I guess this may be due to both libraries having the same name, as it appears in the name field of library.properties. I suggest you move your current RTClib directory out of …\libraries, and rename RTClib-aging-offset as RTClib.

Following on from my earlier reply, restarting the IDE did not help.
And when I tried the Add.ZIP Library method I got the error message
"A subfolder of your sketchbook is not a valid library"
I assume you can successfully download and compile it?
On Sun, 24 Mar 2024 06:41:26 -0700, you wrote:

@terrypin999: I found a tutorial with good step-by-step instructions: Install an Arduino library from GitHub. It is provided both as a Web page and as a video. Note that this tutorial offers two options:

Download a specific version of the library (from a tag)
download the latest source code

Please, use the second option (latest source code), as there is no tag on this specific branch.

But that longer name is the one you gave your ZIP, i didn’t name it.Why don’t you give your library a unique name, as there are already several confusingly called RTClib.What about the ‘json/preferences’ route, is that feasible?On 24 Mar 2024, at 16:15, Edgar Bonet @.***> wrote:
@terrypin999: I guess this may be due to both libraries having the same name, as it appears in the name field of library.properties. I suggest you move your current RTClib directory out of …\libraries, and rename RTClib-aging-offset as RTClib.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

I meant to also ask what needs testing? The simple edit to RTClib.h edit described is working successfully for me….On 24 Mar 2024, at 17:02, terrypin @.> wrote:But that longer name is the one you gave your ZIP, i didn’t name it.Why don’t you give your library a unique name, as there are already several confusingly called RTClib.What about the ‘json/preferences’ route, is that feasible?On 24 Mar 2024, at 16:15, Edgar Bonet @.> wrote:
@terrypin999: I guess this may be due to both libraries having the same name, as it appears in the name field of library.properties. I suggest you move your current RTClib directory out of …\libraries, and rename RTClib-aging-offset as RTClib.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

@terrypin999: I did not name the ZIP file: the name was automatically generated by GitHub. You may have to change it to RTClib.zip to make it work.

Why don’t you give your library a unique name

It's not my library. :stuck_out_tongue_closed_eyes:
My fork is not a competing project: it is a tool meant for submitting pull requests in order to help make this version of the library (which is the official one) better. This is the “GitHub way” of collaborating on open source projects. See the introduction to the guide Contributing to a project.

what needs testing?

My implementation of the idea you suggested. I did not copy the “simple edit to RTClib.h” you posted. Instead, I re-implemented the same functionality in a way that is consistent with the style and coding conventions of this library.

OK, understood. I think we're now close to singing from the same hymn
sheet. I've renamed your 'fork' ('version' in my terminology) to RTClib
as you suggested. (And as a check I've attached a comparison of the .h
and .cpp files). But when I then substitute that in my fairly complex
working project, (the only one I have using the DS3231), I get the
error:
'class RTC_DS3231' has no member named 'readAging'
I won't paste the entire 300 or so line error report, but here's a link:
https://www.dropbox.com/scl/fi/1qoy9j66y887uuwp31t5v/ErrorReport-Edgar.txt?rlkey=4hgejw9rcq7dyqlppaqtwd8r8&raw=1
If you can write a minimalised demo sketch that you think should compile
with your version of RTClib then I'll try that.
Comparison of .cpp and .h:
https://www.dropbox.com/scl/fi/xbju9vph423uqkcz2pfym/CompareKeyFiles.jpg?rlkey=vjl7kmelhg8mlecsifh3esukf&raw=1
====================
On Sun, 24 Mar 2024 12:41:41 -0700, you wrote:

@terrypin999: I did not name the ZIP file: the name was automatically generated by GitHub. You may have to change it to RTClib.zip to make it work.

Why dont you give your library a unique name

It's not my library. :stuck_out_tongue_closed_eyes:
My fork is not a competing project: it is a tool meant for submitting pull requests in order to help make this version of the library (which is the official one) better. This is the GitHub way of collaborating on open source projects. See the introduction to the guide Contributing to a project.

what needs testing?

My implementation of the idea you suggested. I did not copy the simple edit to RTClib.h you posted. Instead, I re-implemented the same functionality in a way that is consistent with the style and coding conventions of this library.

@terrypin999 wrote:

here's a link [to the error report]

Thanks for that report! One noteworthy thing I see there is:

Multiple libraries were found for "RTClib.h"
 Used: C:\Users\terry\Dropbox\Electronics\Arduino\SKETCHES\libraries\RTClib
 Not used: C:\Users\terry\Dropbox\Electronics\Arduino\SKETCHES\libraries\RTClib-MyEdit
 Not used: C:\Users\terry\Dropbox\Electronics\Arduino\SKETCHES\libraries\RTClib-aging-offset

So it found three alternatives, and chose the one in the folder named like the library: “RTClib”. If this is a copy of RTClib-aging-offset, it should work.

error: 'class RTC_DS3231' has no member named 'readAging'
error: 'class RTC_DS3231' has no member named 'setAging'

I named the methods getAgingOffset() and setAgingOffset(), for consistency with the current naming conventions and the datasheet.

If you can write a minimalised demo sketch that you think should compile with your version of RTClib then I'll try that.

This compiles:
#include <RTClib.h>

constexpr int8_t calibratedAgingOffset = -50;

RTC_DS3231 rtc;

void setup() {
    rtc.begin();
    Serial.begin(9600);
    Serial.print("Initial aging offset: ");
    Serial.println(rtc.getAgingOffset());
    rtc.setAgingOffset(calibratedAgingOffset);
    Serial.print("New aging offset:     ");
    Serial.println(rtc.getAgingOffset());
}

void loop(){}

Comparison of .cpp and .h: [...]

OK, as expected.
For the record, here is the diff between adafruit:master and edgar-bonet:aging-offset, as computed by GitHub itself.

Yes, that was a copy of RTClib-aging-offset. Your sketch compiles here
too.
Sudden family emergency an hour or so ago. Will be out for most of
afternoon at least, so unsure when I can resume contact.
What's next step? You don't have a DS3231, right? I do, but it's my only
one and it's in that 'finished', cased project. Can you, perhaps with
help from another expert, suggest a sketch and schematic I can test that
would give you confidence?
Mon 25 Mar 2024 1148, UK.
On Mon, 25 Mar 2024 04:16:37 -0700, you wrote:

@terrypin999 wrote:

here's a link [to the error report]

Thanks for that report! One noteworthy thing I see there is:

Multiple libraries were found for "RTClib.h"
 Used: C:\Users\terry\Dropbox\Electronics\Arduino\SKETCHES\libraries\RTClib
 Not used: C:\Users\terry\Dropbox\Electronics\Arduino\SKETCHES\libraries\RTClib-MyEdit
 Not used: C:\Users\terry\Dropbox\Electronics\Arduino\SKETCHES\libraries\RTClib-aging-offset

So it found three alternatives, and chose the one in the folder named like the library: RTClib. If this is a copy of RTClib-aging-offset, it should work.

error: 'class RTC_DS3231' has no member named 'readAging'
error: 'class RTC_DS3231' has no member named 'setAging'

I named the methods getAgingOffset() and setAgingOffset(), for consistency with the current naming conventions and the datasheet.

If you can write a minimalised demo sketch that you think should compile with your version of RTClib then I'll try that.

This compiles:
#include <RTClib.h>

constexpr int8_t calibratedAgingOffset = -50;

RTC_DS3231 rtc;

void setup() {
   rtc.begin();
   Serial.begin(9600);
   Serial.print("Initial aging offset: ");
   Serial.println(rtc.getAgingOffset());
   rtc.setAgingOffset(calibratedAgingOffset);
   Serial.print("New aging offset:     ");
   Serial.println(rtc.getAgingOffset());
}

void loop(){}

Comparison of .cpp and .h: [...]

OK, as expected.
For the record, here is the diff between adafruit:master and edgar-bonet:aging-offset, as computed by GitHub itself.

I indeed do not have a DS3231.

Can you, perhaps with help from another expert, suggest a sketch and schematic I can test that would give you confidence?

I just wrote the test sketch below. The required connections are:

Arduino's I2C pins to a DS3231
Arduino's USB port to a computer running either the Arduino's serial monitor or a terminal emulator

Source code (click to expand/collapse)
#include <RTClib.h>

#ifdef MOCK_RTC

/* Mock DS3231 for testing this sketch without the actual hardware. */
class Mock_RTC_DS3231 : public RTC_Micros {
public:
    void begin() { RTC_Micros::begin(DateTime(F(__DATE__), F(__TIME__))); }
    int8_t getAgingOffset() { return aging_offset; }
    void setAgingOffset(int8_t offset) {
        aging_offset = offset;
        adjustDrift(-aging_offset * 200);  // exaggerate drift
    }
private:
    int8_t aging_offset;
};

#define RTC_DS3231 Mock_RTC_DS3231

#endif  // defined(MOCK_RTC)

RTC_DS3231 rtc;

const char help[] = "Available commands:\n\r"
        "  h: print this help\n\r"
        "  t: toggle printing RTC times\n\r"
        "  f: make the RTC fast\n\r"
        "  s: make the RTC slow\n\r"
        "  p: print the aging offset";

void setup() {
    rtc.begin();
    Serial.begin(9600);
    Serial.println("Ready.");
    Serial.println(help);
}

void loop() {
    /* Print RTC updates if asked to do so. */
    static bool do_print_times = false;
    if (do_print_times) {
        static DateTime last_printed_time;
        DateTime now = rtc.now();
        if (now != last_printed_time) {
            char buffer[] = "hh:mm:ss";
            Serial.println(now.toString(buffer));
            last_printed_time = now;
        }
    }

    /* Execute commands from the serial port. */
    switch (Serial.read()) {
        case 'h': Serial.println(help); break;
        case 't': do_print_times = !do_print_times; break;
        case 'f':
            Serial.println("setting aging offset to -128 (fast)");
            rtc.setAgingOffset(-128);
            break;
        case 's':
            Serial.println("setting aging offset to +127 (slow)");
            rtc.setAgingOffset(+127);
            break;
        case 'p':
            Serial.print("aging offset: ");
            Serial.println(rtc.getAgingOffset());
    }
}

The sketch is controlled by single-character commands sent through the serial port. Send h to get a summary of the available commands. You may check that:

printing the aging offset gets what you would expect
setting the RTC to run fast makes it run fast
setting it to run slow makes it run slow

I tested the sketch using a mock RTC which I left there for the record. It will not be used unless you #define MOCK_RTC.

OK, hope to be able to look at that tonight.
But yesterday I found I DID have another DS3231, as my AZ delivery last
year was a pack of two. So I assume I just run your sketch with this
single line commented out?
#define RTC_DS3231 Mock_RTC_DS3231
====================
On Tue, 26 Mar 2024 02:37:33 -0700, you wrote:

I indeed do not have a DS3231.

Can you, perhaps with help from another expert, suggest a sketch and schematic I can test that would give you confidence?

I just wrote the test sketch below. The required connections are:

Arduino's I2C pins to a DS3231
Arduino's USB port to a computer running either the Arduino's serial monitor or a terminal emulator

Source code (click to expand/collapse)
#include <RTClib.h>

#ifdef MOCK_RTC

/* Mock DS3231 for testing this sketch without the actual hardware. */
class Mock_RTC_DS3231 : public RTC_Micros {
public:
   void begin() { RTC_Micros::begin(DateTime(F(__DATE__), F(__TIME__))); }
   int8_t getAgingOffset() { return aging_offset; }
   void setAgingOffset(int8_t offset) {
       aging_offset = offset;
       adjustDrift(-aging_offset * 200);  // exaggerate drift
   }
private:
   int8_t aging_offset;
};

#define RTC_DS3231 Mock_RTC_DS3231

#endif  // defined(MOCK_RTC)

RTC_DS3231 rtc;

const char help[] = "Available commands:\n\r"
       "  h: print this help\n\r"
       "  t: toggle printing RTC times\n\r"
       "  f: make the RTC fast\n\r"
       "  s: make the RTC slow\n\r"
       "  p: print the aging offset";

void setup() {
   rtc.begin();
   Serial.begin(9600);
   Serial.println("Ready.");
   Serial.println(help);
}

void loop() {
   /* Print RTC updates if asked to do so. */
   static bool do_print_times = false;
   if (do_print_times) {
       static DateTime last_printed_time;
       DateTime now = rtc.now();
       if (now != last_printed_time) {
           char buffer[] = "hh:mm:ss";
           Serial.println(now.toString(buffer));
           last_printed_time = now;
       }
   }

   /* Execute commands from the serial port. */
   switch (Serial.read()) {
       case 'h': Serial.println(help); break;
       case 't': do_print_times = !do_print_times; break;
       case 'f':
           Serial.println("setting aging offset to -128 (fast)");
           rtc.setAgingOffset(-128);
           break;
       case 's':
           Serial.println("setting aging offset to +127 (slow)");
           rtc.setAgingOffset(+127);
           break;
       case 'p':
           Serial.print("aging offset: ");
           Serial.println(rtc.getAgingOffset());
   }
}

The sketch is controlled by single-character commands sent through the serial port. Send h to get a summary of the available commands. You may check that:

printing the aging offset gets what you would expect
setting the RTC to run fast makes it run fast
setting it to run slow makes it run slow

I tested the sketch using a mock RTC which I left there for the record. It will not be used unless you #define MOCK_RTC.

@terrypin999: No need to comment-out anything. The line you quoted is already hidden behind #ifdef MOCK_RTC.

Your sketch runs OK. My cased project uses a Nano. So I initially
started testing on my spare Nano. But I could not get a port recognised,
even with a basic sketch like Blink no hw. So concluded that the Nano
was faulty and now using a Mega.
Running without my DS3231 in circuit, to test your special sketch gave
this output:
11:52:43.488 -> Ready.
11:52:43.488 -> Available commands:
11:52:43.488 ->
h: print this help
11:52:43.488 ->
t: toggle printing RTC times
11:52:43.488 ->
f: make the RTC fast
11:52:43.488 ->
s: make the RTC slow
11:52:43.488 ->
p: print the aging offset
11:52:50.848 -> 40:30:00
11:52:50.848 -> 40:30:00
With the DS3231 in circuit:
11:55:52.925 -> Ready.
11:55:52.925 -> Available commands:
11:55:52.925 ->
h: print this help
11:55:52.925 ->
t: toggle printing RTC times
11:55:52.925 ->
f: make the RTC fast
11:55:52.925 ->
s: make the RTC slow
11:55:52.925 ->
p: print the aging offset
11:56:00.037 -> 00:51:12
11:56:00.506 -> 00:51:13
11:56:01.537 -> 00:51:14
11:56:02.521 -> 00:51:15
11:56:03.506 -> 00:51:16
11:56:04.537 -> 00:51:17
11:56:05.508 -> 00:51:18
11:56:06.539 -> 00:51:19
etc
And similar later tests.
I then applied aging of -128 with the f key. After a while, with output
reporting 01:03:00 at a timestamp of 12:07:47.52 I started a manual
analog stop watch. (I don't have time to work on a more elegant digital
method, for the reason I mentioned earlier.) I'll leave that running and
check occasionally. It's obviously going to take a long time even to
prove that it does run fast, and ACCURACY tests could take days/weeks.
So what evidence do you think sufficient before you proceed to publish?
====================
On Tue, 26 Mar 2024 02:37:33 -0700, you wrote:

I indeed do not have a DS3231.

Can you, perhaps with help from another expert, suggest a sketch and schematic I can test that would give you confidence?

I just wrote the test sketch below. The required connections are:

Arduino's I2C pins to a DS3231
Arduino's USB port to a computer running either the Arduino's serial monitor or a terminal emulator

Source code (click to expand/collapse)
#include <RTClib.h>

#ifdef MOCK_RTC

/* Mock DS3231 for testing this sketch without the actual hardware. */
class Mock_RTC_DS3231 : public RTC_Micros {
public:
   void begin() { RTC_Micros::begin(DateTime(F(__DATE__), F(__TIME__))); }
   int8_t getAgingOffset() { return aging_offset; }
   void setAgingOffset(int8_t offset) {
       aging_offset = offset;
       adjustDrift(-aging_offset * 200);  // exaggerate drift
   }
private:
   int8_t aging_offset;
};

#define RTC_DS3231 Mock_RTC_DS3231

#endif  // defined(MOCK_RTC)

RTC_DS3231 rtc;

const char help[] = "Available commands:\n\r"
       "  h: print this help\n\r"
       "  t: toggle printing RTC times\n\r"
       "  f: make the RTC fast\n\r"
       "  s: make the RTC slow\n\r"
       "  p: print the aging offset";

void setup() {
   rtc.begin();
   Serial.begin(9600);
   Serial.println("Ready.");
   Serial.println(help);
}

void loop() {
   /* Print RTC updates if asked to do so. */
   static bool do_print_times = false;
   if (do_print_times) {
       static DateTime last_printed_time;
       DateTime now = rtc.now();
       if (now != last_printed_time) {
           char buffer[] = "hh:mm:ss";
           Serial.println(now.toString(buffer));
           last_printed_time = now;
       }
   }

   /* Execute commands from the serial port. */
   switch (Serial.read()) {
       case 'h': Serial.println(help); break;
       case 't': do_print_times = !do_print_times; break;
       case 'f':
           Serial.println("setting aging offset to -128 (fast)");
           rtc.setAgingOffset(-128);
           break;
       case 's':
           Serial.println("setting aging offset to +127 (slow)");
           rtc.setAgingOffset(+127);
           break;
       case 'p':
           Serial.print("aging offset: ");
           Serial.println(rtc.getAgingOffset());
   }
}

The sketch is controlled by single-character commands sent through the serial port. Send h to get a summary of the available commands. You may check that:

printing the aging offset gets what you would expect
setting the RTC to run fast makes it run fast
setting it to run slow makes it run slow

I tested the sketch using a mock RTC which I left there for the record. It will not be used unless you #define MOCK_RTC.

Hello, and thanks for the test!
Before submitting a pull request, I would prefer to have clear evidence that the setting does affect the RTC’s drift rate. Rather than a stopwatch, I would rely on the Arduino serial monitor: it is already timestamping the received messages, with something like 30 ms of jitter. With this resolution, I would expect the RTC's drift to be visible after about 4 hours, and very clear after 8 hours. Do you think you could let it run for at least 8 hours in “fast” mode, and the same is “slow” mode? If so the procedure would be as follows:

hit f to make the RTC fast
hit t to start printing the RTC times
let the serial monitor capture a dozen or so timestamps
hit t again to avoid spamming the serial monitor
let it sit there for 8+ hours
repeat 2–4 to get a new series of timestamps
hit s to make the RTC slow
let it sit there for 8+ hours
repeat 2–4 to get a new series of timestamps

If it works, the received serial messages (timestamped by the serial monitor) should contain evidence that the adjustment works.
Regards,

Ok. It is underway, although my precise steps were not identical. What does ‘spamming the serial monitor’ mean? Just sending too fast? If so how does that repeat toggling affect that?
Basically I was just planning to see if I can detect any fast running after a few hours. It’s been a couple of hours so far and I’ll be checking it again shortly. If you wish I’ll restart and follow your steps exactly after that.
--
Terry
On 27 Mar 2024, at 14:16, Edgar Bonet @.***> wrote:
spamming the serial monitor

What does ‘spamming the serial monitor’ mean? Just sending too fast?

Sending too much. If the Arduino kept printing the time every second for 8+ hours, you would end up with so much stuff in that window that it would be difficult to locate the place where you changed from “fast” mode to “slow” mode. And you would not want to post the whole capture here.

If you wish I’ll restart and follow your steps exactly after that.

If you are confident that the test you are doing is essentially equivalent to what I wrote, then there is no need to restart.

On Wed, 27 Mar 2024 07:48:48 -0700, you wrote:
You're right about the redundancy of my stop watch, timestamps rule!
Here's my latest check, some three hours in..
The first two lines are:
12:03:08.038 -> setting aging offset to -128 (fast)
12:03:08.506 -> 00:58:21
The last line is
15:22:31.800 -> 04:17:44
That tells us that to nearest second, in 222s of real time, the DS3231
reported 222s. As expected, it's going to be a long test!
Just wondered if I'd not properly set it, but a check with your 'p'
command still correctly shows -128.
I'll leave it running - and try not to accidentally stop it! Maybe by
tomorrow morning...?
BTW, I note that the most I can copy/paste from the monitor is about
6,000 lines. I estimate there are about 15,000 lines now (15:48), as I
didn't grasp the importance of toggling off. I assume that with the
sketch now toggled off there's no risk of its not responding many hours
later to my next t command?

What does spamming the serial monitor mean? Just sending too fast?

Sending too much. If the Arduino kept printing the time every second for 8+ hours, you would end up with so much stuff in that window that it would be difficult to locate the place where you changed from fast mode to slow mode. And you would not want to post the whole capture here.

If you wish Ill restart and follow your steps exactly after that.

If you are confident that the test you are doing is essentially equivalent to what I wrote, then there is no need to restart.

Checked again after toggling reporting back on again.
I see my previous (flawed!) calculation of total seconds was
unnecessary. We can simply subtract the first pair of readings from the
last and look at the seconds element.
In this case subtract:
12:03:08.506 -> 00:58:21 from
18:41:07.113 -> 07:36:19
giving elapsed times of
06:37:59.607 -> 6:37:58
In the absence of decimal seconds, to nearest second that appears to
show a difference of between 1s and 2s. But it looks SLOW rather than
fast?

@terrypin999: Two things

You have to ignore the time that gets printed right after hitting the t key: this one is printed as you send the keystroke, not at a seconds boundary.

I think you got the subtraction wrong. I get:
18:41:07.113 -> 07:36:19
12:03:08.506 -> 00:58:21
────────────────────────
06:37:58.607 -> 06:37:58

This shows the RTC is slow by 0.6 s in 23878 s, which is about 25 ppm. This looks suspicious. Was any of those times caught right after hitting t? Could your computer's clock be running fast? Is it properly synchronized to an NTP server?

You’re right about the subtraction. But I don’t see why you assume the reported time is EXACTLY.06:37:58.000On 27 Mar 2024, at 20:00, Edgar Bonet @.***> wrote:
@terrypin999: Two things
You have to ignore the time that gets printed right after hitting the t key: this one is printed as you send the keystroke, not at a seconds boundary.
I think you got the subtraction wrong. I get:
18:41:07.113 -> 07:36:19
12:03:08.506 -> 00:58:21
────────────────────────
06:37:58.607 -> 06:37:58
This shows the RTC is slow by 0.6 s in 23878 s, which is about 25 ppm. This looks suspicious. Was any of those times caught right after hitting t? Could your computer's clock be running fast? Is it properly synchronized to an NTP server?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

I don’t see why you assume the reported time is EXACTLY 06:37:58.000

Not quite exactly, as there is about 30 ms of jitter. See my previous point number 1: if you ignore the time stamps printed after hitting t, all other timestamps are printed at full-second boundaries. This is because the Arduino is repeatedly (and very quickly) executing this piece of code:
DateTime now = rtc.now();
if (now != last_printed_time) {
    char buffer[] = "hh:mm:ss";
    Serial.println(now.toString(buffer));
    last_printed_time = now;
}

The RTC repeats the same time over and over again, and the sketch does not print it because it is always equal to last_printed_time. Then, once we cross a full-second boundary, the RTC returns a different time, and that one gets printed. The jitter is due in part to the time taken to go through the loop() (mostly the I2C communication time) and the handling of the serial data on the computer.

Ok, thanks, broadly understood. I’ll leave it running overnight.On 27 Mar 2024, at 20:39, Edgar Bonet @.***> wrote:
I don’t see why you assume the reported time is EXACTLY 06:37:58.000
Not quite exactly, as there is about 30 ms of jitter. See my previous point number 1: if you ignore the time stamps printed after hitting t, all other timestamps are printed at full-second boundaries. This is because the Arduino is repeatedly (and very quickly) executing this piece of code:
DateTime now = rtc.now();
if (now != last_printed_time) {
char buffer[] = "hh:mm:ss";
Serial.println(now.toString(buffer));
last_printed_time = now;
}
The RTC repeats the same time over and over again, and the sketch does not print it because it is always equal to last_printed_time. Then, once we cross a full-second boundary, the RTC returns a different time, and that one gets printed. The jitter is due in part to the time taken to go through the loop() (mostly the I2C communication time) and the handling of the serial data on the computer.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

On Wed, 27 Mar 2024 13:00:34 -0700, you wrote:

This shows the RTC is slow by 0.6 s in 23878 s, which is about 25 ppm. This looks suspicious. Was any of those times caught right after hitting t? Could your computer's clock be running fast? Is it properly synchronized to an NTP server?

Forgot to answer those in my last post.
"This looks suspicious."
Suspicious because? Slow instead of fast as specified? Too large?
"Was any of those times caught right after hitting t?"
Yes, I took the first time reported after using the t command. I'll
avoid that in future.
"Could your computer's clock be running fast?"
If so then by a tiny degree if I understand Win10 Pro 'Date & Time'
settings right:
https://www.dropbox.com/scl/fi/57whbwupl1y82bjt86hab/DateTimeSettings.jpg?rlkey=8jkxexsekfrj6tzmj2eczsqe4&raw=1
"Is it properly synchronized to an NTP server?"
Same comment.
I have not yet used the option to 'Sync now.

Here is a report taken about 40 mins since toggling:
10:42:28.471 -> 23:37:39
10:42:29.503 -> 23:37:40
10:42:30.488 -> 23:37:41
10:42:31.465 -> 23:37:42
10:42:32.496 -> 23:37:43
10:42:33.481 -> 23:37:44
10:42:34.465 -> 23:37:45
So the latest subtraction is
10:42:34.465 -> 23:37:45
12:03:08.606 -> 00:58:21
22:39:25.859 -> 22:39:24
If I correctly follow your earlier example, that implies it is running
about 1.8s slow (not fast), yes?
What's your next suggestion?
(I'd like to apply 5V externally to the Mega's 5V pin now, and remove
the USB supply so that I can use that cable for other work. OK?)
Thu 28 Mar 2024 1057, UK

[The RTC being slow by 0.6 s] looks suspicious because?

Because it is slow instead of fast.

I took the first time reported after using the t command.

OK. Then a drift computed using that time would be invalid.

If [my computer's clock is running fast] then by a tiny degree if I understand Win10 Pro 'Date & Time' settings right

I am not fluent with Windows. However, a synchronization period of 11+ hours seems to long for an NTP client. Mine (systemd-timesyncd) uses a poll interval of 32 seconds, which grows progressively as as the synchronization improves, up to a maximum of 34 min 8 s. This can keep the local clock to within a handful milliseconds from the reference server.
I suspect Windows may be periodically stepping the clock here, instead of fine-tuning its frequency in a step-less fashion, like an NTP server would do. If this is the case, maybe it would be better to temporarily disable the synchronization, and let the computer's clock run free, just to avoid unexpected clock discontinuities.

On Thu, 28 Mar 2024 09:33:21 -0700, you wrote:

[The RTC being slow by 0.6 s] looks suspicious because?

Because it is slow instead of fast.

I took the first time reported after using the t command.

OK. Then a drift computed using that time would be invalid.

If [my computer's clock is running fast] then by a tiny degree if I understand Win10 Pro 'Date & Time' settings right

I am not fluent with Windows. However, a synchronization period of 11+ hours seems to long for an NTP client. Mine (systemd-timesyncd) uses a poll interval of 32 seconds, which grows progressively as as the synchronization improves, up to a maximum of 34 min 8 s. This can keep the local clock to within a handful milliseconds from the reference server.
I suspect Windows may be periodically stepping the clock here, instead of fine-tuning its frequency in a step-less fashion, like an NTP server would do. If this is the case, maybe it would be better to temporarily disable the synchronization, and let the computer's clock run free, just to avoid unexpected clock discontinuities.

OK, made changes shown here:
https://www.dropbox.com/scl/fi/57whbwupl1y82bjt86hab/DateTimeSettings.jpg?rlkey=8jkxexsekfrj6tzmj2eczsqe4&raw=1
Do you have enough data for time being? Let me know if you want it run
overnight again. If so specify any settings, and whether a continuation
or a restart.
I'd like to use the USB for other stuff tomorrow. Obviously my idea of
substituting an external 5V is not possible if I want monitor usage.
(Three buttons instead of serial inputs t, f?)
User input aside, does it even need continuous running? I could just
reconnect the USB and take a pair of readings at any time, yes?

Here's the latest:
10:42:33.481 -> 23:37:44
10:42:34.465 -> 23:37:45
------------------------ toggled reporting on at about 21:40
20:45:35.064 -> 09:40:45
20:45:35.205 -> 09:40:46
20:45:36.236 -> 09:40:47
20:45:37.221 -> 09:40:48
20:45:38.205 -> 09:40:49
20:45:39.234 -> 09:40:50
20:45:40.218 -> 09:40:51
So that gives
20:45:40.218	09:40:51.000 i.e. 21:40:51.000 in 24 hr format
12:03:08.038	00:58:21.000
08:42:32.180	08:42:30.000
Implying a falling behind of about 6 seconds daily. Not a desirable
result ;-)

Meant to include this:
https://www.dropbox.com/scl/fi/n24qbj7b4r0r6f0zfss0r/Win10Settings.jpg?rlkey=hwv70ffgjl4bd44tolbvz63mg&raw=1

User input aside, does it even need continuous running? I could just reconnect the USB and take a pair of readings at any time, yes?

Yes. As long as the Arduino and the RTC are continuously powered, the USB link can be removed and re-established at will.

On Fri, 29 Mar 2024 04:20:07 -0700, you wrote:

User input aside, does it even need continuous running? I could just reconnect the USB and take a pair of readings at any time, yes?

Yes. As long as the Arduino and the RTC are continuously powered, the USB link can be removed and re-established at will.

Had no further suggestions yesterday so last night changed aging to
+127, to reverse the previous -128 session. Toggled on again at 12:48
today to extract these results:
20:46:55.213 -> 09:42:06
20:46:56.245 -> 09:42:07
22:09:46.465 -> setting aging offset to -128 (fast)
22:10:02.874 -> setting aging offset to +127 (slow)
22:10:16.891 -> 11:05:27
22:10:17.359 -> 11:05:28
22:10:18.344 -> 11:05:29
22:10:19.328 -> 11:05:30
22:10:20.360 -> 11:05:31
22:10:21.344 -> 11:05:32
22:10:22.329 -> 11:05:33
22:10:23.360 -> 11:05:34
22:10:24.345 -> 11:05:35
22:10:25.329 -> 11:05:36
12:48:19.439 -> 01:43:28
12:48:19.580 -> 01:43:29
12:48:20.564 -> 01:43:30
I'll leave you to extract anything of interest.
Visual inspection of the running sketch compared with an accurate online
clock is crude but encouraging. Here's a video:
https://www.dropbox.com/s/y9oyf1sg36b2t5m/EdgarLastResults.mp4?raw=1
Finished all testing for now. Let me know specific details if you need
more.
BTW, is that fast/slow reversal a code error or what?

@terrypin999: I checked your data, converted everything to seconds to make the calculations easier, and here is what I see:
During the period around 22:10, the RTC was behind the PC by 39,889.344 seconds. During the next recorded period (around 12:48), the RTC was behind the PC by 39,891.528 seconds. Thus, the RTC lost 2.184 seconds over the course of 52,682.184 seconds. This is a drift rate of −41.4 ppm.
To me, this looks reasonable for a “slow” mode.
I will prepare a pull request.

On Fri, 29 Mar 2024 13:10:58 -0700, you wrote:

@terrypin999: I checked your data, converted everything to seconds to make the calculations easier, and here is what I see:
During the period around 22:10, the RTC was behind the PC by 39,889.344 seconds. During the next recorded period (around 12:48), the RTC was behind the PC by 39,891.528 seconds. Thus, the RTC lost 2.184 seconds over the course of 52,682.184 seconds. This is a drift rate of ?41.4 ppm.
To me, this looks reasonable for a slow mode.
I will prepare a pull request.

Thanks, good work.


Front end currently not displaying

When the front end is launched, the screen opened is blank with the title 'Vue App'. It appears this bug was introduced in commit fefb780 when the manager files were updated.

This seems to be something else than issue #93. Still, can you try to clear your cache and launch again from the command prompt?

Still the same error after clearing the cache. This works fine on the current main branch by the way (I undid the changes). It's just the commit linked above where there is the issue. I believe @Femkemilene and @QuentinLETERRIER also had this bug.


Parquet auto-repartitioning interval

Hi
We are considering using Time Series Insights for large-scale operations and need a bit more information on exactly when the repartitioned copy, mentioned in this section, is created. We have had test data streaming for the past two weeks, but the PT=TsId folder has yet to be generated in the storage account container.
Please advice.
Kind regards,
Jon K. Sorensen

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7af1e801-c95c-487d-d5c4-c70688e5488c
Version Independent ID: f26d4729-f3d7-f933-5fb2-9e3447a6ebf6
Content: Storage overview - Azure Time Series Insights Gen2
Content Source: articles/time-series-insights/concepts-storage.md
Service: time-series-insights
GitHub Login: @deepakpalled
Microsoft Alias: dpalled

Hello @jokoso
Our SME will review your feedback and will get back to you soon.

The repartitioning is done based on having a minimum number of files that satisfy a proprietary metric that is subject to change.  If there is no PT=Tsid folder, there is likely not enough data in the PT=Time folder to be repartitioned.  If there are hundreds of 20 MB Parquet files in the PT=Tsid folder and still no PT=Time, please file a support ticket.  If there are only tens of files, then there’s no need for concern.
It’s important to note that direct access to the Parquet files should be limited to the PT=Time folder.  The PT=Tsid folder is used by TSI and is not guaranteed to be consistent when accessed outside of TSI.
Access to Parquet files should be only “read-only”. Do not edit or delete Parquet blobs.

@jokoso Did you get the information you needed to understand the situation? (We're also adding related information to documentation.) If so, please close this issue. Thanks!

Yes. Thank you.
// Jon


Does not generate accurate id's for JSON Schema inputs with definitions

Describe the bug
Related to next branch.
Given this schema:
{
  "properties": {
    "browser_action": {
        "$ref": "#/definitions/action",
        "description": "Use browser actions to put icons in the main Google Chrome toolbar, to the right of the address bar. In addition to its icon, a browser action can also have a tooltip, a badge, and a popup."
    },
    "page_action": {
        "$ref": "#/definitions/action",
        "description": "Use the chrome.pageAction API to put icons inside the address bar. Page actions represent actions that can be taken on the current page, but that aren't applicable to all pages."
    },
  }
}

Two models will be created, BrowserAction and PageAction even though they should reference the same model which is whatever the model name is for  "$ref": "#/definitions/action",
This problem occurs as part of draft-4 chrome-manifest.json blackbox test.

Duplicate of https://github.com/asyncapi/modelina/issues/232


Tieba config changed. 404 error.

Should consider switching to mobile web link.
Error Showed As:

Suspicious Code:

change '&pn=0&apage=1' to '&fr=index' should solve the 404 problem, but seems like beautiful soup cannot select thread list any more, the return is always null.


Questions about L2 regularization on lookup parameters

Hi, all
Thanks for the great tool. I enjoyed both using it and reading the code.
When looking into the SGD training part, I met a question in cnn/training.cc. More specifically, it's about the L2 regularization on lookup parameters.
According to my understanding, the cnn::LookupParameters stores a sparse representation of the training example. For each instance, only a few dimensions are fired and filled into the cnn::LookupParameters::non_zero_grads. When using SGD to train a model, the original form of L2 regularization require updates over all the parameters (not only the non_zero_grads). But codes in the cnn/training.cc (line:48 to line:57) seems only updates on the non_zero_grads. So I am a bit confused if there is any thing I missed?
According to section 5.1 in http://research.microsoft.com/pubs/192769/tricks-2012.pdf, there is a trick which guarantees correct L2 regularization updates on sparsely represented training example. I am not sure if this trick is employed. Could anyone kindly advise on this? Thanks so much.

Hi Yijia, yes, this is indeed a problem with CNN that hasn't been well
documented at all. It's high on the list of things to fix (using the trick
you pointed out)-- I hope to get to it in the next couple of weeks since a
number of people have raised concerns about this. In the mean time- dropout
and gaussian noise are available. :)
On Thu, Dec 10, 2015 at 9:06 PM, Yijia Liu<EMAIL_ADDRESS>wrote:

Hi, all
Thanks for the great tool. I enjoyed both using it and reading the code.
When looking into the SGD training part, I met a question in
cnn/training.cc. More specifically, it's about the L2 regularization on
lookup parameters.
According to my understanding, the cnn::LookupParameters stores a sparse
representation of the training example. For each instance, only a few
dimensions are fired and filled into the
cnn::LookupParameters::non_zero_grads. When using SGD to train a model,
the original form of L2 regularization require updates over all the
parameters (not only the non_zero_grads). But codes in the cnn/training.cc
(line:48 to line:57) seems only updates on the non_zero_grads. So I am a
bit confused if there is any thing I missed?
According to section 5.1 in
http://research.microsoft.com/pubs/192769/tricks-2012.pdf, there is a
trick which guarantees correct L2 regularization updates on sparse
represented training example. I am not sure if this trick is employed.
Could any kindly advise on this? Thanks so much.
—
Reply to this email directly or view it on GitHub
https://github.com/clab/cnn/issues/25.

@redpony Hi Chris, Thanks for quick reply. Hope it can be fixed in near future :-)

This is fixed in the v2 branch, but is pending merging into the main branch.


cannot add an array of text objects using addText() for addSlidesForTable()

Hi Team,
I'm aware of being able to use the addText() option for the method addSlidesForTable() to include text in master slide, as per issue #427 .
var pptx = new PptxGenJS();
var objOpts = {x:1.10, y:0.8, h:"100%", master:"MASTER_SLIDE", w:10.3};
objOpts.addText = {
 text: "Table Title",
 opts: {
   x: 0.5,
   y: 0.5,
   fontSize:12
 }
};
pptx.addSlidesForTable('table-id', objOpts);

However, that only allow adding of one text object but does not allow an array of text objects, as shown below. An array of text objects will result in no text being inserted into the slide at all.
objOpts.addText = ([
 {
   text: "Text 1",
   opts: {
         x: 0.5,
         y: 0.5,
         fontSize: 18
     }
 }, {
    text: "Text 2",
    opts: {
         x: 0.5,
         y: 1.0,
         fontSize: 20
     }
 }
]);

I am aware that I can also make use of the objects option in pptx.defineSlideMaster() to add texts, however that would result in the added text not editable in the slide. (I would like it to be editable)
pptx.defineSlideMaster({
 title: "MASTER_SLIDE",
 objects: [{
  text: {
   text: "Text 1",
   options: {
     x: 0.5,
     y: 0.5,
     fontSize: 18
   }
  }
 }, {
  text: {
    text: "Text 1",
    options: {
     x: 0.5,
     y: 0.5,
     fontSize: 18
   }
  }
 }]
});

Kindly assist.
Thank you.

Reading through this thread I'm confused as to why it's not possible to add more than one piece of editable text to a slide generated via tableToSlides.  The normal usage of the slide.addText method accepts an array of objects whereas the tableToSlides version only accept one object. Is this intentional?

@elezotte - this section of the code has aged quite a bit and wasn't kept up to date with its peer methods.
I'll have to update it to handle array instead of solitary objects.
https://github.com/gitbrent/PptxGenJS/blob/0f115ab46bd4f6cb18e26f418194597688b19402/src/gen-tables.ts#L551-L554

Hi, I know this is kinda old, but was it resolved?


tutorial-08 vertex shader still at level 140

The tutorial-08 vertex shader needs to be at version #150 in order to use inverse.
It is still at #140.

Thanks for the report. I'll close as a duplicate of #1311


Remove lotus dependency and update current dependencies

This PR updates underlying dependencies

[x] Removes lotus dependency because that introduces too many unnecessary dependencies making downstream consumption very hard
[x] Upgrade current dependency to the latest version

Breaking change - The network defaults to Testnet in the latest go-address. Consumers of this package needs to explicitly set address.CurrentNetwork if they would like to use for mainnet addresses.

@xinaxu, the CI is failing due to some detection of CGO introduction (nice that I included this check-in CI!)
I've updated a bit some CI stuff to be sure this might not be a red herring.
Do you mind rebasing to master so we can check again?

Rebased with upstream main branch

Looking good, thanks!


How to change color of the Judgement line with the RGB shader?

What is your question?
So I'm trying to make a mod where at a certain point the notes turn gray, but I've run into a problem where the judgement line note colors aren't changing with the rgb shader. Is there any way to fix this? (e.g. when you press the right arrow, the right note on the judgement line is still red when its supposed to be gray).

Btw this is what I mean.


导入 ChatCompletion报错。

File "text_translation.py", line 229, in translate_text
completion = openai.ChatCompletion.create(
AttributeError: module 'openai' has no attribute 'ChatCompletion'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "text_translation.py", line 363, in
translated_short_text = translate_and_store(short_text)
File "text_translation.py", line 281, in translate_and_store
translated_text = translate_text(text)
File "text_translation.py", line 253, in translate_text
completion = openai.ChatCompletion.create(
AttributeError: module 'openai' has no attribute 'ChatCompletion'
怎么解决啊大佬。

可能是openai的python导入问题。或者api key停用了。
参考https://github.com/jesselau76/ebook-GPT-translator/issues/7 试试重装openai,或换环境试试


Match hibernate validator dependency version with Spring Boot 2 dependency.

Codecov Report

Merging #183 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #183   +/-   ##
=========================================
  Coverage     63.57%   63.57%
  Complexity      568      568
=========================================
  Files            74       74
  Lines          1985     1985
  Branches        370      370
=========================================
  Hits           1262     1262
  Misses          575      575
  Partials        148      148

Continue to review full report at Codecov.

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

Thank you!


Code Bogosort algorithm :infinity: in any programming language you like :computer:

Code Bogosort algorithm :infinity: in the relevant language folder :file_folder: in the main branch.
if language folder doesn't exist you can make folder :file_folder: and add your program in it.
You can find new languages in this Programming Language List.
Give star :star: to this repository.

can you assign this issue to me? I would like to contribute.

Hello There @iParadocx , I would like to contribute to this, Could you please assign me?
Thank you.


fix: avoid fast loop on replacement failure

Add an AtomicBool per RemoteLayer, use it to mark together with closed semaphore that remotelayer is unusable until restart or ignore+load.
https://github.com/neondatabase/neon/issues/3533#issuecomment-1431481554
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.

still no idea how to reproduce this
suspicion is that it is not reproducable after #3558, but the deployment where this was encountered did not have #3558

@problame wanted to add an enum and a lock, I don't think it's necessary for this but let's haggle that. Sadly we still have no reproducer even though it has happened twice in production.
After today it should no longer be possible, but this possibility was not seen earlier so #3558 was not hotfixed, still cannot see it.


Add typescript as dev dependency

If typescript isn't installed as a dependency the build script relies on the user's installed version which can cause issues. Might be related to #4

Typescript is in devDependencies


Refactor errors

Wrap all errors to implement net.Error.
Caller of Read/Write can check err.(net.Error).Temporary() to determine whether the error is fatal or not, as with raw net.UDPConn.
Split errInvalidPacketLength from errLengthMismatch.
errInvalidPacketLength is used for errors caused by incoming data, which must be discarded, and errLengthMismatch is used for errors due to the data generated by the library, which is a fatal internal error.

rebased


TryGetDownloadCountForPackageRegistration can throw a modified enumerator exception

This results in an HTTP 500 for the user. This has happened at least 6 times in the last 7 days on PROD.
AI query
requests
| where timestamp > ago(90d)
| where name contains "PushPackageApi"  or name contains "verify"
| where name startswith "PUT" or name startswith "POST"
| summarize sum(itemCount) by bin(timestamp, 1d), tostring(resultCode)

requests
| where timestamp > ago(7d)
| where name contains "PushPackageApi"  or name contains "verify"
| where name startswith "PUT" or name startswith "POST"
| where resultCode == 500
| join kind=inner (
   exceptions
) on $left.operation_Id == $right.operation_Id
| where innermostMessage == "Collection was modified; enumeration operation may not execute."
| project problemId

This is where the exception is being thrown from:
https://github.com/NuGet/NuGetGallery/blob/4607a1d3d8475c22e1e474fe32c2bfeab39c049b/src/NuGetGallery/Services/CloudDownloadCountService.cs#L53
Probably need some locking.

I've merged the fix to dev branch. It is not validated anywhere except my devbox.


Add a simple graph library

[This is identical to #36, only to refresh the diff after cherry-picking. Sorry for the noise!]
Add a dead simple implementation of the adjacency list based directed graph.
Currently the library is very simple and imposes many restrictions to ensure
safety and performance, but should suffice for internal use in macposts.
This is the first step towards dropping SNAP (#30).

Changes:
* src/graph.h: New file.
* src/graph.cpp: New file. Note that at the end of this file are some examples on how to use this library.

* CMakeLists.txt: Include the new file.

@psychogeekir I think this is ready to be reviewed. There is not many things in this module but I plan to move graph algorithms and utilities (e.g., shortest path) to it in the future, after we successfully drop SNAP.
Note that this module has a very different design from the SNAP one (it is actually modeled after the Rust version). Most notably, DiGraph, Node, and Link are all non-copyable. Although that would bring more work in the process of dropping SNAP, I believe it will be valuable in the future.
Also, currently it does not support removing links/nodes because that is complicated to implement correctly. I think right now only workzone related things requires that, and workzone has not been functional for years? I assume it is okay to drop the workzone thing temporarily. If you disagree, please let me know. I will add that.
As for merging, I am not sure what the current release plan is, but considering that we have accumulated a few new functionalities, I would prefer a new release before we merging this. As a side note, I think the next release would be v0.4.0, and please do not forget to update the CHANGELOG when you tag the release -- it would be used on the release page.
Thanks!

That’s fantastic! Thanks a lot for your efforts. I will take a look this month.I did not use work zone before. Recently I added a functionality of supporting time-dependent link attributes to model network disruptions. But it won’t remove links completely because it is difficult to consider network topology change in the DTA. So I think it is OK to drop work zone.I will release it as v0.4.0 as you suggested.Thanks,On Nov 3, 2023, at 20:24, kunhtkun @.***> wrote:
@psychogeekir I think this is ready to be reviewed. There is not many things in this module but I plan to move graph algorithms and utilities (e.g., shortest path) to it in the future, after we successfully drop SNAP.
Note that this module has a very different design from the SNAP one (it is actually modeled after the Rust version). Most notably, DiGraph, Node, and Link are all non-copyable. Although that would bring more work in the process of dropping SNAP, I believe it will be valuable in the future.
Also, currently it does not support removing links/nodes because that is complicated to implement correctly. I think right now only workzone related things requires that, and workzone has not been functional for years? I assume it is okay to drop the workzone thing temporarily. If you disagree, please let me know. I will add that.
As for merging, I am not sure what the current release plan is, but considering that we have accumulated a few new functionalities, I would prefer a new release before we merging this. As a side note, I think the next release would be v0.4.0, and please do not forget to update the CHANGELOG when you tag the release -- it would be used on the release page.
Thanks!
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


[firebase_auth]: Can not change photoURL of Google User

Is there an existing issue for this?

[X] I have searched the existing issues.

Which plugins are affected?
Auth
Which platforms are affected?
Android, iOS
Description
When using user.updatePhotoURL(newPhoto) on a user with provider google.com the photoURL is not updated
Reproducing the issue

Create Google User.
Run user.updatePhotoURL(newPhoto)

Firebase Core version
2.30.0
Flutter Version
3.19.0
Relevant Log Output
No response
Flutter dependencies

Expand Flutter dependencies snippet

Replace this line with the contents of your `flutter pub deps -- --style=compact`.

Additional context and comments
No response

Never mind