Using fs.watch instead of fs.watchFile under Windows (fixes #1803)

See discussion at #1803. Someone else needs to test that this actually works under Windows.

... we definitely shouldn't be platform sniffing here. Let's find a way to use fs.watch properly, or open a Node.js bug ticket if it can't be done.

@jashkenas: wouldn't we rather be sticking with the interface that we've been using and we know works on unix-based platforms and only have the platforms that need to use the new interface adopt it right now?

... perhaps, but it would be nice to know if fs.watchFile is sticking around permanently, or is likely to disappear in the near future.

Let's find a way to use fs.watch properly, or open a Node.js bug ticket if it can't be done.

To clarify, I'm not the only one experiencing this behavior; it's described at Node issue 1986. Because there's no mtime argument, it would appear that the only workaround would be something like this:
lastModified = null
fs.watch source, (event) ->
  return unless event is 'change'
  fs.stat source, (err, stat) ->
    return if lastModified is stat.mtime.getTime()
    lastModified = stat.mtime.getTime()
    onChange()

Is that really less kludgy than testing whether we're on Windows?

it would be nice to know if fs.watchFile is sticking around permanently, or is likely to disappear in the near future.

I imagine it'll stick around for 0.6.x... doesn't the Node team freeze the API for stable releases?


CONTRIBUTING.md

We may need a contributing guidelines (CONTRIBUTING.md) in the future. @NingW101  @gyagp

+1

Add linting check(including formatting check)
https://github.com/intel/web-ai-showcase/pull/33

Integrate into CI

linting check
build process check

Update CONTRIBUTING.md for the guidelines to make contribution

Closed via https://github.com/intel/web-ai-showcase/pull/36


Restrict access to /admin based on IP address?

As above, any suggestions on how to do this or any packages that will allow iron-router to do this?

I'm not involved with this project (just a user), but to me this feels like the kind of feature that would be better implemented at the reverse-proxy or load balancer level, to minimize complexity in the application layer.
One opinion on the matter :smile:

Thanks @logankoester I'm starting to think actually that a plugin for iron-router might do the trick. I'm not sure that having it implemented at the load balancer/reverse-proxy level would cover all the requests on a predominantly client-side app

@malpaso That's a really interesting point. A bit embarrassing... I was thinking in the context of a traditional web service when I made that suggestion, and in retrospect it seems obvious that a Meteor app might allow access to the /admin views without ever actually hitting the /admin/* HTTP endpoints from the client.
Definitely something I need to remember when working with Meteor myself. :fearful:
With that in mind, your iron-router plugin plan sounds solid. Another approach might be to implement routing-aware IP whitelisting on Sikka, an application-level firewall for Meteor.
See issues https://github.com/meteorhacks/sikka/issues/8 and https://github.com/meteorhacks/sikka/issues/7 on that project for work already in progress.


change twitter-connector to x-connector

Hi @ivy-rew, I see some failures in the Jenkins pipeline. Is it OK?

Hi @ivy-rew, I see some failures in the Jenkins pipeline. Is it OK?

yes, I've re-triggered the build ... seems to have been an early attempt to resolve the metadata from maven, while it was not yet released. all fine now :+1:

Hi @ivy-rew, I still see this connector on market.axonivy.com is using the old maven information. I think it because it get from the market-cache. Could you help me check it?


Update packages

PR-Codex overview
This PR updates various @thirdweb-dev packages to their nightly versions for enhanced features and bug fixes.
Detailed summary

Updated @thirdweb-dev/chains, @thirdweb-dev/react, @thirdweb-dev/sdk, and @thirdweb-dev/wallets to nightly versions
Removed @thirdweb-dev/sdk version 0.0.0-dev-38469bc3760145bd2a8a2aace1b65771bda476f9-20240411051025
Updated dependencies and peer dependencies to align with the new versions

The following files were skipped due to too many changes: pnpm-lock.yaml

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

outdated as part of #2512


Health Checker major updates

Reason:
Changed up to allow Health Checker to pass a list of servers, including from the pipeline. In order to be more efficient, wanted to avoid making calls that aren't going to change from each server.
Still need to verify testing from Edge and how to handle from a 2013 server against a 2019 box. This would be ideal before merge and release. However, this will not be completed till after my return from vacation.
Fix:
Short description of the fix
Validation:
Resolved #1321
Resolved #546

Just for tracking purposes:
Track the split permissions indicator by the help of the custom class and improve the check to avoid using throw in non-error scenarios: https://github.com/microsoft/CSS-Exchange/pull/1350


Added the 'spo sitedesign run status get' command solving #780

Added the 'spo sitedesign run status get' command solving #780

Coverage remained the same at 100.0% when pulling efcd414f18f726c58db1c7ec1a12557ae7fb9ce0 on waldekmastykarz:spo-sitedesign-run-status-get into d6e0424065562a1d84b0d6fe100966d891282969 on pnp:dev.

Merged manually.


Remove data within specified timestamp range?

Hello @nakabonne, great job with the library! I have been looking through the code and am unable to find out how to delete data within specified timestamp range. Is this feature implemented?
The closest I was able to find was inside storage_examples_test.go#L129 where you use a os.RemoveAll(tmpDir).
Thank you and appreciate your response!

Hi @bartmika thank you for proposing and such a kind word! As you mentioned the only way to delete data is removing directories manually.
However, I'm looking to support a new method like Delete(start, end int64) (I didn't open an issue as I don't need it soon)
I think it should remove data in partitions within the specified range. Let's say for example. You give this range.
_ := storage.Delete(1600000002,<PHONE_NUMBER>)

It will delete only the second partition.
  │      ┌───────────────────┐ max:<PHONE_NUMBER>
  ├──Ignore──>  Partition
  │      └───────────────────┘ min:<PHONE_NUMBER>
  │
  │      ┌───────────────────┐ max:<PHONE_NUMBER>
  ├──Delete──>  Partition
  │      └───────────────────┘ min:<PHONE_NUMBER>
  │
  │      ┌───────────────────┐ max:<PHONE_NUMBER>
  └──Ignore──>  Partition
         └───────────────────┘ min:<PHONE_NUMBER>

I really need this feature.
I am looking for a retention rule feature that automatically removes the old partition.

@wattanakorn495 Right. We may want some kind of option like WithRetentionDuration.
	storage, err := tstorage.NewStorage(
		tstorage.WithDataPath("./data"),
		tstorage.WithRetentionDuration(time.Hour*24)
	)

I'm planning to support it as well as Delete(start, end int64).

Both are cool proposals. I really appreciate you!

Hello @nakabonne. I read your awesome article about this repository with a lot of fun.
I think I can help this Delete  stuff, but before do that, I'd like to make some points more claer out.
Does Delete delete only by Partisions, or by DataPoints ?
If an answer to this question is "No" (thus Delete can delete by DataPoints.), then next question appears.
Delete should distinguish Metric and Labels ?
Because Partition has Metric and Labels for manage data points, I think Delete also  should distinguish them. So Delete can be defined either like below

Delete(from, to Row) error
Detete(from, to int64, met Metric, labels []Labels)

Using Row to specify from and to point, or using from-to as timestamp(int64) and taking Metric and []Labels to determine which metric to delete.
Or like the example in thid thread you put, delete points in range in all metrics.

Delete(from, to int64) error

Hi @nakabonne just wanted to give this issue a poke due to @hitoshi44 recent response as this would be an awesome feature to have! Thank you and hope you had a great New Year/holidays.


Optimize expiration of tokens

The previous approach was doing a separate query to delete the SocialToken for each user (except users with recent logins or running jobs) and was taking longer and longer as we accumulate users. This changes it so we're primarily querying tokens (which should always be a fairly short list) and then doing separate queries for each token to confirm the user doesn't have running jobs.
I imagine it's possible to do it as a single query but this is probably good enough.

The New Relic graph from when this was deployed is fun.


Logger usage bug reported by MyPy PR

In https://github.com/python/typeshed/pull/5849, something was exposed that looks like a bug:
SinbadCogs (https://github.com/mikeshardmind/SinbadCogs.git)
+ anticommandspam/core.py:80: error: Unexpected keyword argument "user_id" for "info" of "Logger"

If this is a a normal logger, this is the wrong syntax at https://github.com/mikeshardmind/SinbadCogs/blob/ebf7b44436a8db877151836c6fcb394445fb3c5b/anticommandspam/core.py#L80-L84 .
>>> import logging
>>> author_id = 2
>>> log.info(
...        "User: {user_id} has been blocked temporarily for "
...        "hitting the global ratelimit a lot.",
...        user_id=author_id,
...    )
>>> log.setLevel(logging.INFO)
>>> log.info(
...     "User: {user_id} has been blocked temporarily for "
...     "hitting the global ratelimit a lot.",
...     user_id=author_id,
... )

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File<EMAIL_ADDRESS>line 1446, in info
    self._log(INFO, msg, args, **kwargs)
TypeError: _log() got an unexpected keyword argument 'user_id'

This is the correct syntax:
>>> log.warning(
...     "User: %(user_id)s has been blocked temporarily for "
...     "hitting the global ratelimit a lot.",
...     {"user_id":author_id},
... )

While I'd like format syntax to have been valid, logger is much older than format. I'm guessing if you actually enable INFO log printing, this breaks?

Thanks for reaching out on this. It's a { style logging formatter, (not visible here as this is an extension to other code not in this repository and attaches to an existing logger) but it's still invalid currently. I'll add a commit fixing this


defaultOpenLevel sidebar prop not working

To Reproduce
The sidebar tab remains closed by even though defaultOpenLevel: 1

Create new fumadocs project using npm create fumadocs-app

Create content/docs/test/test.mdx to display "test.mdx" under a "test" tab in sidebar

Update app/docs/layout.tsx with sidebar={{ defaultOpenLevel: 1 }}

import { DocsLayout } from "fumadocs-ui/layouts/docs";
import type { ReactNode } from "react";
import { baseOptions } from<EMAIL_ADDRESS>import { source } from "@/lib/source";

export default function Layout({ children }: { children: ReactNode }) {
  return (
    <DocsLayout
      tree={source.pageTree}
      {...baseOptions}
      sidebar={{ defaultOpenLevel: 1 }}
    >
      {children}
    </DocsLayout>
  );
}

Current vs. Expected behavior
Currently, folders in sidebar remain closed when using defaultOpenLevel prop.
The expected behavior is that they open to the specified level.
Provide environment information
Operating System:
  Platform: darwin
  Arch: arm64
  Version: Darwin Kernel Version 23.5.0: Wed May  1 20:14:38 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T6020
  Available memory (MB): 32768
  Available CPU cores: 12
Binaries:
  Node: 20.18.0
  npm: 10.8.2
  Yarn: 1.22.1
  pnpm: 9.1.2
Relevant Packages:
  next: 15.0.3 // Latest available version is detected (15.0.3).
  eslint-config-next: 15.0.3
  react: 18.3.1
  react-dom: 18.3.1
  typescript: 5.6.3
Next.js Config:
  output: N/A

Which area(s) are affected? (Select all that apply)
UI
Additional context
No response

Oh yes the initial sidebar level was mistakenly increased to 1, should be fixed now

defaultOpenLevel still doesn't seem to work, using 14.5.2

The fix is on the latest version, have you updated?

working now with 14.5.4, ty!


One datanode is inactive

Describe the bug
A clear and concise description of what the bug is.
one datanode is inactive , calico and datanode pods always restart ,  the host where the inactive datanode run
Environment
Describe your server system version, kernel version
system version : centos 7.9
kernel version: 3.10.0-1160.el7.x86_64
kubernetes version: v1.21.6
docker version: 20.10.10
disk: HDD
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
cfs-server progress sometimes being killed because OOM.
Additional context
Add any other context about the problem here.

We have assisted users to solve this problem online, not a bug. @gamestart


NTR: negative regulation of phospholipase C/protein kinase C signal transduction

Please provide as much information as you can:

Suggested term label:

negative regulation of phospholipase C/protein kinase C signal transduction

Definition (free text)

Any process that stops, prevents or reduces the frequency, rate or extent of phospholipase C/protein kinase C signal transduction.

Reference, in format PMID:#######
32033984

Gene product name and ID to be annotated to this term

Q91WG7 Dgkg

Parent term(s)
GO:1902532
GO:0141212

Children terms (if applicable) Should any existing terms that should be moved underneath this new proposed term?

Synonyms (please specify, EXACT, BROAD, NARROW or RELATED)

Cross-references

For enzymes, please provide RHEA and/or EC numbers.

Can also provide MetaCyc, KEGG, Wikipedia, and other links.

Any other information

Proposed DGK gamma action


Documentation: Placeholders & Todos

Tracking item from #91
fpga-update.md:

[ ] Do we want to recommend a "user slot"? I specified 'slot 2'. If that is OK remove this todo.
[ ] Link to bitstream - remove this todo and update URL. Also update wget example if you want to support that.

toolchain-setup.md:

[ ] Add link to WSL2 PR, tell users to check if that was committed before blindly applying the patch.

building-examples.md:

[ ] These instructions were written inbetween the build system change - are the environmental variables needed? Update my TODO in addition to fixing docs.
[ ] Update link to SW Download - maybe tell people to checkout specific tag matching the release is easier? Or do they just download SW code release?

Many of this is fixed in my PR: https://github.com/lowRISC/sonata-system/issues/91

I was way too slow in the GIT race!


Indentation code refactor

Reduced code duplication in IndentLine, OutdentLine and InsertTab.  Also eliminated a few str::to_string() calls.

Thanks! I'm not against these changes, but I don't know when I can get to reviewing them properly.

@bugadani I pushed two more commits to address your feedbacks. Is there anything else I need to revise?

No, thanks, this looks good assuming the tests are still green :) Thanks for the changes!

@bugadani Thanks for your review and feedbacks.
Now a dumb question as I don't have much experience with the github PR workflow. Is my part done with this PR and it just waits for someone to merge? Or do I need to close the PR by clicking the "Close pull request" button?

We'll handle the rest. Or more precisely, @dzhou121 will.
"Close pull request" is more like a "Nevermind, I changed my mind" button, for when you intend to withdraw your request. Instead, we have a big green "Merge pull request" button that actually applies your changes.


fixFix memtracker not set to task group

1 Fix memtracker not set to task group
2 Fix cgroup log cpu info error

run buildall


[Feature] Keyboard shortcuts for operations

Add keyboard shortcuts for the different operators and operator options and update the UI to teach users what shortcuts are available.
Thoughts:

truncate: t
rectify: a (for ambo)
expand: e
snub: s

TODO: figure out the rest

Awesome program. Love it.
"Sharpen" seems like "join" (j) applied to only some faces.
"Elongate" and "Gyroelongate" seem like applying "loft" (l) and "Lace" (L) to the bottom of pyramids. These differ some in that you can apply them to an equator regardless of what's north and south. Beautiful.
"Augment" seems like "kis" (k) applied to one face.
"Contract", "Diminish", and "shorten" are all inverses of something or other. Not included in anything I've seen before. ("Gyrate" either.)
"Twist" and "Turn" both toggle between a square and two adjacent triangles - but applied to different places. I'll bet that there are other solids that are separated by such a toggle. (But I don't really know.)
Other notation like in: https://en.wikipedia.org/wiki/Conway_polyhedron_notation
Other question: Do you want to add something like "cupola" operation? Like a hexagon would get 3 squares and 4 triangles glued to it. (This was something else new I learned on your site.) Also it seems like if you did "cupola" on a square, you would get two quadrilaterals and two triangles - and if you did six of them aligned properly, you could morph a cube into a dodecahedron.


feat: Add website layout

This PR will add mdbook as a start for our website.
Our workflow will commit the built content to gh-pages, and asf.yml will deploy to rust.i.a.o.
close https://github.com/apache/iceberg-rust/issues/114
Show Time

JIRA ticket to enable the action has been submitted: https://issues.apache.org/jira/browse/INFRA-25298

There is an effort going on to centralize everything at some point: https://github.com/apache/iceberg/pull/8919 We noticed in practice that many people don't find PyIceberg because it is a separate site. However there is a link to it, it does not seem intuitive to have different sites. The Java one is being merged into the repository itself, and then the idea is to also include Python and later on Rust and Go.
This is why I mentioned mkdocs earlier in the issue. Is there a specific reason to go with mdbook?

This is why I mentioned mkdocs earlier in the issue. Is there a specific reason to go with mdbook?

mdbook is widely used in rust community to build a docs site. It's easy to use and deploy: one simple binary, not extra setup.
Its output can be easily embedded elsewhere: simply move the output from book to the desired location. This process is similar to integrating a site built with MkDocs.

@bitsondatadev WDYT?

mdbook is widely used in rust community to build a docs site

While I can respect this, it is larger than just a Rust project, and we've had ongoing discussions on around efforts to make the documentation uniform across Iceberg.
Why?

Consistency for the Iceberg user. I understand that Rust users will come in and see a less familiar interface, but I doubt any user will find looking at mkdocs vs mdbook a large hurdle, and what's more important to them is that the content is maintained well, which brings me to the following points.
Consistency for the Iceberg contributor. While some Rust users who decide to join the Iceberg project will have the inconvenience of learning mkdocs if they haven't used it before, largely folks in the Iceberg community will be tasked to maintain these docs. It doesn't serve the Iceberg community well to have to learn separate docs paradigms for every sub project of Iceberg. I would posit that it will cause docs to grow outdated much faster.
The core documentation has many requirements around versioning, where to store versioned documentation to avoid obstruction to local search indexing in the code, and how to integrate versioned docs into the larger Iceberg site, apply the same look and feel, and also apply the same syntax, prose, and link checking across the site as a whole. Most of these same requirements extend to the sub projects outside of the Java API.
Not all markdown is the same. Every framework (including Hugo that we're currently using and migrating from, had a lot of special syntax specific to hugo to enable different docs features. If we use one thing, documentation ports much easier, again, enabling a faster maintenance cycle as updates happen int he Rust project, most of the markdown and explanations can be borrowed from the parent site, and may require some changes to the context in which the docs are written.

There are a few things I actually haven't mentioned but hopefully that makes enough sense to clarify that we're not pushing back for little to no reason and a lot of thought has gone into how we are structuring and pulling the documentation together. While I'm still happy to hop on and have a discussion if you all still feel really strongly about this, I'm interested to hear if this changes your perspective or if there are reasons we've missed not using mdbooks.
One thing that comes to mind is I certainly do not want to impede the writing of documentation for the project. So once we come to an agreement of framework choice. If we decide there's a compelling enough case to use mdbooks you all can carry on, if we decide to use mkdocs, then I think either just writing all docs in plaing .md files for now, will suffice, and I am happy to convert those over to the mkdocs format when we are done pulling python docs in.
Let me know your thoughts, and great work on this api team!

Update
After having a meeting with Fokko and him showing me the Arrow site documentation I am not totally opposed to the idea despite my long-winded blurb before.
I think the crux of the decision lies with the simple argument for docs contributor experience. There's largely three models for docs that I've seen in open source where there are sub projects.

The docs are broken, out of sync, and out of date.
Docs are handled and maintained by a collective group of technical writers, developer experience engineers, and newcomers to the project that would benefit greatly from an aligned structure.
The core docs are handled by the collective "docs people" but sub projects are maintained by the project owners themselves.

In my experience I've seen a lot of success from the second model and I tend to lean in that direction. This is because engineers have a nasty habit of not prioritizing docs as their time is stretched thin to contribute the code, and nobody wants to block code making it in to avoid the feature. However, there are a lot of unknown/silent features even living in Iceberg today that many are unaware of due to missing documentation.
That said, I am impressed with the Arrow setup and would be interested to discuss a bit with their docs people to see how things are going from their perspective. I also would like to bring this up in a future community sync. If at the end of the day, you all maintain the rust docs well, and are happy to take on that focused role, then I'm not entirely against having us link the the Rust docs from the main Iceberg site and keep that more of a iceberg-rust contributor task as opposed to a collective Iceberg community task.
Of course anyone in the Iceberg community can also easily work with mdbooks as well, and help contribute and we can just monitor if the docs start falling behind or missing a lot of feautres, then we may revisit the discussion at another time. Happy to hop on a call or even open up a mailing list discussion to dive in further.

Okay, so to avoid any delays or concern here, I don't want you all to stop with writing documentation because you're not sure how this will fall inline with the other docs.
So please go ahead and use mdbooks.
If documentation stays relevant and we're not seeing rust docs fall behind, this should be fine and we lose out on a few other things, but the most important thing is that docs themselves are added/maintained. I fear if we don't use this rust framework we may have the opposite problem and block the docs from new rust contributors. So just assume that the Iceberg docs will link out to this from a navigation menu in the Iceberg site.
Sorry for the back and forth here, I'm still trying to consider the best way to do docs all around.

Hi, @bitsondatadev, thanks a lot for your effort of maintaining docs. I can imagine that coordinating such a huge amount of work is challenging.
I'm open to switching to MkDocs or any other framework that Iceberg uses. I agree that using the same tools makes it easier to maintain the docs, especially since Iceberg has so many components.

Let's discuss our next steps: How can we align with our current plan?
iceberg-rust is going to make it's first release, so we want a website like rust.i.a.o for users to get started. I don't have a picture that how to integrate with i.a.o for now.
Should I just use mkdocs to setup?

I'm open to switching to MkDocs or any other framework that Iceberg uses. I agree that using the same tools makes it easier to maintain the docs, especially since Iceberg has so many components.

+1 for this. If we switch to MkDocs, things will be easier if the iceberg community plans to merge docs together in future.
The tradeoff is that it maybe not so rusty. But given that MkDocs is also quite popular and easy to use, I think it's worth it.

Thinking more of it, and looking at other projects, both Avro and Arrow use the docs.rs website. I'm also fine with that if that's the de facto way of doing things for a language. Sorry for all the confusion here. I'll leave it up to you guys to decide.

iceberg-rust is going to make it's first release, so we want a website like rust.i.a.o for users to get started. I don't have a picture that how to integrate with i.a.o for now.

I think you're almost there. You have to publish to the gh-pages branch and add a CNAME file to let the Apache DNS know what the domain name is.

You have to publish to the gh-pages branch and add a CNAME file to let the Apache DNS know what the domain name is.

I already configure the .asf.yml. I'm guessing it should work as expected.

Thank you all for being so considerate and willing to move outside of Rust. When I first replied yesterday I only saw not using our unified framework as a hindrence to update documentation. In past experiences, I have seen the unified model work where less pressure is put on the direct developers of the code to maintain documentation as the project can have generalists help out with this and not have to learn about different frameworks. Fokko pointed out the other communities doing a decentralized approach to docs and it seems to be working fine so I would like to almost run the Rust project as an experiment to see how it goes if that is okay with you all. Let's stick to your original plan.
The goal boils down to being flexible to accept whatever model will provide the most up-to-date documentation. Hopefully as the Iceberg and Rust community grows, we can establish a healthy culture that the implementors are doing a large majority of the work with documentation as they go. If that changes over time, we can discuss this again as time goes on.

Thanks a lot, @bitsondatadev!

@Fokko, what else needs to be done for this PR to be merged?


Trying to build the project, but the build cancels while doing some gradle stuff

Hi,
I am getting a build failure with the text: "A failure occured while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade See the console for details.". The details in the console saying this:
Note: Z:\Unity-SharedSpatialAnchors-main\Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':launcher:processReleaseResources'.

A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
Package 'com.package.id' from AndroidManifest.xml is not a valid Java package name as 'package' is a Java keyword.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 25s
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
Maybe someone here can help me solve this problem.

Getting the same issue

In Unity, navigate to Oculus / Platform / Edit Settings.
Replace the placeholder Bundle Identifier "com.package.id" with a valid and unique Android package name like "com.steveonorato.ssa_sample" (following the naming rules at https://developer.android.com/studio/build/configure-app-module#set_the_application_id).
Sorry, this seems to be missing from the current documentation at https://developer.oculus.com/documentation/unity/unity-ssa-sf/ (there should be some improvements to that page coming shortly).

thx for the help. now the bundle is building ^^


feat:change thread sheduling method in ThreadPool class

The logic is based on function WriteThread::AwaitState in rocksdb. link
Before:

All workers and main thread which pushs task in queue both are waiting the same lock.  It can cause very intense competition.
When a worker has finished one task, it will try to get lock again for a new task through function await.  It can make the worker sleep with high probability due to intense competition.  And it can cost much time to sleep and wake up.

After:

This is a standard producer-consumer model.  So we can use lock-free list to deal with this problem about intense competition.
When a worker wake up, it will try to get tasks.  And when it find there is no tasks, it will try to loop for a while to wait for new tasks.  Because with high throughput the time for waiting new tasks is very short, so this loop will NOT cause serious block.  In order to reduce the block time,  the loop has 3 level.
2.1. 1-level.  Using spin-loop to wait.
2.2. 2-level.  Using long-time-loop to wait.  The worker maybe yield the cpu when some condition is reached.  And using a data to store probability of entering 2-level loop.
2.3. 3-level.  Using function await to wait for new tasks.

params

the count of 1-level loop:
default: 200.  Too much number maybe cause high cpu load.  Too few number maybe cause vain opration.
queue_slow_size_:
default: std::min(worker_num, 100).  When the number of tasks in queue exceeds it, the main thread which call function Schedule call std::this_thread::yield().
max_queue_size_:
default: max_queue_size.  When the number of tasks in queue exceeds it, the main thread which call function Schedule call std::this_thread::yield() till the number of tasks in queue is less than threshold.
max_yield_usec_:
default: 100.  The max time of loop in 2-level loop.
slow_yield_usec_:
default: 3.  If the time the function std::this_thread::yield() spends exceeds the threshold, the data sorce may be updated.
kMaxSlowYieldsWhileSpinning:
default: 3.  If the times of reaching condition above(5), the data sorce will be updated.
sampling_base:
default: 256.  It represent the provability of enter 2-level loop is not lower than 1/sampling_base.

Summary by CodeRabbit

Refactor

Major restructuring of the thread pool's internal architecture for improved task handling, worker management, and synchronization.
Significant changes to the ThreadPool and Worker classes for better performance and scalability.

New Features

Introduced methods for task execution, delayed scheduling, and synchronization within the thread pool.

Improvements

Enhanced logic for managing multiple links and initializing workers.
Updated task scheduling mechanisms to support better performance and reliability.
Increased thread and pool sizes for improved resource utilization and performance.

PR Review 🔍

 ⏱ Estimated effort to review [1-5]
4, because the PR involves significant changes to the threading and scheduling logic in a thread pool implementation, which is a complex area requiring careful review to ensure thread safety, performance, and correctness. The changes include the introduction of lock-free structures and a detailed scheduling mechanism which needs thorough testing and validation.

 🧪 Relevant tests
No

 ⚡ Possible issues

Possible Bug: The use of std::this_thread::yield() in the Schedule method may not be sufficient to handle high contention gracefully. This could lead to performance degradation under heavy load.

Thread Safety Concern: The lock-free implementation using std::atomic and manual memory management (e.g., new and delete for Node objects) must be carefully reviewed to ensure there are no race conditions or memory leaks.
 🔒 Security concerns
No

 Code feedback:
relevant filesrc/net/src/thread_pool.cc
suggestion

Consider using a condition variable instead of busy-waiting with std::this_thread::yield() in the Schedule method. This change could improve CPU usage and responsiveness under high load. [important]

relevant linestd::this_thread::yield();
relevant filesrc/net/src/thread_pool.cc
suggestion

Implement proper memory management for Node objects to prevent memory leaks. Consider using smart pointers (e.g., std::unique_ptr) instead of raw pointers for automatic memory management. [important]

relevant lineauto node = new Node(func, arg);
relevant filesrc/net/src/thread_pool.cc
suggestion

To prevent potential race conditions with the lock-free list, ensure that all operations on std::atomic pointers in LinkOne and related functions are correctly ordered using memory order tags. [important]

relevant lineif (newest_node->compare_exchange_weak(nodes, node)) {
relevant filesrc/net/src/thread_pool.cc
suggestion

Add error handling for the scenario where new Node fails to allocate memory, which could lead to a null pointer dereference. [medium]

relevant lineauto node = new Node(func, arg);

PR Code Suggestions ✨
CategorySuggestion                                                                                ScorePossible bug

Add exception handling for memory allocation to prevent leaks

Ensure proper exception handling for dynamic memory allocation when creating new Node objects to prevent memory leaks and ensure program stability.
src/net/src/thread_pool.cc [112-113]
-auto node = new Node(func, arg);
-LinkOne(node, &newest_node_);
+Node* node = nullptr;
+try {
+  node = new Node(func, arg);
+  LinkOne(node, &newest_node_);
+} catch (const std::bad_alloc& e) {
+  // Handle memory allocation failure, e.g., log error, clean up, and throw if necessary
+  delete node;
+  throw;
+}

Suggestion importance[1-10]: 9
Why: Adding exception handling for dynamic memory allocation is crucial to prevent memory leaks and ensure program stability. This is a significant improvement addressing a potential bug.
9
Best practice

Use smart pointers for automatic memory management

Replace the manual memory management with smart pointers to avoid manual deletion and improve code safety and readability.
src/net/src/thread_pool.cc [112-113]
-auto node = new Node(func, arg);
-LinkOne(node, &newest_node_);
+auto node = std::make_unique<Node>(func, arg);
+LinkOne(node.get(), &newest_node_);

Suggestion importance[1-10]: 8
Why: Using smart pointers enhances code safety and readability by automating memory management, reducing the risk of memory leaks and manual deletion errors. This is a best practice for modern C++.
8
Enhancement

Use a thread-safe queue to simplify task scheduling

Consider using a thread-safe queue or priority queue that encapsulates the synchronization logic internally, rather than manually managing the synchronization and node linking in ThreadPool::Schedule.
src/net/src/thread_pool.cc [112-113]
-auto node = new Node(func, arg);
-LinkOne(node, &newest_node_);
+task_queue.push(std::make_unique<Node>(func, arg));

Suggestion importance[1-10]: 8
Why: Encapsulating synchronization logic within a thread-safe queue can simplify the code and reduce the potential for synchronization errors. This enhancement improves code maintainability and readability.
8
Performance

Replace busy waiting with a sleep mechanism to improve CPU efficiency

Consider using a more efficient locking mechanism or lock-free data structures for the ThreadPool::Schedule method to avoid potential performance bottlenecks due to the use of std::this_thread::yield() in a busy loop. This can lead to thread starvation and inefficient CPU usage.
src/net/src/thread_pool.cc [103-109]
 while (node_cnt_.load(std::memory_order_relaxed) >= max_queue_size_) {
-  std::this_thread::yield();
+  std::this_thread::sleep_for(std::chrono::milliseconds(1));
 }
 if (node_cnt_.load(std::memory_order_relaxed) >= queue_slow_size_) {
-  std::this_thread::yield();
+  std::this_thread::sleep_for(std::chrono::milliseconds(1));
 }

Suggestion importance[1-10]: 7
Why: The suggestion to replace busy waiting with a sleep mechanism can improve CPU efficiency and reduce thread starvation. However, it may introduce latency in task scheduling, so the impact on performance should be carefully evaluated.
7

当前分支成为 v1，一个 worker 一个无锁链表成为 v2。
v1 的 qps 低于 v2，但是 p99 也低于 v2，原因为：通过 gperftools 查看，v2 中有很大一部分耗时是 AsmVolatilePause，所以这就说明，v2 多个无锁链表，会导致等待效率降低，从而提高了 p99，但是一个链表又竞争过大，qps 也会低，所以需要取一个中间值，如：30 个 worker 有 5 个无锁链表，这样应该会在不降低 qps 的同时降低 p99。
这里是 worker num 为 2 的 v1 和 v2 的 get 测试：
v1:
Summary:
  throughput summary: 82895.37 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        3.580     0.024     2.815     9.487    17.535   309.503

v2:
Summary:
  throughput summary: 91702.74 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        3.245     0.016     2.887     7.719     9.167   203.263

就像上一个讨论说的，多个无锁链表会减弱三级等待成功率，所以，可以尝试少量 worker 对应一个无锁链表：
指令/一个 link 对应 n 个 worker/worker num
get/2/30
Summary:
  throughput summary: 133697.00 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        2.213     0.016     1.615     6.279    10.711   173.951

get/3/30
Summary:
  throughput summary: 86218.79 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        3.450     0.024     2.071    11.311    16.927   152.191

可以看到，在我的机器上 2 个无锁链表的竞争会达到最大。

timer task 可能 blocking worker thread，因为它总是 wait for 一定时间，如果在此期间有新的 task，该 worker thread 依旧 wait。所以，在 wait 的时候判断是否有新的 task 到来，如果有，则将已经从链表中取出来的 timer tasks 重新 push 回链表中，并执行 task 逻辑，以保证 task 优先级最高。
          lock.lock();
          // if task is coming now, do task immediately
          auto res = rsignal.wait_for(lock, std::chrono::microseconds(exec_time - unow), [this, &newest_node]() {
            return newest_node.load(std::memory_order_relaxed) != nullptr || UNLIKELY(should_stop());
          });
          lock.unlock();
          if (res) {
            // re-push the timer tasks
            ReDelaySchedule(time_first);
            goto retry;
          }

在我这测试结果如下，命令为：redis-benchmark -h localhost -p 9221 -t get,set -n 10000000 -r<PHONE_NUMBER>0000 -d 512 -c 32 --threads 16

关闭 binlog 和 cache，worker num 为 30
queue_slow_size_为：(std::max(10UL, std::min(worker_num * max_queue_size / 100, max_queue_size))),

unstable branch, nworkers_per_link_ = 1:
====== SET ======
Summary:
  throughput summary: 31475.25 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        1.008     0.080     0.895     1.815     2.991    42.175
====== GET ======
Summary:
  throughput summary: 70437.91 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        0.443     0.040     0.359     1.039     1.703    21.743

原版 pika branch:
====== SET ======
Summary:
  throughput summary: 29344.70 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        1.082     0.072     0.999     1.887     2.583    38.271
====== GET ======
Summary:
  throughput summary: 34520.49 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        0.918     0.040     0.711     2.575     3.831    72.255

结论

set 是 QPS 和 P99 均有优化
get 是 QPS 有些许优化，但是 P99 反向优化。

OS: ubuntu 2204.3
CPU: 7900X
memory: 16G * 2
使用的是如下 conf
# 360 dba pika conf pika3.5.2
port : 9221
thread-num : 8
log-path : ./log/
loglevel : info
db-path : ./db/
write-buffer-size : 256M
timeout : 30
#requirepass : 06154eee364854d5
#masterauth : 06154eee364854d5
#userpass : 06154eee364854d5360
#userblacklist : bgsave,dumpoff,client
dump-prefix : pika-
dump-expire : 1
pidfile : .pika.pid
daemonize : yes
dump-path : ./dump/block_cache_size
maxclients : 20000
target-file-size-base : 20971520
expire-logs-days : 7
expire-logs-nums : 300
root-connection-num : 10
slowlog-log-slower-than : 100000
binlog-file-size : 104857600
compression : snappy
db-sync-path : ./dbsync
db-sync-speed : 60
slowlog-write-errorlog : yes
small-compaction-threshold : 5000
max-write-buffer-size :<PHONE_NUMBER>0
max-cache-files : 8000
replication-num : 0
consensus-level : 0
max-cache-statistic-keys : 0
thread-pool-size : 50
slowlog-write-errorlog : yes
default-slot-num : 1024
instance-mode : classic
databases : 1
sync-thread-num : 1
arena-block-size : 33554432
max-background-jobs : 12
max-background-flushes : 3
max-background-compactions : 9
rate-limiter-bandwidth :<PHONE_NUMBER>776
db-instance-num : 1
block-size : 4096
#block-cache :<PHONE_NUMBER>
block-cache :<PHONE_NUMBER>
max-subcompactions : 8

#cache-maxmemory :<PHONE_NUMBER>
cache-lfu-decay-time : 1
cache-maxmemory-samples : 5
cache-maxmemory-policy : 1
cache-num : 8
cache-model : 0
zset-cache-field-num-per-key : 512
zset-cache-start-direction : 0
cache-type :

share-block-cache : yes
throttle-bytes-per-second : 102400000
max-rsync-parallel-num : 4
write-binlog : no
slotmigrate : no

# Pika automatic compact compact strategy, a complement to rocksdb compact.
# Trigger the compact background task periodically according to `compact-interval`
# Can choose `full-compact` or `obd-compact`.
# obd-compact https://github.com/OpenAtomFoundation/pika/issues/2255
compaction-strategy : obd-compact

# For OBD_Compact
# According to the number of sst files in rocksdb,
# compact every `compact-every-num-of-files` file.
compact-every-num-of-files : 50

# For OBD_Compact
# In another search, if the file creation time is
# greater than `force-compact-file-age-seconds`,
# a compaction of the upper and lower boundaries
# of the file will be performed at the same time
# `compact-every-num-of-files` -1
force-compact-file-age-seconds : 300

# For OBD_Compact
# According to the number of sst files in rocksdb,
# compact every `compact-every-num-of-files` file.
force-compact-min-delete-ratio : 10

# For OBD_Compact
# According to the number of sst files in rocksdb,
# compact every `compact-every-num-of-files` file.
dont-compact-sst-created-in-seconds : 20

# For OBD_Compact
# According to the number of sst files in rocksdb,
# compact every `compact-every-num-of-files` file.
best-delete-min-ratio : 40

测试命令和结果如下
redis-benchmark -h localhost -p 9221 -t set,get -n 10000000 -r<PHONE_NUMBER>0000 -d 512 -c 64 --threads 32

当前分支
====== SET ======
Summary:
  throughput summary: 41356.49 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        1.536     0.088     1.423     2.639     3.655    47.583
====== GET ======
Summary:
  throughput summary: 77099.22 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        0.819     0.040     0.751     1.519     2.359    39.071

pika unstable 分支
====== SET ======
Summary:
  throughput summary: 35311.73 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        1.799     0.064     1.671     3.191     4.223    41.215
====== GET ======
Summary:
  throughput summary: 46570.11 requests per second
  latency summary (msec):
          avg       min       p50       p95       p99       max
        1.359     0.032     1.199     2.975     4.007    38.079

@cheniujh review

该 pr 的 p99 问题结合 #2816 解决。


I want to fine tune pose2img on my own dataset, how to fine tune control_sd15_openpose.pth

finetune openpose-controlnet but not  sd15

all duplicates on "resume training from official ControlNet"
https://github.com/lllyasviel/ControlNet/issues/233
https://github.com/lllyasviel/ControlNet/issues/337
https://github.com/lllyasviel/ControlNet/issues/411
https://github.com/lllyasviel/ControlNet/issues/427


Concurrent UI Patterns needs to be updated with unstable_ prefixes

this PR on facebook/react added the unstable_ prefix for a bunch of hooks/components/methods listed on this page.
The current docs use the unprefixed names, which won't work until this feature is officially released 😄

Yes please! Those docs are public now so I think they need to be updated...
I was trying to switch to the experimental channel right now and got createRoot is not a function.
@leonardodino Maybe you could update that page yourself and send a PR? 😄 🙏
Thanks


Regression in 7.3.0 when choosing SASS as preprocessor

🐞 Bug report
Command (mark with an x)

- [x] new
- [x] build
- [x] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Is this a regression?

Yes, the previous version in which this bug was not present was: All 7.x before 7.3.0
Description
When choosing Sass as the stylesheet preprocessor, CLI produces styles.scss but angular.json expects styles.sass.
Previous available choice of "Scss" is gone.
🔬 Minimal Reproduction

ng new
Choose Sass as the stylesheet format
ng build or ng serve

🔥 Exception or Error
ERROR in multi ./src/styles.sass
Module not found: Error: Can't resolve '[...]/src/styles.sass' in '[...]'

[...] above refers to the project folder.

Thank you, wkurniawan07! I spent a good half a day wrestling this one... checked my setup environment in a million places after not finding anything on Google yesterday. Even started a thread on Stack Overflow: https://stackoverflow.com/questions/54463979/angular-7-cli-generated-project-throws-error-in-multi-src-styles-sass

I have the same bug. Just updated my CLI to latest 7.3.0 and then created a new project... choose sass.. (which is scss)
but there is a typo in the cli source code (i guess)
  "projects": {
    "angular-skeleton": {
      "schematics": {
        "@schematics/angular:component": {
          "style": "sass"
        }
      },
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "styles": [
              "src/styles.sass"
            ],

sass should be scss here

I have zero experience with the internals of Angular but could this bug be caused by line 129 in this file? https://github.com/angular/angular-cli/blob/master/packages/schematics/angular/ng-new/schema.json
I'm wondering if value is supposed to be scss and not sass. I have no idea how the templates actually get generated so I could be way off. But without running the tool in a local dev environment it's my best guess.

I have number of files with extension .scss. Do i have to change the extension to scss to sass?

@karamjeetiron, no you don't have too.
The extension should be scss and not sass. We stopped offering sass as  file extension for new projects.
See https://github.com/angular/angular-cli/pull/13444

This has been corrected in CLI 7.3.1 and all newly generated applications will contain the correct file extensions.  Existing projects suffering from this issue will need to manually update the file extension in angular.json as noted above.


Flux image reflector is not able to use Jfrog artifactroy

We discovered the following issue when we used the Flux image reflector controller with JFrog Artifactory:
The image controller tries to list the tags using this URL:
https://my.artifactory.com/v2/artifactory/path_to_the_tags/subpath_to_the_tags/tags/list?n=1000
It is caused because of the design of the Flux and JFrog Artifactory together:
https://github.com/fluxcd/image-reflector-controller/blob/cc43c0a2909758bb27b18a9343da98214d9dc872/internal/test/registry.go#L116
Instead of this the following URL is reachable and has the same functionality:
https://my.artifactory.com/artifactory/api/docker/path_to_the_tags/v2/subpath_to_the_tags/tags/list

The JFrog has not implemented this API endpoint as the public image repositories.
Here we found a possible workaround.
https://help.octopus.com/t/connecting-an-external-docker-registry-feed-to-artifactory/24825
Do you have any other idea how to solve this?
We do not want to build a custom proxy each time the image reflector is used by different teams.
Thank you in advance!

Same issue here :-(


sctp: Handle SCTP when correlating Endpoints to services.

Otherwise, Services with SCTP ports and pods with SCTP ports will not have their backends correctly populated.
This was missed in the original SCTP PR.
Signed-off-by: Harsh Modi<EMAIL_ADDRESS>

/test

The failure seems unrelated to my change :-/

@DolceTriade yes, if you search the issues for this test title you can find an issue filed for this already: https://github.com/cilium/cilium/issues/21120

/test


How to test/debug? "This version of the application is not applicable for billing" in all situations unless when installed from Play Store

It's not possible to package an APK, upload to the Play console with a new version code, and then install on a physical device from the Play Store every time one line of code needs to be changed to see if things work (currently trying to debug error DF-DFERH-01, which seems to have hundreds of potential solutions). This is the case even when using "android.test.purchased".
Is this to do with having app signing managed by Google - how are people handling this?

Well things have randomly started working (on both the "not applicable for billing" error and "DF-DFERH-01"). Here are the fairly unhelpful notes I made for myself when debugging future projects, in case they help anyone:
install test app on a device from the Play store; then, uninstall it and run "react-native run-android --variant=release" - this seems to avoid "not configured for billing"

to solve error DF-DFERH-01, use buyProduct instead of buySubscription (even for a subscription)

buyProduct crashes on success if using this instead of buySubscription. however, after testing and it worked with buyProduct, I changed back to buySubscription and buySubscription now worked again.

in between this time, I also uploaded a new version to the Play console (1.3 build 2 instead of 1.3 build 1). this may have had some effect on both errors (if in doubt, upload a new binary?)

I'm currently facing random errors as well. It makes it extremely difficult to debug when you have to submit it to the store before you can even test your changes.  I tried @dancherb suggestions on how to get passed "not configured for billing" but they didn't work for me.

If all the settings are ok and still you are getting Error- "_This version of the application is not configured for billing through Google Play. Check the help center for more information."
Please edit your In-App Products pricing in Play store or Deactivate and Activate the In-App products. This will solve the issue.


Rewrite client-side HTTP response cache

Closes #281

Massively simplify tiled.client.Context by moving the caching and decompression logic from the context down into the httpx.Transport layer. Basically, it now sits inside the httpx.Client instead of wrapping around it. I have learned that this is the kind of thing httpx intends us to do.
Use a client HTTP response cache by default. It has always been opt-in; now it's opt-out.
Use a SQLite for cache storage, by default located at ~/.cache/tiled/http_response_cache.db (or wherever XDG_CACHE_HOME says).
Expose minimal configuration with sensible defaults. Users should never have to notice that this exists.
Remove "offline mode" and "download", which were misfeatures. They demoed well, but they were not useful in practice. A better approach to this use case is coming in #473.

Needs unit tests.

Moving ahead with this, as I've discussed the design with @tacaswell and @dylanmcreynolds ad nauseum over the last year. There are sure to be bugs, but I think less bugs than the current implementation.

Also, check out that negative diff! Wooo deleting code....


Can I schedule a periodic job?

Here's what I want:

set a job to start at a given time in the morning
run the job periodically until another given time
stop jobs at the given time

Ex: Run job starting at 9am, every 30 minutes run job again. When 5pm comes around, stop running the jobs.
How is the achieved if I can't set the execution window on a periodic task? Do I have to schedule a job for each job in the period of time that I want? Am I missing something? Is there a better way to schedule/do this stuff?

Dumb question guys. My bad. Just set the startMs to when you want it to start.
As you were.

Ugh. I was reading the method declaration for the setExecutionWindow function. #dumbtwice

I'll give it a whirl. Thanks for getting back to me so soon! I'll give it a whirl.


update yubioath-flutter to 7.0.1

Description of changes
Upgrade yubioath-flutter from 6.4.0 to 7.0.1 and pin to flutter 3.22, as the newer version will not properly build with 3.19. Patch the software to work properly with the newer flutter release, as it would not display a window otherwise.
Release history/notes
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@lukegb thank you for your maintenance of this package, I hope this contribution helps!

Thanks for your contribution! Would you mind amending your commit message and the PR title to follow the commit conventions for contributions to pkgs/?

@lukegb I've modified the commit message and also the PR title to match the commit message style, hopefully this is what you were looking for. Thank you again!


How to start learning?

I have installed whole the package.
when I launch "default.launch" file, nothing happen.
so, I switching the line 56 and  57 for gdb terminal option.
when I type 'start' on gdb terminal, main service began. but still not happen.
can you help this out?

This is just the interface for the gazebo environment.
If you want to train the agent, you may need to install the https://github.com/jingweiz/pytorch-rl

This is just the interface for the gazebo environment. If you want to train the agent, you may need to install the https://github.com/jingweiz/pytorch-rl

Hello, where can I find the tutorial of combining this interface with pytorch-rl to train agents?


Console error, possibly only when running on localhost?

I use Safari for web development and when I'm running a local server I always see an error from Tokenary. This throws me off because I instinctively think there is an error in my code, but it's just Tokenary. There error is Unhandled Promise Rejection: TypeError: undefined is not an object (evaluating 'latest.results.length') from line 92 of content.js

Not sure if there's anything that can be done about it or if it's actually an issue, but thought I'd share. Thanks for making Tokenary, love being able to use Safari for crypto!

Hey Nour, thanks, fixed it.


Custom item model

Hi,
when use Custom item model background is not change.
hasBackround value is true and color value is setted but item using default color

you can only set a background color only for the item icon, not the entire item

I understand but item icon background not change. My code like this but icon background same. How can change icon background green
val itemModel_camera = ItemModel(
ItemType.ITEM_CAMERA,
item_camera_tag,
0,
true,
ShapeType.TYPE_CIRCLE,
R.color.butoncolor_green
)

Also gallery picker always return cannot access error my test on android emulator Pixel 3 API 30

instead of R.color.butoncolor_green use ContextCompat.getColor(context, R.color.butoncolor_green). The color in ItemModel is a @ColorInt not a @ColorRes.
And please test on a real device, not on emulator.


Dark Cyan theme has UI flashing/dimming every few seconds

I've noticed that while using the dark cyan theme, the UI "flashes" or dims then goes back to a normal brightness every few seconds.
Here is a gif to better demonstrate the issue that is occurring:

I'm using v1.10.0 of Radiant

Can you check this with v1.11.0?

This seems to have been fixed with the changes that went into v1.11.0
Thanks!

This bug is back again as of v1.11.2


rs2_project_color_pixel_to_depth_pixel inaccurate

hi , i used rs2_project_color_pixel_to_depth_pixel to project a point(the red point on the right rgb image) on rgb image to depth image(the red point on the left depth image),but i found the 2d coordinate on depth image in inaccurate ,how can i solve this?

Hi @westpilgrim63  The rs2_project_color_pixel_to_depth_pixel instruction converts a 2D color pixel to a 3D depth pixel without using depth-color alignment, taking color and depth intrinsic and extrinsic values into account when performing the conversion.
https://intelrealsense.github.io/librealsense/doxygen/rsutil_8h.html#af04b7b1ba50b1d9e03089d1e5186d2f8
If a color coordinate is projected onto an unaligned depth image as a simple overlay then the position of the dot on the depth image would likely not match the position on the color image because intrinsics and extrinsics between the depth sensor and the color sensor would not be being taken into account.

@MartyG-RealSense  is there a way to project several (like 3 or 4) color points to depth points ? align the whole image in a software way is too expensive for rk3588 .align using rs2_project_color_pixel_to_depth_pixel has the above problem
or does rs d435i has some hardware alignning method?

If you are using C++ then you can use an SDK feature called GLSL processing blocks to offload processing of alignment from the computer's CPU onto the GPU.  An example program called rs-gl at the link below demonstrates it.
https://github.com/IntelRealSense/librealsense/tree/master/examples/gl
In a script that uses alignment, the offloading to GPU would be enabled simply by changing the instruction 'rs2::align' to rs2::gl::align
https://github.com/IntelRealSense/librealsense/blob/master/examples/align/rs-align.cpp#L59-L60
GLSL is 'vendor neutral', meaning that it can work with any brand of GPU chip.  However, the effectiveness of the technique will depend on the specification of the computer, and improvement may not be noticable on low-end devices.

@MartyG-RealSense thank you anyway!


Backup

Something seems wrong.

Something seems wrong.

Something seems wrong.

I’ll open it while it can be merged.


INNOVATION TEST: Place a sample chart into education card by reusing Chart.js

Summary
Place a sample chart.js into education card in the sliding cards feature.
Please reuse the chart.js component we already have to do so.
The idea is that pictures, graphs/charts can convey information much quicker and denser than just text. It is a bit more engaging as well.
KEY: This is more of a test. Don't spend too much time on it. It's more to see how it would look and if its something worth pursuing further.
Motivation
Why are we doing this?
Testing forms of displaying information. Testing forms of increasing engagement
What use cases does it support?
Increase engagement aids in education.
What is the expected outcome?
One of the education cards will have a simple graph or chart that displays some useful information.
Describe alternatives you've considered
Not adding this and just having simple text.
A short sentence to summarize a news fact/article.
Additional context
The experiment to add this should be relatively quick.
No need to lots of styling. More to see how it will look.
Please include a gif of interacting with the feature in the PR as well.

@pavel-ilin are you working on this?

This can definitely be done at a later time after v2 release since we are on a time crunch.

Working on it now.

I prefer not to push it yet because it's innovation.
Here how the Chart component looks like in the cart:

I did not push it yet because it's just a test.
Here how Chart component looks inside the Card component

looks promising!!!

Wow, this is awesome! We should definitely figure out a way to incorporate this soon - makes the app feel a lot more "alive"

Yes, it makes app more interactive and alive. We can reuse Chart.js component and feed it different data for each card.

Should we close this issue?

I think we can leave it open for the time being, until it’s been fully implemented. I’m open to ideas though - thoughts?

@pavel-ilin Is Chart.js working dependent on installing canvas? I see canvas is used in it, but my googling tells me it's built in and doesn't need installing? Installing it is also giving me errors Dockerizing the app so I want to make sure it's necessary.

@JWaltuch Chart.js It shouldn't depend in separate canvas package. Canvas is not imported from external libraries into Chart.js. It use default canvas JSX element.

Cool :) I wonder if if it was added to package.json for Chart.js to begin with or if its for something else? That's the only place I see canvas being used


remove email and address

Codecov Report

Merging #46 (d8201e9) into master (aa9f265) will decrease coverage by 1.25%.
The diff coverage is 90.90%.

@@             Coverage Diff              @@
##             master      #46      +/-   ##
============================================
- Coverage     71.89%   70.63%   -1.26%
+ Complexity      416      390      -26
============================================
  Files            75       73       -2
  Lines          1320     1243      -77
  Branches        134      120      -14
============================================
- Hits            949      878      -71
+ Misses          336      332       -4
+ Partials         35       33       -2

Impacted Files
Coverage Δ

.../java/seedu/address/logic/commands/AddCommand.java
100.00% <ø> (ø)

...ain/java/seedu/address/logic/parser/CliSyntax.java
80.00% <ø> (-5.72%)
:arrow_down:

...in/java/seedu/address/logic/parser/ParserUtil.java
96.15% <ø> (-1.07%)
:arrow_down:

.../java/seedu/address/model/util/SampleDataUtil.java
33.33% <ø> (ø)

src/main/java/seedu/address/ui/PersonCard.java
0.00% <ø> (ø)

...c/main/java/seedu/address/model/person/Person.java
97.22% <66.66%> (-0.61%)
:arrow_down:

...java/seedu/address/logic/commands/EditCommand.java
96.42% <100.00%> (-0.64%)
:arrow_down:

.../seedu/address/logic/commands/HomeworkCommand.java
60.00% <100.00%> (-1.54%)
:arrow_down:

...a/seedu/address/logic/parser/AddCommandParser.java
100.00% <100.00%> (ø)

.../seedu/address/logic/parser/EditCommandParser.java
90.90% <100.00%> (-1.40%)
:arrow_down:

... and 1 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Sphere fitting from digitization points is way too big in standard_1005 montage

Minimum example:
import mne
import matplotlib.pyplot as plt
import numpy as np
import os.path as op
from mne.datasets import sample

data_path = sample.data_path()
raw_fname = data_path + '/MEG/sample/sample_audvis_filt-0-40_raw.fif'

#   Setup for reading the raw data
raw = mne.io.Raw(raw_fname, preload=True)

# Create the montage, and convert to a DigMontage
tms_montage = mne.channels.read_montage(kind='standard_1005')
dig_montage = mne.channels.DigMontage(hsp=tms_montage.pos, point_names=tms_montage.ch_names, hpi=np.zeros((0,3)), elp=np.zeros((0,3)))

raw.set_montage(dig_montage)
sphere_model = mne.bem.make_sphere_model(r0 = 'auto', head_radius = 'auto', info=raw.info)

Produces runtime warnings:
Estimated head size (97518.6 mm) exceeded 99th percentile for adult head size

and
(X, Y) fit (912.7, -17513.4) more than 20 mm from head frame origin
Origin head coordinates:      912.7 -17513.4 406.2 mm
Origin device coordinates:    912.7 -17513.4 406.2 mm

However the center calculated from the montage centroid seems pretty close, at least in two dimensions:
x_pos = [p[0] for p in tms_montage.pos]
y_pos = [p[1] for p in tms_montage.pos]
z_pos = [p[2] for p in tms_montage.pos]
montage_centroid = np.array([sum(x_pos) / len(x_pos), sum(y_pos) / len(y_pos), sum(z_pos) / len(z_pos)])
print("Montage centroid: {}".format(montage_centroid))
print("Sphere model center: {}".format(sphere_model['r0']))

gives
Montage centroid: [  0.67142197 -16.51944075  20.65025723]
Sphere model center: [  0.91271914 -17.51340185   0.40618967]

I have only tried this with standard_1005 points, and creating the montage myself from a csv file.  Looks like a scaling problem, mm being interpreted as meters somewhere maybe (since ~97mm would be a reasonable head size).

indeed I suspect a unit pb in tms_montage.pos
can you make sure the pos is in meters?

According to standard_1005.elc the units are millimeters.

We should probably change whatever under the hood reads that file to respect the "units" entry, that should fix this problem


Failed to deserialize the JSON body into the target type: missing field models

Describe the bug
When calling /api/v1/task/classification-with-text-generation with a missing models object inside guardrail_config.input or guardrail_config.output objects in the payload, a 422 Failed to deserialize the JSON body response occurs.
Platform
Please provide details about the environment you are using, including the following:
fms-orchestrator image version: fms-guardrails-orchestr8:e5b72c1

Observed behavior
Request body
{
	"inputs": "My email is",
	"model_id": "<model-id>",
	"guardrail_config": {
		"input": {
			"models": {}
		},
		"output": {
		}
	}
}

Response
Failed to deserialize the JSON body into the target type: guardrail_config.output: missing field `models` at line 9 column 3

Additional context
It happens for both guardrail_config.output and guardrail_config.input.

Completed with https://github.com/foundation-model-stack/fms-guardrails-orchestrator/pull/99


Added required @keystone-alpha/app-static to manual setup instructions

Thanks for the PR!
The example for manual setup (https://github.com/Vultraz/keystone-5/blob/bf740b8a4c10a94e99301269b19605a8eb72e9b9/README.md#manual-setup) doesn't use the app-static import:
const { Keystone }        = require('@keystone-alpha/keystone');
const { MongooseAdapter } = require('@keystone-alpha/adapter-mongoose');
const { Text }            = require('@keystone-alpha/fields');
const { GraphQLApp }      = require('@keystone-alpha/app-graphql');
const { AdminUIApp }      = require('@keystone-alpha/app-admin-ui');

Were you using another example which requires it?

Oh, derp 🤦♂ I had tried the yarn quickstart, but it failed setting up packages (see my comment on #1263), so I did a manual install in the same directory using the package list in the readme. On running the project (just keystone), startup failed with a message saying app-static was missing. Which makes sense, since I'm using the index.js file from the yarn setup.

Ah, that makes sense! At least you were able to get a version running 👍


Feat/logging handler

This looks different than https://github.com/microsoftgraph/msgraph-sdk-design/blob/master/middleware/LoggingHandler.md.

Outdated


Missing Keystore.properties

I'm running into this issue http://stackoverflow.com/questions/41646965/neither-path-nor-basedir-may-be-null-or-empty-string

create a local file keystore.properties and add these into that
keyStore=<path to xxxx.keystore>
keyStorePassword=<keystore password>
keyAlias=<key alias>
keyAliasPassword=<key alias password>

What version of JDE or Android Studio do I need?


cannot successfully run jetson nano camera commands from another host with ssh -X

Hi, i'm able to run all the example scripts locally from the jetson nano, but now I need to access it from my pc for developing purposes.
So I've set the nano on the same local network than my pc. The Jetson Nano is conneced to a RPi Camera v2.1, power adapter and ethernet, while the PC has the latest nvidia drivers (430.50) installed via runfile with the --no-opengl-files according to this guide. This was because installing via apt-get or other means got me to the error reported here.
But now running any script via ssh -X throws some errors that i dont know how to deal with. For example when running ./camera-viewer:
jetson@nano:~/jetson-inference/build/aarch64/bin$ ./camera-viewer
[gstreamer] initialized gstreamer, version <IP_ADDRESS>
[gstreamer] gstCamera attempting to initialize with GST_SOURCE_NVARGUS, camera 0
[gstreamer] gstCamera pipeline string:
nvarguscamerasrc sensor-id=0 ! video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, framerate=30/1, format=(string)NV12 ! nvvidconv flip-method=2 ! video/x-raw ! appsink name=mysink
nvbuf_utils: Could not get EGL display connection
[gstreamer] gstCamera successfully initialized with GST_SOURCE_NVARGUS, camera 0

camera-viewer:  successfully initialized camera device
    width:  1280
   height:  720
    depth:  12 (bpp)
[OpenGL] glDisplay -- X screen 0 resolution:  1440x900
[OpenGL] glDisplay -- display device initialized
[gstreamer] opening gstCamera for streaming, transitioning pipeline to GST_STATE_PLAYING
[gstreamer] gstreamer changed state from NULL to READY ==> mysink
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter1
[gstreamer] gstreamer changed state from NULL to READY ==> nvvconv0
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter0
[gstreamer] gstreamer changed state from NULL to READY ==> nvarguscamerasrc0
[gstreamer] gstreamer changed state from NULL to READY ==> pipeline0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter1
[gstreamer] gstreamer changed state from READY to PAUSED ==> nvvconv0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter0
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> nvarguscamerasrc0
[gstreamer] gstreamer changed state from READY to PAUSED ==> pipeline0
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer msg new-clock ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nvvconv0
[gstreamer] gstreamer msg stream-start ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nvarguscamerasrc0
camera-viewer:  camera open for streaming
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3264 x 2464 FR = 21.000000 fps Duration = 47619048 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 3264 x 1848 FR = 28.000001 fps Duration = 35714284 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1280 x 720 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1280 x 720 FR = 120.000005 fps Duration = 8333333 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 0
   Camera mode  = 4
   Output Stream W = 1280 H = 720
   seconds to Run    = 0
   Frame Rate = 120.000005
GST_ARGUS: PowerService: requested_clock_Hz=6048000
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
[gstreamer] gstCamera onPreroll
[gstreamer] gstCamera -- allocated 16 ringbuffers, 1382400 bytes each
[gstreamer] gstreamer changed state from READY to PAUSED ==> mysink
[gstreamer] gstreamer msg async-done ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> mysink
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> pipeline0
[gstreamer] gstCamera -- allocated 16 RGBA ringbuffers
[OpenGL]   creating 1280x720 texture
[cuda]  cudaGraphicsGLRegisterBuffer(&mInteropCUDA, mDMA, cudaGraphicsRegisterFlagsWriteDiscard)
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/display/glTexture.cpp:253
[cuda]  cudaGetLastError()
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/cuda/cudaYUV-NV12.cu:384
[cuda]  cudaNV12ToRGBA32((uint8_t*)input, (float4*)mRGBA[mLatestRGBA], mWidth, mHeight)
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/camera/gstCamera.cpp:269
[gstreamer] gstCamera failed to convert frame to RGBA
camera-viewer:  failed to capture RGBA image
[cuda]  cudaGraphicsGLRegisterBuffer(&mInteropCUDA, mDMA, cudaGraphicsRegisterFlagsWriteDiscard)
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/display/glTexture.cpp:253
[cuda]  cudaGetLastError()
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/cuda/cudaYUV-NV12.cu:384
[cuda]  cudaNV12ToRGBA32((uint8_t*)input, (float4*)mRGBA[mLatestRGBA], mWidth, mHeight)
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/camera/gstCamera.cpp:269
[gstreamer] gstCamera failed to convert frame to RGBA
camera-viewer:  failed to capture RGBA image
[cuda]  cudaGraphicsGLRegisterBuffer(&mInteropCUDA, mDMA, cudaGraphicsRegisterFlagsWriteDiscard)
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/display/glTexture.cpp:253
[cuda]  cudaGetLastError()
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/cuda/cudaYUV-NV12.cu:384
[cuda]  cudaNV12ToRGBA32((uint8_t*)input, (float4*)mRGBA[mLatestRGBA], mWidth, mHeight)
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/camera/gstCamera.cpp:269
[gstreamer] gstCamera failed to convert frame to RGBA
camera-viewer:  failed to capture RGBA image
[cuda]  cudaGraphicsGLRegisterBuffer(&mInteropCUDA, mDMA, cudaGraphicsRegisterFlagsWriteDiscard)
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/display/glTexture.cpp:253
[cuda]  cudaGetLastError()
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/cuda/cudaYUV-NV12.cu:384
[cuda]  cudaNV12ToRGBA32((uint8_t*)input, (float4*)mRGBA[mLatestRGBA], mWidth, mHeight)
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/camera/gstCamera.cpp:269
[gstreamer] gstCamera failed to convert frame to RGBA
camera-viewer:  failed to capture RGBA image
^Creceived SIGINT
[cuda]  cudaGraphicsGLRegisterBuffer(&mInteropCUDA, mDMA, cudaGraphicsRegisterFlagsWriteDiscard)
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/display/glTexture.cpp:253

camera-viewer:  shutting down...
[gstreamer] closing gstCamera for streaming, transitioning pipeline to GST_STATE_NULL
GST_ARGUS: Cleaning up
CONSUMER: Done Success
GST_ARGUS: Done Success
camera-viewer:  shutdown complete.
GST_ARGUS:
PowerServiceHwVic::cleanupResources

output of imagenet-camera.py:
jetson@nano:~/jetson-inference/build/aarch64/bin$ ./imagenet-camera.py --camera 0
jetson.inference.__init__.py
jetson.inference -- initializing Python 2.7 bindings...
jetson.inference -- registering module types...
jetson.inference -- done registering module types
jetson.inference -- done Python 2.7 binding initialization
jetson.utils.__init__.py
jetson.utils -- initializing Python 2.7 bindings...
jetson.utils -- registering module functions...
jetson.utils -- done registering module functions
jetson.utils -- registering module types...
jetson.utils -- done registering module types
jetson.utils -- done Python 2.7 binding initialization
jetson.inference -- PyTensorNet_New()
jetson.inference -- PyImageNet_Init()
jetson.inference -- imageNet loading network using argv command line params
jetson.inference -- imageNet.__init__() argv[0] = './imagenet-camera.py'
jetson.inference -- imageNet.__init__() argv[1] = '--camera'
jetson.inference -- imageNet.__init__() argv[2] = '0'

imageNet -- loading classification network model from:
         -- prototxt     networks/googlenet.prototxt
         -- model        networks/bvlc_googlenet.caffemodel
         -- class_labels networks/ilsvrc12_synset_words.txt
         -- input_blob   'data'
         -- output_blob  'prob'
         -- batch_size   1

[TRT]   TensorRT version 5.1.6
[TRT]   loading NVIDIA plugins...
[TRT]   Plugin Creator registration succeeded - GridAnchor_TRT
[TRT]   Plugin Creator registration succeeded - NMS_TRT
[TRT]   Plugin Creator registration succeeded - Reorg_TRT
[TRT]   Plugin Creator registration succeeded - Region_TRT
[TRT]   Plugin Creator registration succeeded - Clip_TRT
[TRT]   Plugin Creator registration succeeded - LReLU_TRT
[TRT]   Plugin Creator registration succeeded - PriorBox_TRT
[TRT]   Plugin Creator registration succeeded - Normalize_TRT
[TRT]   Plugin Creator registration succeeded - RPROI_TRT
[TRT]   Plugin Creator registration succeeded - BatchedNMS_TRT
[TRT]   completed loading NVIDIA plugins.
[TRT]   detected model format - caffe  (extension '.caffemodel')
[TRT]   desired precision specified for GPU: FASTEST
[TRT]   requested fasted precision for device GPU without providing valid calibrator, disabling INT8
[TRT]   native precisions detected for GPU:  FP32, FP16
[TRT]   selecting fastest native precision for GPU:  FP16
[TRT]   attempting to open engine cache file networks/bvlc_googlenet.caffemodel.1.1.GPU.FP16.engine
[TRT]   loading network profile from engine cache... networks/bvlc_googlenet.caffemodel.1.1.GPU.FP16.engine
[TRT]   device GPU, networks/bvlc_googlenet.caffemodel loaded
[TRT]   device GPU, CUDA engine context initialized with 2 bindings
[TRT]   binding -- index   0
               -- name    'data'
               -- type    FP32
               -- in/out  INPUT
               -- # dims  3
               -- dim #0  3 (CHANNEL)
               -- dim #1  224 (SPATIAL)
               -- dim #2  224 (SPATIAL)
[TRT]   binding -- index   1
               -- name    'prob'
               -- type    FP32
               -- in/out  OUTPUT
               -- # dims  3
               -- dim #0  1000 (CHANNEL)
               -- dim #1  1 (SPATIAL)
               -- dim #2  1 (SPATIAL)
[TRT]   binding to input 0 data  binding index:  0
[TRT]   binding to input 0 data  dims (b=1 c=3 h=224 w=224) size=602112
[TRT]   binding to output 0 prob  binding index:  1
[TRT]   binding to output 0 prob  dims (b=1 c=1000 h=1 w=1) size=4000
device GPU, networks/bvlc_googlenet.caffemodel initialized.
[TRT]   networks/bvlc_googlenet.caffemodel loaded
imageNet -- loaded 1000 class info entries
networks/bvlc_googlenet.caffemodel initialized.
jetson.utils -- PyFont_New()
jetson.utils -- PyFont_Init()
jetson.utils -- PyCamera_New()
jetson.utils -- PyCamera_Init()
[gstreamer] initialized gstreamer, version <IP_ADDRESS>
[gstreamer] gstCamera attempting to initialize with GST_SOURCE_NVARGUS, camera 0
[gstreamer] gstCamera pipeline string:
nvarguscamerasrc sensor-id=0 ! video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, framerate=30/1, format=(string)NV12 ! nvvidconv flip-method=2 ! video/x-raw ! appsink name=mysink
nvbuf_utils: Could not get EGL display connection
[gstreamer] gstCamera successfully initialized with GST_SOURCE_NVARGUS, camera 0
jetson.utils -- PyDisplay_New()
jetson.utils -- PyDisplay_Init()
[OpenGL] glDisplay -- X screen 0 resolution:  1440x900
[OpenGL] glDisplay -- display device initialized
[gstreamer] opening gstCamera for streaming, transitioning pipeline to GST_STATE_PLAYING
[gstreamer] gstreamer changed state from NULL to READY ==> mysink
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter1
[gstreamer] gstreamer changed state from NULL to READY ==> nvvconv0
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter0
[gstreamer] gstreamer changed state from NULL to READY ==> nvarguscamerasrc0
[gstreamer] gstreamer changed state from NULL to READY ==> pipeline0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter1
[gstreamer] gstreamer changed state from READY to PAUSED ==> nvvconv0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter0
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> nvarguscamerasrc0
[gstreamer] gstreamer changed state from READY to PAUSED ==> pipeline0
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer msg new-clock ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nvvconv0
[gstreamer] gstreamer msg stream-start ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nvarguscamerasrc0
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3264 x 2464 FR = 21.000000 fps Duration = 47619048 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 3264 x 1848 FR = 28.000001 fps Duration = 35714284 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1280 x 720 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1280 x 720 FR = 120.000005 fps Duration = 8333333 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 0
   Camera mode  = 4
   Output Stream W = 1280 H = 720
   seconds to Run    = 0
   Frame Rate = 120.000005
GST_ARGUS: PowerService: requested_clock_Hz=6048000
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
[gstreamer] gstCamera onPreroll
[gstreamer] gstCamera -- allocated 16 ringbuffers, 1382400 bytes each
[gstreamer] gstreamer changed state from READY to PAUSED ==> mysink
[gstreamer] gstreamer msg async-done ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> mysink
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> pipeline0
[gstreamer] gstCamera -- allocated 16 RGBA ringbuffers
class 0111 - 0.062032  (nematode, nematode worm, roundworm)
class 0530 - 0.019749  (digital clock)
class 0549 - 0.010530  (envelope)
class 0556 - 0.019749  (fire screen, fireguard)
class 0619 - 0.016245  (lampshade, lamp shade)
class 0644 - 0.015684  (matchstick)
class 0700 - 0.012751  (paper towel)
class 0753 - 0.010126  (radiator)
class 0794 - 0.019749  (shower curtain)
class 0811 - 0.014966  (space heater)
class 0818 - 0.142547  (spotlight, spot)
class 0854 - 0.023729  (theater curtain, theatre curtain)
class 0885 - 0.181610  (velvet)
class 0904 - 0.091677  (window screen)
[OpenGL]   creating 1280x720 texture
[cuda]  cudaGraphicsGLRegisterBuffer(&mInteropCUDA, mDMA, cudaGraphicsRegisterFlagsWriteDiscard)
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/display/glTexture.cpp:253

[TRT]   ------------------------------------------------
[TRT]   Timing Report networks/bvlc_googlenet.caffemodel
[TRT]   ------------------------------------------------
[TRT]   Pre-Process   CPU   0.06709ms  CUDA   0.50693ms
[TRT]   Network       CPU  42.18282ms  CUDA  32.02609ms
[TRT]   Post-Process  CPU   0.35126ms  CUDA   0.34828ms
[TRT]   Total         CPU  42.60117ms  CUDA  32.88130ms
[TRT]   ------------------------------------------------

[TRT]   note -- when processing a single image, run 'sudo jetson_clocks' before
                to disable DVFS for more accurate profiling/timing measurements

[cuda]  cudaGetLastError()
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/cuda/cudaYUV-NV12.cu:384
[cuda]  cudaNV12ToRGBA32((uint8_t*)input, (float4*)mRGBA[mLatestRGBA], mWidth, mHeight)
[cuda]     unknown error (error 30) (hex 0x1E)
[cuda]     /home/jetson/jetson-inference/utils/camera/gstCamera.cpp:269
[gstreamer] gstCamera failed to convert frame to RGBA
Traceback (most recent call last):
  File "./imagenet-camera.py", line 57, in <module>
    img, width, height = camera.CaptureRGBA()
Exception: jetson.utils -- gstCamera failed to CaptureRGBA()
jetson.utils -- PyDisplay_Dealloc()
jetson.utils -- PyCamera_Dealloc()
[gstreamer] closing gstCamera for streaming, transitioning pipeline to GST_STATE_NULL
GST_ARGUS: Cleaning up
CONSUMER: Done Success
GST_ARGUS: Done Success
PyTensorNet_Dealloc()
jetson.utils -- PyFont_Dealloc()
GST_ARGUS:
PowerServiceHwVic::cleanupResources

I'm not familiar either with cuda or opengl, could someone please help me?

Hi @syonekura , the OpenGL rendering with CUDA interopability that this project uses is meant to run on a display directly connected to the Nano, and is unlikely to work over SSH forwarding.  And even if it were, it would display very slowly, so it is recommended to view the camera video from the Nano itself.

Hi @syonekura , I'm just simple trying to access my Jetson Nano camera via SSH connection. But I'm getting an error of this. I'm not able to run my python file to launch camera. I have to detect lane lines in live video streaming.
Thank you  if you can help me.

Hi @syonekura , the OpenGL rendering with CUDA interopability that this project uses is meant to run on a display directly connected to the Nano, and is unlikely to work over SSH forwarding. And even if it were, it would display very slowly, so it is recommended to view the camera video from the Nano itself.

Hey, would it be possible to use ssh to run jetson-inference examples yet have the camera image show on the display connected to jetson-nano hdmi?

Hmm, maybe if you set the DISPLAY environment variable appropriately.  DISPLAY=:0
Not sure though, haven't tried it.
From: benbojangles @.>
Sent: Wednesday, September 15, 2021 12:50 PM
To: dusty-nv/jetson-inference @.>
Cc: Dustin Franklin @.>; Comment @.>
Subject: Re: [dusty-nv/jetson-inference] cannot successfully run jetson nano camera commands from another host with ssh -X (#428)
Hi @syonekurahttps://github.com/syonekura , the OpenGL rendering with CUDA interopability that this project uses is meant to run on a display directly connected to the Nano, and is unlikely to work over SSH forwarding. And even if it were, it would display very slowly, so it is recommended to view the camera video from the Nano itself.
Hey, would it be possible to use ssh to run jetson-inference examples yet have the camera image show on the display connected to jetson-nano hdmi?

You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/dusty-nv/jetson-inference/issues/428#issuecomment-920190971, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADVEGK6KAM6JHFFNHKBSWTTUCDFCHANCNFSM4JAJPLGA.
Triage notifications on the go with GitHub Mobile for iOShttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01|dustinf%40nvidia.com|0af4f21ab9f747d870d508d97868cf5f|43083d15727340c1b7db39efd9ccc17a|0|0|637673213819235454|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=t8Bn4xXWb%2FpJxjaXldi9PS%2BAjzFvCzbAVaimWm6upEM%3D&reserved=0 or Androidhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01|dustinf%40nvidia.com|0af4f21ab9f747d870d508d97868cf5f|43083d15727340c1b7db39efd9ccc17a|0|0|637673213819235454|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=LV4sJ8SZ%2FE5ZkI4NHRusQFTMYqdqo8baerzdgBXJeiM%3D&reserved=0.


Test for $ref with $recursiveAnchor

Test that verifies that $ref is not affected by $recursiveAnchor , addresing this issue #296

@MeastroZI when you force-push, it's difficult to review what changed. Please just add a new commit next time.
If you're incorporating others' recommendations, it's actually a good idea to just merge directly from the suggestion comment.

Oo noted , learn new good practice from you thank you Greg Dennis

Please let me know if this PR requires any changes. Otherwise, I kindly request to merge it.


Remove DELETE method

Tasks can not be deleted, once submitted. Hence, remove the DELETE method from the Python client.
Metriq client method is here: https://github.com/unitaryfund/metriq-client/blob/3504b73e282864671e7227ad5796468872d1844d/metriq/client.py#L385

https://github.com/unitaryfund/metriq-client/pull/63


[BUG] Assay.xlsx IO does not completely follow specification

Describe the bug
Currently the ArcCommander still expects the metadata sheet in the assay xlsx file to be named "Investigation". This does not follow the specification defined here.
Expected behavior
Instead the ArcCommander should create and expect a metadata sheet named "assay"

Fixed with #118
by ISADotNet change https://github.com/nfdi4plants/ISADotNet/pull/53


How do I run FFmpeg commands through this library? I see ffmpeg.so file is already being included.

Since the ffmpeg library is being included, is there a Java interface that I can use to execute certain ffmpeg commands? I'm unclear if this library allows that functionality. Please help and suggest examples. Thank you.

Have you any solution? @iamronak

https://github.com/wysaid/android-gpuimage-plus/issues/91#issuecomment-462324469


Documentation issue: Examples | https://github.com/rodydavis/drift_shared 404

Hi,
in your "Examples" page there is a link to a non-existing GitHub-Repository.
"(...) including Web and Desktop! You can check it out here. (...)" The link in "here" is https://github.com/rodydavis/drift_shared but this is a 404 page now.

Looks like this got confused with the Moor --> Drift conversion, the actual repository is at
https://github.com/rodydavis/moor_shared

Thanks for the report! I've fixed this in 2ecc44c593e6f6e250b8c1fb9bc4a5a7176de4c1, the site should update shortly.


Deployment model

"However, CCiTC evaluations are not limited to a particular deployment model". [page 7, para 5]. The sentence reads well and conveys the intended message; however since the  'deployment model' is a bit loaded term in the context of Cloud, it could be confusing.

@fahmed11 do you have better wording to offer?

Please suggest new wording or we will close.

Closing due to lack of actionable materials.


Fix/remove linucb generator

I totally don't know why @taweihuang use generator here XD
and the test is apparently not good enough because it doesn't make any fail when I do this big change.

The rest LGTM

solve the linucb part of #41


REPL: Show more when a create operation is successful

It would be nice to see something more when an operation is successful. For example, saying how many accounts or transfers were successfully created.

i would also like this, an inherent "no response" is success is quite dangerous

Yes, this would be great for the REPL.
To clarify, we wouldn't do this for language clients, i.e. impact network protocol, since otherwise 1m transfers would require 1m result codes on the wire, and then this would impact the happy path.

Yes, this would be great for the REPL.
To clarify, we wouldn't do this for language clients, i.e. impact network protocol, since otherwise 1m transfers would require 1m result codes on the wire, and then this would impact the happy path.

it does make sense with the happy path, but if tigerbeetle hangs for some reason or other. is there a chance you assume a transfer success when it might not be ?

it does make sense with the happy path, but if tigerbeetle hangs for some reason or other. is there a chance you assume a transfer success when it might not be ?

"No response" means "no payload" into the vsr message, so we always receive a message back (with only 256 bytes of header)


Could NOT find BROTLI

Hi,
When I run ./build.sh, I see the print info show me that BROTLI is missing. Could you tell me what's the BROTLI and how can I config BROTLI?
-- Could NOT find BROTLI (missing: BROTLIDEC_LIBRARY BROTLIENC_LIBRARY BROTLICOMMON_LIBRARY BROTLI_INCLUDE_DIR)

It's a optional library for google brotli compression algorithm. Could you tell me what OS did you use?

ubuntu18.04，amd64

sudo apt install libbrotli-dev

And then re-configure drogon with cmake

Thanks. It works nice.


fixed size vectors and matrices

Here is some initial work on making principled fixed size vectors and matrices.
Everything is stored as a FixedSizeArray:

Vectors are FixedSizeArrays of vectors (with a base case ScalarVector type).
Matrices are FixedSizeArrays of linear maps (with a base case that a single vector is the linear map of scalar multiplication by that vector).

As a result, matrices are arrays of columns and matrix multiplication works by scaling each column by the corresponding scalar, like @dellaert suggested in https://github.com/borglab/SwiftFusion/issues/52#issuecomment-633286415.
I put this in a new target so that I could use names like Vector and Matrix without clashing with the existing types. My goal is to build all the required features in here and then eventually start using these new types in the rest of SwiftFusion.

Closing because this turned out not to be important for the initial generic factor graph work. We should revisit eventually.


Support cookies

Closes #37

How far back would you need to know? I'll do my best to check as far as I can but unsure how far back the unofficial launcher can go.

I believe have support back to raknet version 8 or maybe 7. Let me know which versions you were able to test with. I should be able to test with the very old versions later.

Will implement optimal SecureRandom later tonight.


Create Project Selection Pull Request for T5 in Dr. Smith's capston repo

Summary

update the project selection, project description, supervisor info in the course capstone.

Deadline

09/27/2023


Check AutoTest False Positive on Grabdish Functionality Test

Unable to repro so far.  Will keep an eye out.


The passed save_path is not a valid checkpoint: data_dir/bert_base/model-57000

The passed save_path is not a valid checkpoint: data_dir/bert_base/model-57000

Hello
Please I am facing the same problem. Did you find a way to solve this?
Thank you

no
---Original---
From<EMAIL_ADDRESS>Date: Fri, Aug 7, 2020 18:30 PM
To<EMAIL_ADDRESS>Cc: "Author"<author<EMAIL_ADDRESS>Subject: Re: [mandarjoshi90/coref] The passed save_path is not a valid checkpoint: data_dir/bert_base/model-57000 (#60)
Hello
Please I am facing the same problem. Did you find a way to solve this?
Thank you
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Same problem here.


[FR-3076] refactor(core): increase domain suffix length to 20 chars

https://user-images.githubusercontent.com/78534155/119650969-20524380-be2d-11eb-83a6-2e372757b95d.mov

I don't see u allow numbers.
Why not taking the regex I sent u?