Error trying to patch uvcvideo part of installation tutorial

Required Info

Camera Model
{ R200 }

Operating System & Version
{Linux (Ubuntu 16)

Kernel Version (Linux Only)
(4.15.0-64-generic)

SDK Version
{ legacy }

Issue Description
Hello, I'm trying to install librealsense for my R200 camera and when i get to the step that asks me to run the line  ./scripts/patch-uvcvideo-16.04.simple.sh I receive an error that states ./scripts/patch-uvcvideo-16.04.simple.sh: line 15: ../scripts/realsense-camera-formats_ubuntu16.patch: No such file or directory
How can i fix this?

@grantsadie88 hello,
The script that you mention was deprecated and it is not part of the legacy documentation.
The legacy branch maintenance handles mainly code compatibility issues.To get support for the the most recent Ubuntu kernels you need to reuse Librealsense2 patches as those are backward-compatible with all the legacy devices.
Download the code and patches for Librealsense2 (found in master/development branches) and run the embedded script from the manual to patch the kernel:

./scripts/patch-realsense-ubuntu-lts.sh

Then you can continue using the legacy branch with R200.

I understand, thanks for your help, I'm quite new to this. I've done as you've said and followed the rest of the installation procedures, however I'm still receiving this error when i try open realsense-viewer with my R200 attached.
 23/09 18:29:11,899 WARNING [140553705617152] (sensor.cpp:766) Exception was thrown when inspecting RGB Camera property Controls exposure time of color camera. Setting any value will disable auto exposure
 23/09 18:29:16,984 WARNING [140553705617152] (types.cpp:48) set_pu(id=9) failed! Last Error: Input/output error
 23/09 18:29:16,984 WARNING [140553705617152] (sensor.cpp:766) Exception was thrown when inspecting RGB Camera property Controls white balance of color image. Setting any value will disable auto white balance

What might this mean?

@grantsadie88 , the realsense-viewer is part of Librealsense2 and is not compatible with R200.
The viewer tool for Librealsense1 is named cpp-config-ui. In practice all Librealsense1 tools/examples are named c-.. or cpp-....
I repost the build instruction for legacy branch for convenience - https://github.com/IntelRealSense/librealsense/blob/legacy/doc/installation.md

Ah got it. Thank you so much for your help.


token: Reassign and reallocate accounts on close

Problem
Closing token accounts sets data to 0, but it's still possible to re-use closed accounts by initializing again in the same transaction.
Solution
Completely close the account by reassigning it back to the system program and reallocating the account to 0, as if it were totally new.

This contains reverts for #3416 and #3417 in order to match what's currently deployed to mainnet.  Once this lands, we'll reapply those patches.


Adding cask to Homebrew

Description
Hey there, thanks for the App - really stops by Mac's fans from taking off.
Noticed you have packages under Chocolatey and AUR but nothing with Homebrew. I've made a PR to add the latest version to brew cask here: https://github.com/caskroom/homebrew-cask/pull/23722
I can update the package grunt task to also generate new a formula.rb if you'd like, anyway great job 💯.

Awesome, thanks!
I have been asked a couple of times in the past months to add a brew package/cask, but I didn't have the time to do this.

I can update the package grunt task to also generate new a formula.rb if you'd like

Sure, go ahead.
Could you please split the package task into a multi task with a simple switch statement for the task target? The choco package maintainer has created a single task for this already:
https://github.com/bastimeyer/livestreamer-twitch-gui/blob/v0.14.2/build/tasks/custom/package.js#L6-L17
If you want you can also add the homebrew cask to the readme and wiki.
Thanks!!! :+1:

For now I'll update the formula manually, as it requires a sha to be generate for both the download and the atom feed: https://github.com/bastimeyer/livestreamer-twitch-gui/releases.atom.
This is difficult to do pre publishing to Github, as Homebrew is looking for the package from Github.
I've subscribed to the release feed so I know when to push new versions to Homebrew. I'm gonna close this issue.

See https://github.com/bastimeyer/livestreamer-twitch-gui/issues/294#issuecomment-239640899

Excellent, let me know when you've add the hashing function

@NGMarmaduke
https://github.com/bastimeyer/livestreamer-twitch-gui/issues/294#issuecomment-240102509
Does the content of https://github.com/bastimeyer/livestreamer-twitch-gui/releases.atom also need to get hashed? I haven't implemented this yet. Please tell me if it does.

@bastimeyer: It does indeed, currently not used but it will be when Homebrew cask supports updating

0a942a0
Setting the checksumAtom option to true will save the hash of the current atom feed content to the package.checksumAtom grunt config property. Uses sha256 as well.
All requirements for your package config are now there. If you want, you can add your task config similar to the chocolatey one and send a PR. Thanks!

I'm not sure if you're still interested, but the changes for creating an automated brew-cask script have been added a while ago. Here's the config of the choco package:
https://github.com/bastimeyer/livestreamer-twitch-gui/blob/v0.15.2/build/tasks/configs/package.js
The checksumAtom property can be set to true and its processed value can then accessed in the templates, similar to how the choco package is doing it with the changelog string and checksums object. If you don't have time for doing this, just tell me what exactly is needed and I'll build the script for you. Just let me know!

cask-repair

Ah okay, I didn't know that...

I'm subscribed to updates version updates and then running cask repair:

Wouldn't it make sense adding this to the after_deploy hook of travis-ci, so the PR on the homebrew-cask repo can be opened automatically when a new release gets published?
In addition to the tiny-scripts brew tap, cask-repair is also available as a bash script:
https://github.com/vitorgalvao/tiny-scripts/blob/master/cask-repair


sophos captive portal template

Evil twin attacks with a firewall captive portal are more normal and less suspicious, in an environment where this is implemented.

thanks for your contribution brow :)


Consistency of configuration structure

I am touching up my change that does most of this. I just wanted to check a couple of things through with you guys before I change too much more.
Firstly this is kind of a big change. Here is an overview:
The main goal is to have consistency between how faucet and gauge are configured. I migrate gauge to using yaml, and make the database configuration actually configurable. I also try to make gauge and faucet more consistent in how the code is structured.
The  gauge config looks something like this:

valve_configs:
        - "faucet1.yaml"
        - "/etc/ryu/faucet/faucet2.yaml"
pollers:
        flow_table_poller:     #the name of the poller
                gauge_type: "flow_table"
                dps: ["switch-1", "switch-2", "switch-3"]
                interval: 60
                db: "flow_table_file"
        port_state_poller:
                gauge_type:"port_state"
                dps: ["office-switch-1"]
                db: "influx"
dbs:
        influx:
               type: "influx"
                db: "faucet"
                host: "localhost"
                port: 8086
        flow_table_file:
                type: "text"
               output_file: "gauge_flow_table.txt"

For consistencies sake I would like to change it so all of the configuration for faucet key's things by names rather than by the id number (eg port number, vid or dp_id). We can do this easily without breaking existing configs. My plan is that we check if a dp_id is configured elsewhere. If not then the key is the dp_id. So this will not break existing configs so doesnt need a new config version.
So the config for valve would look more like:
---
   version: 2

   dps:
      test-switch-1:
           dp_id: 0x000000000002
           interfaces:
               1:
                   native_vlan: 2040
                   acl_in: 1
       test-switch-2:
           dp_id: 0x000000000002
           interfaces:
               port_1:
                   of_number: 1
                   native_vlan: 2040
                   acl_in: 1

   vlans:
       "dev VLAN":
           vid: 2040

   acls:
       1:
           - rule:
               nw_dst: "<IP_ADDRESS>/8"
               dl_type: 0x800
               allow: 1

           - rule:
               dl_type: 0x0806
               allow: 1

           - rule:
               nw_dst: "<IP_ADDRESS>/16"
               dl_type: 0x800
               allow: 0

And just a reminder, this will work so that the name used for the key will be the default value for the numeric id of the object (if it has one) and as the name of the object. Either of these can be rewritten, but I think we should try to deprecate that usage.
I add a file called parser.py this handles parsing configs for faucet and gauge. It reads in yaml files, builds configs and calls the factories and return fully built valve/gauge objects.
I added a file which I am currently calling poller.py (I would like a better name for this since it refers to both pollers and event loggers---actually come to think of it maybe logger is a better generic name). This has all the code for the loggers and pollers and the main gauge class sits in its own thread.
So I guess the most important question I have is about how we would like routers to be configured going forward. I feel like these should not be tied to vlans, since you might want to route between vlans, but perhaps the ryu bgp design means that makes sense?
And does anyone have any issues with this?

uhh.. probably shouldnt have edited this on the webpage. bear with me while I finish this

Would it be possible to rename valve references as all the newbies would
ask the question regarding relationship between valve and gauge?
On Sun, Jul 24, 2016 at 8:16 PM, KitL<EMAIL_ADDRESS>wrote:

uhh.. probably shouldnt have edited this on the webpage. bear with me
while I finish this
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/REANNZ/faucet/issues/126#issuecomment-234827624, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABmf8zbHfceyMPfSboU2GB2g1bbUtGwUks5qZCqggaJpZM4JTwbX
.

Which valve references do you mean?

One other thing, I have changed the default configurations so they are set in a dictionary at the top of the class files, with the set_defaults function only performing special case configurations. This will allow for warnings for when someone sets a configuration element that the config ignores (eg timout instead of timeout or something)

This is what I referred to regarding valve:
The gauge config looks something like this:
valve_configs:
/Shivaram
::Sent from my mobile device::

On Jul 24, 2016, at 9:12 PM, KitL<EMAIL_ADDRESS>wrote:
One other thing, I have changed the default configurations so they are set in a dictionary at the top of the class files, with the set_defaults function only performing special case configurations. This will allow for warnings for when someone sets a configuration element that the config ignores (eg timout instead of timeout or something)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Yep, sure.

Got these working now. Unfortunately when dealing with config you kinda need to document things, so as soon as that is done I'll upstream this. Hopefully monday!

So - I prefer actually the other way around as it now - objects with numbers as their "primary key" (especially as DPIDs can be configured and so they can be short - I often just say 0x1 and 0x2, etc).  Also, Ryu probably won't let you have multiple switches with the same DPID, which the new config format would allow you to configure.
I don't feel strongly enough to be an obstacle to progress, just expressing the preference for how it is now.
For ACLs - you have folded up actions. Right now ACLs support different kinds of actions (output, mirror, drop, etc) so I don't think they can be folded up (unless you are proposing something else)?

Sorry didn't mean to close it (only comment!).

I am not sure if dp_id should be unique per openflow standard.  Topology viewer will probably go berserk if they are not unique.  Database relies on dp_id being unique- maybe it shouldn't be, but a combination of that with parent and child can be - not sure how complicated we want to make this.  The simplest route would be to make  dp_id unique.
/Shivaram
::Sent from my mobile device::

On Jul 30, 2016, at 7:38 PM, Josh Bailey<EMAIL_ADDRESS>wrote:
Sorry didn't mean to close it (only comment!).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.


Add main documentation page for HEPs

Not sure we need the note, but thought it might be good to have in this early stage when we're still figuring out how to use these HEP-things.

Side question: is it "HPX Enhancement Proposal" or "HPX Evolution Proposal"? I always imagined it's the first, but I'm happy to go with the second as well.

Closing this since #4593 and #4626 are closed.

Side question: is it "HPX Enhancement Proposal" or "HPX Evolution Proposal"? I always imagined it's the first, but I'm happy to go with the second as well.

Since we don't even know how to spell out HPX, why should we disclose what's a HEP? ;-)


play_media can't play local images

The local call /remote/postcard/ can be used to temporarily override the currently displayed item on the Canvas device. We should support this call so users can send any images (even non-artwork ones) to the Canvas device, especially for automation purposes (e.g. automatically displaying an image of who is ringing the doorbell).

/remote/postcard/ is the same function as preview from the app; it also uses the same duration setting as other previews. Previewing is not the same as playing; this should not be added to play_media.


English version of README

Would you write the English version of README?

@KimDarren  Did it.

@KittenYang Thank you :)


Link to https://k8s.dev/ docs about good first issues

Where we mention the "help" or "good first issue" labels, let's hyperlink to https://kubernetes.dev/docs/guide/help-wanted/ (our
official page on that topic).
The specific page to link to is https://kubernetes.dev/docs/guide/help-wanted/

@sftim would it be beneficial to link to the GitHub link for k/website issues filtered with the required labels somewhere?

would it be beneficial to link to the GitHub link for k/website issues filtered with the required labels somewhere?

I'm not sure what you're suggesting, but I doubt I'd object.

/lgtm
/approve
(still open to @divya-mohan0209's feedback, but merging PR for velocity; it sounds like the follow-up might be a good-first-issue?)


SvelteKit Support

This PR adds support for the most recent public beta of Sveltekit. This required updating a few things:

the query loader API dramatically changed so the preprocessor has to support two different targets
the target location when generating the runtime for a sveltekit project should point to the project root
a new kit adapter

closes #59

Nice was waiting for it, LGTM!

Going through the exercise of updating the example has brought up some more things that need updating. I'll keep this PR open for visibility while I get it updated. Thanks for being patient!

Still cranking on this in my downtime. I recently started a new job which has taken my attention the majority of my attention for the past few weeks but I feel like I"m at the final mile for this integration.
I really appreciate everyone's patience!

@pixelmund - do you mind pulling this down and making sure that the example directory works as expected?

@pixelmund - do you mind pulling this down and making sure that the example directory works as expected? I think this might actually be ready to get merged in 🎉

Hey, sorry don't have much time because of work right now. I can try to pull it later today or tomorrow.

I've pulled it and tested some stuff it's working as far as i can tell, we should probably update the SvelteKit Version currently using 1.0.0-next.75, latest is 1.0.0-next.105, there where some changes with the config. It should now be svelte.config.js and esm instead of cjs.
One thing i have noticed is the AllItemsVariables function calls this.error, when i go to a route/filter that does not exist lets say /foo i get the following error.
TypeError: this.error is not a function
    at AllItemsVariables ([filter].svelte:16:18)
    at RequestContext.computeInput (/$houdini/runtime/network.js:87:20)
    at load ([filter].svelte:27:57)
    at load_node (file:///Users/js/dev/houdini/node_modules/@sveltejs/kit/dist/ssr.js:2457:30)
    at respond (file:///Users/js/dev/houdini/node_modules/@sveltejs/kit/dist/ssr.js:2670:21)
    at async render_page (file:///Users/js/dev/houdini/node_modules/@sveltejs/kit/dist/ssr.js:2807:20)
    at async render (file:///Users/js/dev/houdini/node_modules/@sveltejs/kit/dist/ssr.js:2934:10)
    at async ssr (file:///Users/js/dev/houdini/node_modules/@sveltejs/kit/dist/ssr.js:2921:10)
    at async Immediate.<anonymous> (file:///Users/js/dev/houdini/node_modules/@sveltejs/kit/dist/chunks/index2.js:3302:23)

Thanks for finding the time to try it out @pixelmund! I'll work through the issues you ran into in the next few days.
To answer your question, houdini doesn't yet support resolving requests from the cache. it currently only uses it as an orchestration mechanism for mutations to update the state of queries that are current mounted. I felt like that was a reasonable "first step" towards saving network requests and then got distracted with the sveltekit support before I could get to it.

Thanks for finding the time to try it out @pixelmund! I'll work through the issues you ran into in the next few days.
To answer your question, houdini doesn't yet support resolving requests from the cache. it currently only uses it as an orchestration mechanism for mutations to update the state of queries that are current mounted. I felt like that was a reasonable "first step" towards saving network requests and then got distracted with the sveltekit support before I could get to it.

Alright good to know, well maybe you could publish the kit version under a next flag like kit does or something so people can try it out already and report upcoming issues, don't know how that is working but would be cool.

Okay, this branch now supports the sapper and sveltekit versions of the example application. I'm only going to leave the sveltekit version in the repo but at least I have seen sapper support work with the changes in this branch.
I think this branch is very close to being merged. Going to keep poking at it for a few more days but im hopeful

Alright, yall! SvelteKit support is finally released in version 0.5.0. Please feel free to open a ticket if you run into any problems.


Kernel32.SYSTEM_INFO: Correct incorrect struct member.

Name
About

SYSTEM_INFO of Kernel32 is incorrectly defined.
Incorrect definition of the SYSTEM_INFO structure causes it to return incorrect data in x64 mode.

Describe the bug
The SYSTEM_INFO structure is incorrectly defined whereby the dwActiveProcessorMask member of the structure is defined as an unsigned integer rather than a pointer type as otherwise seen on MSDN.
This causes the data of the remaining members structure to be incorrectly set in non-32bit architectures.
Original Erroneous Behaviour
Ran in an empty project under X64 compilation mode.

The incorrect behaviour should be easy to spot as the dwProcessorType is an invalid number (not in any documentation) and default dwAllocationGranularity should be 64K on this machine inside any process.
Corrected Behaviour (Post Patch)
Ran in an empty project under X64 compilation mode.

Due to some massive changes I'm making to the library and this file, I could not accept the Pull Request. However, I have added your fix manually. Thank you!


Update _config.yml

@karljanerik - I believe you made a mistake. You made a "pull request" instead of a "fork". Than committed that change to the wrong GitHub instead of your own.


Not Posting to ListenBrainz

Hi. Just noticed today that this stopped listening for my plex plays back in March 2022.
I removed the webhook and started fresh but no luck. I even re generated a token from listenbrainz. Anything I should try differently, I followed each step and did the ones on the FAQ also.

This error keeps popping up.
Jan 05, 2023 09:06:15.154 [19592] WARN - [Req#db54da] Webhook: Error delivering payload to https://eavesdrop.fm/?id=TOKEN&user=USERID: 502

I'm having the same issue. I just realized that eavesdrop stopped reporting since March 20th of last year.

I've just set up eavesdrop. Nothing is being sent to ListenBrainz from what I can see. I've turned on debugging in Plex, and I can see that it is sending events to the webhook, but nothing is happening from there.

Just an update, I'm not longer seeing this issue.

@iophobia, I can confirm that it's working as expected for me (and has been for the last 6 months or so that I've been using it). 👍🏻
I use PlexAmp, but it also works from Plex via the browser for me.

Oddly enough, I just checked back after your comment with my Plexamp instance and it's working now despite no settings changed. I'll keep an eye out but consider it closed for now on my end.


Build error "Could not find artifact core:aqCore:jar:1.0 in repo.jenkins-ci.org"

Jenkins and plugins versions report

Environment
ci.jenkins.io

What Operating System are you using (both controller, and any agents involved in the problem)?
ci.jenkins.io
Reproduction steps
Try to build the plugin, either on ci.jenkins.io or either locally with mvn clean verify
Expected Results
A successful build.
Actual Results

[ERROR] Failed to execute goal on project accelq-ci-connect: Could not resolve dependencies for project com.aq:accelq-ci-connect:hpi:1.7-SNAPSHOT: Could not find artifact core:aqCore:jar:1.0 in repo.jenkins-ci.org (https://repo.jenkins-ci.org/public/) -> [Help 1]

Anything else?

Is this dependency private?

A Jenkinsfile should be added to the repository to spot build failures easier.

Added closing this


🚀 Feature: Inconsistency around whether array relation properties are mandatory or not

🔖 Feature description
There inconsistency around whether the array relation properties are optional vs which are required (for which you have to explciitly provide an empty array if you don't want to use them)
Required:

group.children
user.members

Optional:

group.members
component.subcomponentOf
component.providesApis
component.consumesApis
component.dependsOn
resource.dependsOn
resource.dependencyOf

e.g. for a leaf group with no children
apiVersion: backstage.io/v1alpha1
kind: Group
metadata:
  name: guests
spec:
  type: team
  children: []

🎤 Context
You could justify the current implementation as different entity types having different expectations.  With users & groups typically being more centrally defined, you could justify having a more explicit model, whilst being more permissive with the more typically user defined entities.  This works for User entities, but still leaves Groups internally inconsistent with members being optional but children being required.  I would at minimum expect members and children on groups to be either both required, or both optional, not a mix of the two.
✌ Possible Implementation
My inclination here would be to make group.children and user.memberOf optional.  There are many scenarios in which it's valid to have those relationships be empty, so it makes sense for them to optional like the relationship prperties on Component and Resource entities.
For user.memberOf, you may have chosen to define membership on the group (via group.members) rather than from the user perspective.  In this scenario, you'd typically expect user.memberOf to be empty.
For groups, leaf groups will always have empty children.
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

Think this makes sense, let's make the children optional. I think there might be a few places where typescript will just complain and need updating to check that there's a value instead if we do this, but thinking that overall it's a good change.


[Question] How can I use Jupyter or Zeppelin to do analytics through Spark?

@LukeTillman Thanks for this excellent docker image. Superb! I am trying to use Jupyter or Zeppelin on Spark, do you have an idea on how I can accomplish this?

I don't have any examples handy, but I'm sure it's possible. The first thing would be to make sure you're starting this Docker container in Analytics mode (i.e. using -k) as shown here:
https://github.com/LukeTillman/dse-docker#example-start-an-analytics-spark-node
I'm not sure what ports Jupyter or Zeppelin will need to communicate with Spark, but you'll also want to make sure you expose those ports when starting the container:
https://github.com/LukeTillman/dse-docker#exposing-ports-on-the-host
For a full list of the ports that DSE exposes (including some of the Spark ports), see:
http://docs.datastax.com/en/dse/5.1/dse-admin/datastax_enterprise/security/secFirewallPorts.html
Then it would just be a matter of configuring Jupyter/Zeppelin to talk to the DSE node in Docker (which I'm sure you can find information on in their documentation). If you're running Jupyter/Zeppelin on your local machine and DSE in Docker (for Mac/Windows) you should be able to access the DSE ports you exposed via localhost or <IP_ADDRESS>.
Hope that helps. Good luck!


Add onError prop to Image, and use initials fallback for Avatar

I think this works well. The only thing to be wary of is that if people set a new src inside onError that is also an error, they could trigger and infinite loop. Not sure what the best way to handle that is

I also did the alternative CR to add the logic into a wrapper in Help Center instead https://gerrit.thumbtack.io/c/help/+/152824 (only accessible to Thumbtack employees)
I'm leaning more towards that second option, because it feels like this logic for testing the validity of the URL is more the caller's responsibility
I'm interested to know your thoughts though. I think it would be nice if Image could handle this directly, but there's no clean way to do it without introducing the possibility of an infinite loop.
I guess it depends on how "smart" we want the Image to be. it already handles a lot of stuff like lazy loading and responsive sizes, not sure if fallback images should be part of that.
Here's some interesting prior art for a react-image component that supports a useImage hook with fallbacks https://www.npmjs.com/package/react-image

We've decided to go with the Help Center CR for now, since this is not a common use case, but we can revisit this if it comes up again and there's a strong argument for adding it to the Image API


installation not working with system default python

when I installed adrt using system default python, it seems there are errors because I cannot run pytest:

However, if I use python in anaconda to install adrt, then it can pass those tests.

Hmm, this definitely shouldn't be happening. I'm guessing this is a downstream consequence of #1. It's possible as part of that it only installed an empty package if the build didn't go correctly. Maybe if we can fix that this will also be resolved.

issue not existing after solving #1


Refactor constants and strings

[ ] Move constants from consts.py to the platform files if they are only used there
[ ] Add constants for all strings, especially in binary_sensor, cover and switch
[ ] Utilise f strings instead of .format() (core comment)
[ ] Add helper functions for retrieving state and calling commands, eliminating all the if statements

Add helper functions for retrieving state and calling commands, eliminating all the if statements

IMO it must be done in another issue. Otherwise, it will increase the size of your PR and made difficult to review it.

Second tick by #126


git push - unknown error

Hello,
I am trying to push a directory into a repo and everything works except from the push command. It does not say anything, the callback does not get executed and I have no idea where is the problem. My implementation:
repo.remote_push("origin","master",function(err){
    console.log(err);
});

I do "add" and "commit" before it of course. Anybody who can help? Since it does not tell me anything, It is hard to tell what went wrong.

Ok so I figured out where is the problem. This is happening only when I am running my server via nodemon. "node server.js" works without any troubles. Strange.

Ok so I figured out where is the problem. This is happening only when I am running my server via nodemon. "node server.js" works without any troubles. Strange.

Ah that's a strange one. Would you mind reopening for further investigation?

No problem. Just to be more specific. It really is the problem, because when I run my server with "node server.js" command, everything works as it should. The same thing happens with other NodeJS modules for Git such as Nodegit.


Tutorial: toy reduction trees

I have begun work on reduction trees! The code I've checked in has a few issues, but is headed towards the non-pipelined version described in #1414 .That is, we take 16 values (already banked for us into the arrays A, B, C, and D, each of size 4), and produce their sum.
The algorithm to do this is:

Stamp out five copies of a binary reduction tree having four leaves.
Pass four values (A[0],B[0],C[0],D[0]) to tree0, four to tree1, four to tree2, and four to tree3. Ideally in parallel, but see below.
Pass four values (tree0.out,tree1.out,tree2.out,tree3.out) to tree4. Then tree4.out is the complete answer.

Issue:
I wanted to run trees 0-3 in parallel, but I don't see how I can do that without creating data races in the various memories' addr0 slots. For tree0 I want to set them all to 0, for tree1 to 1, and so on. Running those in parallel leads to the predictable error:
Assertion failed in TOP.main: Multiple assignment to port `A.addr0'.

It seems to me that truly running these trees in parallel would require the incoming data to be banked 16 ways! Possible resolutions:

I'm missing something; the above is possible in parallel.
I've basically got the right idea, and the above needs to be run in sequence. In that case, the following algorithm is just as good timing-wise and better memory wise:

Stamp out one copy of a binary reduction tree having four leaves.
Pass A[0],B[0],C[0],D[0] to the tree; store the answer in reg col1_sum
...
...
...[3]... reg col3_sum
Pass col1_sum, ..., col3_sum to the tree. Then tree.out is the complete answer.

Pipelining, as described later on in #1414.

Well what do you know, I found a few silly bugs while scrolling through this code on my phone in bed last night, and now it works. I still have that question about parallelism though!

Alrighty, now I've added Python code that uses the builder to inch towards my handwritten solution. It is not 100% there, and I've added inline comments in the .py file to explain what's up. I bet most are trivial – and many echo issues I had in #1486 – but it's possible that, between these to PRs, I've chanced upon an interesting issue in the builder.

@anshumanmohan you're right about the parallelism! There is no way to have a reduction that takes 16 values every cycle without having 16 banks. Memories are extremely primitive so WYSIWYG, i.e., if a memory has one "port" (one address-output pair), then you can only perform one read with it at a time.

Gotcha, thanks! Since parallelism as I described is impossible, I'll move over to the second version of the algorithm, which is just as good timing-wise but better in that it creates one tree, not five:

Stamp out one copy of a binary reduction tree having four leaves.
Pass A[0],B[0],C[0],D[0] to the tree; store tree.out in reg col1_sum
...
...
...[3]... reg col3_sum
Pass col1_sum, ..., col3_sum to the tree. Then tree.out is the complete answer.

Yup! Some terminology background: This is a "space-time" trade-off: you either instantiate more resources in "space" (more copies) which requires more memory bandwidth or you can fold the computation "temporally" which allows you to reuse the same resource over time. Aetherling is all about expressing these space-time trade-offs in the types.

you're right about the parallelism! There is no way to have a reduction that takes 16 values every cycle without having 16 banks. Memories are extremely primitive so WYSIWYG, i.e., if a memory has one "port" (one address-output pair), then you can only perform one read with it at a time.

Just another way to summarize this, borrowing from Dahlia's philosophy: memory banks provide parallelism, and computation logic consumes it. These things need to be balanced, i.e., the memory system needs to provide at least enough parallelism (ports) as the logic needs, or else the logic just has to wait (i.e., go sequentially).


1.4.1 is crashing

Hi,
The latest v1.4.1 is crashing everytime I launched it.
This is just FYI.
I'm on OSX 10.12.6.
Thank you.

Also on 10.14.3

Same with me.
I am using macOS Catalina, and it crashes at the startup.
Thank you!

I tried the lastest from brew cask and it also crashes:
brew cask reinstall linear
==> Downloading https://github.com/mikaa123/linear/releases/download/1.5/linear.zip

error	16:02:51.036911+0100	tccd	Failed to copy signing info for 2320, responsible for file:///Applications/linear.app/Contents/MacOS/linear: #-67062: Error Domain=NSOSStatusErrorDomain Code=-67062 "(null)"
macOS Catalina 10.15.5

I made a PR that should fix it.
While that version is tested, built and released on brew, etc., I made a build and uploaded 1.5.1  here:
https://github.com/gianpaj/linear/releases/tag/1.5.1
The only thing, for some reason the Welcome /Instructions screen appears every time you open the app

@mikaa123 it has been awhile. 😄  Do you think that we should do a little maintenance to update this application? I still use it from time to time in my daily tasks. I would be happy to do some maintenance if you make me a contributor.


Serving Llama3-405B on 2 GPU node with 8H100 following the example in the repository

What happened:
I followed the example in vllm+ray+lws, but somehow meet this bug when using 2 GPU nodes with 8H100 GPUs. here is my deployment:
apiVersion: leaderworkerset.x-k8s.io/v1
kind: LeaderWorkerSet
metadata:
  name: vllm
spec:
  replicas: 1
  leaderWorkerTemplate:
    size: 2
    restartPolicy: RecreateGroupOnPodRestart
    leaderTemplate:
      metadata:
        labels:
          role: leader
      spec:
        containers:
          - name: vllm-leader
            # this image is build with the Dockerfile under ./build
            image: us-central1-docker.pkg.dev/gke-aishared-dev/vllm-ray-multihost/ray-vllm:v0.5.3.post1
            env:
              - name: RAY_CLUSTER_SIZE
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.annotations['leaderworkerset.sigs.k8s.io/size']
              - name: HUGGING_FACE_HUB_TOKEN
                value: ""
            command:
              - sh
              - -c
              - "/vllm-workspace/ray_init.sh leader --ray_cluster_size=$RAY_CLUSTER_SIZE;
                 python3 -m vllm.entrypoints.openai.api_server --port 8080 --model meta-llama/Meta-Llama-3.1-405B-Instruct --tensor-parallel-size 8 --pipeline-parallel-size 2"
            resources:
              limits:
                nvidia.com/gpu: "8"
              requests:
                nvidia.com/gpu: "8"
            ports:
              - containerPort: 8080
    workerTemplate:
      spec:
        containers:
          - name: vllm-worker
            # this image is build with the Dockerfile under ./build
            image: us-central1-docker.pkg.dev/gke-aishared-dev/vllm-ray-multihost/ray-vllm:v0.5.3.post1
            command:
              - sh
              - -c
              - "/vllm-workspace/ray_init.sh worker --ray_address=$(LEADER_NAME).$(LWS_NAME).$(NAMESPACE).svc.cluster.local"
            resources:
              limits:
                nvidia.com/gpu: "8"
              requests:
                nvidia.com/gpu: "8"
            env:
              - name: LEADER_NAME
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.annotations['leaderworkerset.sigs.k8s.io/leader-name']
              - name: NAMESPACE
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.namespace
              - name: LWS_NAME
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.labels['leaderworkerset.sigs.k8s.io/name']
              - name: HUGGING_FACE_HUB_TOKEN
                value: ""

But I saw errors "ValueError: Ray does not allocate any GPUs on the driver node. Consider adjusting the Ray placement group or running the driver on a GPU node."
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Kubernetes version (use kubectl version):
LWS version (use git describe --tags --dirty --always):
Cloud provider or hardware configuration:
OS (e.g: cat /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

seems related to https://github.com/vllm-project/vllm/issues/2406. @gujingit do you know is there a workaround for this?


MSID: 89467 Version: 1 DOI: 2<IP_ADDRESS>7092

"msas": "Cell Biology", "Physics of Living Systems"
"msid": "89467"
"preprintDoi": "10.1101/2<IP_ADDRESS>7092"
"Reviewed Preprint posted": "2023-08-08"
"Sent for peer review": "2023-06-14"
"Posted to bioRxiv": "2023-06-30" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>7092v1/")
[PLACE PDF URL HERE WHEN AVAILABLE] See step 7
Step 1. Inform bioRxiv
Who can help: @QueenKraken, @nlisgo, @scottaubrey

[x] Manuscript is in data hub index (https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v1/by-publisher/elife/get-by-manuscript-id?manuscript_id=89467)

Step 2. Create preview of manuscript
Who can help: @fred-atherden, @nlisgo, @scottaubrey

[ ] Manuscript is available for preview (https://prod--epp.elifesciences.org/preview/89467/v1)

[ ] Trigger import for staging: https://prod--epp.elifesciences.org/import
[ ] Sync data folder with s3://prod-elife-epp-data/data
[ ] Trigger import for staging: https://staging--epp.elifesciences.org/import
[ ] Sync data folder with s3://staging-elife-epp-data/data
[ ] Pull request created to enhanced-preprint-data
[ ] Post link to pull request below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-manuscript
Step 3: Awaiting public reviews and QC
Who can help: Production team

[ ] QC passed or QC not needed

Who can help: Editorial team

[x] Public reviews available on sciety (https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>7092)
[x] Manuscript and editor details at the top of this issue (Supplied by Editorial team)
[ ] Reviews returned by EPP - https://prod--epp.elifesciences.org/api/reviewed-preprints/89467/v1/reviews

Example
"msas": "Genetics and Genomics", "Neuroscience"
"msid": "84628"
"version": "1"
"preprintDoi": "10.1101/2<IP_ADDRESS>4241"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."

"Reviewed Preprint posted": "2023-01-02"
"Sent for peer review": "2022-10-28"
"Posted to bioRxiv": "2022-11-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>4241v1")

Editors:
Reviewing Editor
Michael B Eisen
University of California, Berkeley, United States
Senior Editor
Michael B Eisen
University of California, Berkeley, United States

Step 4: Modify manuscripts.json (no PDF)

[ ] Reviewed preprint is published to EPP (https://elifesciences.org/reviewed-preprints/89467)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[ ] Request that a doi be registered

[ ] Post link to #enhanced-preprint comment below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]

Instructions to modify manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/publish-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/334/files
Once the pull request is merged in it should be available a few minutes later.

Request that a doi
Post the following in #enhanced-preprint:
@Fred can you register a doi for https://elifesciences.org/reviewed-preprints/89467

Step 5: Awaiting search reindex

[ ] Reviewed preprint is avaliable on journal homepage (https://elifesciences.org)

The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.

Additional info
If needed, the jenkins pipeline to reindex search can be triggered sooner.
https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 6: Published! Request PDF generation

[ ] Post the link to the PDF url at the top of the issue

[ ] Post link to #enhanced-preprint comment below

#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]
Post the following to the #enhanced-preprint on slack:
@Ryan Dix-Peek please can you generate a PDF for https://elifesciences.org/reviewed-preprints/89467

Step 7: Introduce PDF to data folder and git repo

[ ] PDF is avaliable at https://github.com/elifesciences/enhanced-preprints-data/raw/master/data/89467/v1/89467-v1.pdf

Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-pdf
Step 8: Add PDF url to manuscripts.json

[ ] Reviewed preprint PDF is available for download (https://prod--epp.elifesciences.org/reviewed-preprints/89467)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[PLACE LINK TO PULL REQUEST HERE]

Instructions to add PDF url to manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/add-pdf-url-to-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/397/files
Once the pull request is merged in it should be available a few minutes later.

Step 9: Done!

[ ] Kettle is on!

Figure titles displaying like section headings; elocations missing from references; Acknowledgements under Discussion for some reason(?)

PDF needs regenrating as the HTML has been changed


AI Assist - Make Claude 3 Opus Available

As a user who is using the AI Assist feature, I want to be able to use Claude 3 Opus instead of GPT4, so that I can leverage the latest advances in AI.
https://www.anthropic.com/api

This is what I'm imagining as the eventual UI for switching between the two models (and more in future):

Closing as we can use https://openrouter.ai, which provides a unified API to many providers.


Fragments with a function-style defaultValue error in v6

Versions:

ember-data-model-fragments: v6.0.1
ember-data: 3.28.13

When pushing a payload to the store for a model that contains a fragment with a function-style defaultValue I receive the following error:
Uncaught TypeError: Cannot read properties of undefined (reading 'length')
    at -private.js:2170:1
    at changeProperties (index.js:589:1)
    at ExampleModel._notifyProperties (-private.js:2168:1)
    at InternalModel.setupData (-private.js:5991:1)
    at Store._load (-private.js:9153:1)
    at Store._pushInternalModel (-private.js:9380:1)
    at -private.js:9331:1
    at Backburner._run (backburner.js:843:1)
    at Backburner._join (backburner.js:822:1)
    at Backburner.join (backburner.js:632:1)

The model is defined like this:
export default class ExampleModel extends Model {
  @attr name;

  @fragment('example-fragment', { defaultValue: () => ({}) }) exampleFragment;
}

The error goes away and everything works when I downgrade to ember-data-model-fragments v5.0.0 and ember-data v3.27.1.
I can also fix the error by swapping to a non-function defaultValue, i.e.:
export default class ExampleModel extends Model {
  @attr name;

  @fragment('example-fragment', { defaultValue: {} }) exampleFragment;
}

Is this a known limitation of v6? Or a bug?
A minimal reproduction can be found here: https://github.com/grayt0r/ember-data-model-fragments-bug (relevant commit).
Thanks!

Oh I actually got the exact same issue ! This PR might fix your issue (https://github.com/adopted-ember-addons/ember-data-model-fragments/pull/474)

@VincentMolinie looks like it does... thank you 🙌

Released as v6.0.2


Add health check on API keys as well

It would be good to include in the health-check a validity check on provided api-keys.

Done in PR #399


Add CNAME for hud.pytorch.org

This is still dependent on us adding the record to cloudflare internally

Does the CNAME file need to be at the root of the repo?

Does the CNAME file need to be at the root of the repo?

It should be where the web root is (in this repo it gets built to a branch called gh-pages where it will be at the root)


Assets automatic download/resolvement?

I've cloned your repo and compilation fails because of missing fonts. Do you plan to publish them on GitHub or use them somehow otherwise?

@SolAstri I have made a document about Download Font Assets.
Feel free to ask me if you have any questions.


pkg/transport: extend wait timeout for write

This helps the test to pass safely in semaphore CI.
Based on my manual testing of several tens of rounds, it may take at most 500ms to return
error in semaphore CI, so I set 1s as a safe value.
I failed to find the root cause. I find out that running tests in parallel has effect on it, but it is not the root cause because travis CI can run this test well.
I didn't dig it more because the wanted error is still returned, and the case is related to the test environment in semaphore CI a lot.

LGTM


Warn if torchvision imported from repo root

Suggested fix for #2239
(Should it be an error or are there cases where it would be desired during development?)

Hi @jamt9000, thanks for this contribution! My only comment here is that we should rather check for the existence of the compiled files _C.so in both Mac and Linux and _C.pyd on Windows, since that shared library is the one that might cause failures when is not found.

Maybe you can use this call to importlib to find it:
https://github.com/pytorch/vision/blob/217e26fcb168aeea00a6341c2a478237f7e75808/torchvision/io/image.py#L17

@andfoy It looks like torchvision checks for _C.so already
https://github.com/pytorch/vision/blob/7a36388cfa4cef309094f3d9aa4606055435f4b4/torchvision/extension.py#L16-L19
https://github.com/pytorch/vision/blob/7a36388cfa4cef309094f3d9aa4606055435f4b4/torchvision/extension.py#L23-L27
and can continue with reduced functionality if it is missing.
Maybe it should always show a warning when _HAS_OPS = False (which could be for several reasons) and then also
show an extra message if the reason for this seems to be because of being in the root dir.

@jamt9000 yes, adding checks for the existence of _HAS_OPS is something that we are considering doing, see for example https://github.com/pytorch/vision/pull/2467 (which makes me think that I should revamp that PR, I completely forgot about it)

and I agree with @andfoy , we should instead check for the existence of the _C library.
I for example always run torchvision from the root folder, but I install it via python setup.py build develop, so it works fine. Also a few other systems might package things weirdly, so it's better to error on the safe side.


Use domain ID instead of domain name when bootstrapping keystone

The bootstrap.py script uses the keystone client to bootstrap the new keystone deployment. It recently started failing with:
Exception in thread Thread-100:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "bootstrap.py", line 45, in create_projects
    name=uuid.uuid4().hex)
  File "/usr/local/lib/python2.7/dist-packages/positional/__init__.py", line 101, in inner
    return wrapped(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/keystoneclient/v3/projects.py", line 97, in create
    **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/keystoneclient/base.py", line 74, in func
    return f(*args, **new_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/keystoneclient/base.py", line 342, in create
    self.key)
  File "/usr/local/lib/python2.7/dist-packages/keystoneclient/base.py", line 173, in _post
    resp, body = self.client.post(url, body=body, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/adapter.py", line 193, in post
    return self.request(url, 'POST', **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/adapter.py", line 344, in request
    resp = super(LegacyJsonAdapter, self).request(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/keystoneauth1/adapter.py", line 112, in request
    return self.session.request(url, method, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/positional/__init__.py", line 101, in inner
    return wrapped(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/keystoneclient/session.py", line 419, in request
    raise exceptions.from_response(resp, method, url)
BadRequest: Could not find domain: Default (HTTP 400) (Request-ID: req-bb472e0d-5822-47ed-a071-0c11af38e0d3)

We should be using the domain ID instead of the name.

Fixed with https://github.com/lbragstad/keystone-performance/commit/052f17621d839e5202c3bddd19e5d0c5cfaca971


Feature: Retrieve Spotify token for API Access

Description
This PR introduces a function getAccessToken that retrieves a Spotify access token using client credentials and a refresh token. It makes a POST request to the Spotify Accounts API to obtain a new access token, handles errors, and returns the access token data if successful. Additionally, it includes test cases for various scenarios.
Changes Made

Added the getAccessToken function that retrieves Spotify access tokens.
Created unit tests for the getAccessToken function to cover different scenarios.
Included error handling for invalid client credentials and refresh tokens.

Motivation and Context
This PR aims to enhance the codebase by providing a reusable function for obtaining Spotify access tokens. It also improves code quality by adding test cases to ensure the function behaves correctly.
How to Test

Ensure you have the required environment variables (SPOTIFY_CLIENT_ID, SPOTIFY_CLIENT_SECRET, SPOTIFY_REFRESH_TOKEN) set correctly.
Run the test suite using a testing framework (e.g., Jest) to verify the functionality of the getAccessToken function.

Screenshots (if applicable)
N/A
Checklist

[x] The code builds and runs successfully.
[x] Unit tests cover different scenarios.
[x] Error handling is in place for invalid client credentials and refresh tokens.
[x] The code adheres to the project's coding standards.
[x] Documentation and comments are added as necessary.

Related Issues
N/A

LGTM.


EMA doesn't function properly in jax and torch backend

Hi Keras team,
I have found that EMA in optimizers doesn't function properly in jax and torch backend.
You can see the result in this colab: https://colab.research.google.com/drive/1g-fB4ELT0lwSb6WL6chqRlIjSVsIhOzQ?usp=sharing
from keras import ops
from keras import optimizers
from keras import Variable

variable = Variable([10.0], trainable=True)
optimizer = optimizers.SGD(use_ema=True)
optimizer.build([variable])

gradients = ops.convert_to_tensor([1.0])
for _ in range(10):
    optimizer.apply_gradients(zip([gradients], [variable]))

print(variable.value)  # all trainable backend got 9.899998
optimizer.finalize_variable_values([variable])
print(variable.value)  # 9.985618 in tensorflow but 0.0 in jax and torch

Despite the mentioned bug, the current implementation of EMA in optimizer is not user-friendly.
During fitting, it is often to evaluate the model using average weights. However, it is challenging to finalize_variable_values before evaluation and restore the weights afterward while fitting.
Here is my suggestion by moving the implementation of EMA from the optimizer to the trainer:

store the average weights in models.Model if use_ema=True
save the current weights before applying averaging (swapping can be utilized to save space)
apply averaging before evaluate
restore the previous weights after evaluate

Additionally, we can expose functions like apply_ema_weights and restore_previous_weights in Trainer for better UX when user want to implement a custom training loop.
I can try to open a PR if this sounds good.

Thanks for the report. Coincidentally I became aware of this a few hours before you opened this issue, as I started working on gradient accumulation support...
This is all fixed as part of: https://github.com/keras-team/keras/pull/18951

Despite the mentioned bug, the current implementation of EMA in optimizer is not user-friendly.
During fitting, it is often to evaluate the model using average weights. However, it is challenging to finalize_variable_values before evaluation and restore the weights afterward while fitting.

Two possible solutions are:

Apply the averaging manually in a callback.
Just use ema_overwrite_frequency to regularly overwrite weights (e.g. every 1000 steps). This guarantees that whenever you evaluate your model, its weights have been synced relatively recently.

Two possible solutions are:
* Apply the averaging manually in a callback.

* Just use `ema_overwrite_frequency` to regularly overwrite weights (e.g. every 1000 steps). This guarantees that whenever you evaluate your model, its weights have been synced relatively recently.

Actually, I have implemented a similar workaround to get averaged model before evaluation:
# pseudocode below
class EMACallback(callbacks.Callback):
    def on_test_begin(self, logs=None):
        self.optimizer.finalize_variable_values(self.model.trainable_variables)

However, one issue remains:
How can we restore the original training weights after the evaluation to continue the training?
I believe the dynamics will change if we overwrite the model weights during the fitting.
For example, the official training script of EfficientNet only applies averaging weights during evaluation:
https://github.com/tensorflow/tpu/blob/master/models/official/efficientnet/main.py#L517-L518
https://github.com/tensorflow/tpu/blob/master/models/official/efficientnet/main.py#L557-L565
Moreover, it is impossible to apply EMA to model.variables including the statistics of BN, since we only apply model.trainable_variables in the optimizer.
We can implement all the above logic in a custom callback (which I have done before), but the training speed slows down significantly. (The reason should be the calculations are outside of the compiled function)
The minimal solution based on the current implementation might be:

Replace finalize_variable_values with the apis like apply_ema_weights and restore_model_weights to provide more fine-grained control (or combine them as swap_ema_weights!?)
Add EMACallback to invoke apply_ema_weights in on_[test|predict]_begin and restore_model_weights in on_[test|predict]_end

Replace finalize_variable_values with the apis like apply_ema_weights and restore_model_weights to provide more fine-grained control (or combine them as swap_ema_weights!?)

What would the APIs and the workflow look like?

I believe the dynamics will change if we overwrite the weights during the fitting.

Yes, but the impact is not material, typically.

Moreover, it is impossible to apply EMA to model.variables including the statistics of BN, since we only apply model.trainable_variables in the optimizer.

It should not matter because the way these weights are obtained in BN means that they wouldn't be improved by reassigning them to an EMA. They're already obtained via EMA of the per-batch statistics. No need to double the EMA. In fact it would make the model suck, most likely, because the BN stats would take took long to update, since they would update the rate of ema_momentum * bn_momentum = 1e-4. So it should be strictly better to exclude them from the EMA.
Please note that I've update the EMA variable initialization mechanism so that the EMA weights are initialized with the original variable value rather than the value after the first gradient update. This simplifies the code and it means we don't need to track an additional Variable in the base optimizer to monitor whether the weights have been initialized. https://github.com/keras-team/keras/commit/335989b42ed14150821861b2996afc66d2af583e

What would the APIs and the workflow look like?

I have come up with the following callback implementation; no additional API is needed:
from keras import callbacks
from keras import ops

class SwapEMAWeights(callbacks.Callback):
    def _swap_variables(self, variable, average_variable):
        temporary_variable = ops.convert_to_numpy(variable)
        variable.assign(average_variable)
        average_variable.assign(temporary_variable)

    def on_test_begin(self, logs=None):
        for var, average_var in zip(
            self.model.trainable_variables,
            self.model.optimizer._model_variables_moving_average,
        ):
            self._swap_variables(var, average_var)

    def on_test_end(self, logs=None):
        for var, average_var in zip(
            self.model.trainable_variables,
            self.model.optimizer._model_variables_moving_average,
        ):
            self._swap_variables(var, average_var)

    def on_predict_begin(self, logs=None):
        for var, average_var in zip(
            self.model.trainable_variables,
            self.model.optimizer._model_variables_moving_average,
        ):
            self._swap_variables(var, average_var)

    def on_predict_end(self, logs=None):
        for var, average_var in zip(
            self.model.trainable_variables,
            self.model.optimizer._model_variables_moving_average,
        ):
            self._swap_variables(var, average_var)

Yes, but the impact is not material, typically.
It should not matter because the way these weights are obtained in BN means that they wouldn't be improved by reassigning them to an EMA. They're already obtained via EMA of the per-batch statistics. No need to double the EMA. In fact it would make the model suck, most likely, because the BN stats would take took long to update, since they would update the rate of ema_momentum * bn_momentum = 1e-4. So it should be strictly better to exclude them from the EMA.

Thanks for the clarification. I agree that we shouldn't double the EMA in BN.
However, aligning the implementation of certain models can sometimes be challenging.

timm (torch): https://github.com/huggingface/pytorch-image-models/blob/main/timm/utils/model_ema.py#L115-L120
yolov8 (torch): https://github.com/ultralytics/ultralytics/blob/main/ultralytics/utils/torch_utils.py#L406-L417
efficientnet (tensorflow): https://github.com/tensorflow/tpu/blob/master/models/official/efficientnet/utils.py#L339-L346

Please note that I've update the EMA variable initialization mechanism so that the EMA weights are initialized with the original variable value rather than the value after the first gradient update. This simplifies the code and it means we don't need to track an additional Variable in the base optimizer to monitor whether the weights have been initialized. 335989b

Thanks for the update; it is cleaner than before. However, I ran into the following issue when use_ema=True and compile(jit_compile=True) with CUDA:
iterator = <tensorflow.python.data.ops.iterator_ops.OwnedIterator object at 0x7f8b680cb3d0>

    @tf.autograph.experimental.do_not_convert
    def one_step_on_iterator(iterator):
        """Runs a single training step given a Dataset iterator."""
        data = next(iterator)
>       outputs = self.distribute_strategy.run(
            one_step_on_data, args=(data,)
        )
E       tensorflow.python.framework.errors_impl.UnimplementedError: We failed to lift variable creations out of this tf.function, so this tf.function cannot be run on XLA. A possible workaround is to move variable creation outside of the XLA compiled function.

The commit I pushed earlier ran successfully instead: 095de43

Thanks for the update; it is cleaner than before. However, I ran into the following issue when use_ema=True and compile(jit_compile=True) with CUDA:

Thanks, I looked into it. Seems to be a fairly complex TF issue. Rather than debugging it I opted for a different initialization strategy, setting the momentum to 0 when iterations == 0.

Thanks, I looked into it. Seems to be a fairly complex TF issue. Rather than debugging it I opted for a different initialization strategy, setting the momentum to 0 when iterations == 0.

I can confirm that the issue has been resolved! Thanks for the swift updates.

This issue has been resolved.


Add Button to expand recents.  Simplify localStorage.

At one point earlier today I managed to write 400 lines of code including a full schema migration to support a new field called lastUpdated.  I discarded all those changes and re-wrote it to be as simple as possible.

Still sorts by creation time, which may not be ideal.
Simple more/less toggle.  If we get more than like 100, we'll need more options, but this is fine for now.
Added some code to remove most of the of unnecessary cost in storage and serialization from large image sequences.
  Now all image sequences are just a stack.\

fixes #591

Forgot to request.


Changes for PAM support needed on RHEL7/Centos7

The following change adds in support for the changed path and filename for the PAM module. This can be used if you have PAM already configured to support LDAP rather than hitting up LDAP directly (ie UsePAM => true, rather than UseLDAP => true). ie this is another way of tackling the problems raised in #172

Thank you for sorting this out.
I tried to resolve the merge conflicts, could you verify the functionality again?

Can do. Give me a day or so to work through it all with the tests. Should be simple, just busy at work today.

I can't get the tests running as currently you explicitly require puppet-lint 1.0.1 in the Gemfile. Current lint is 2.1.0. Could I upgrade the Gem to that and work on updating the tests?

I can't get the tests running as currently you explicitly require puppet-lint 1.0.1 in the Gemfile. Current lint is 2.1.0. Could I upgrade the Gem to that and work on updating the tests?

Sure, feel free to update it.

Lint updated. Lots of changes to be 4.x compatible. Now the tests are completely broken :( I'll have to dig through and find out just what it is up as they seem to be broken in some really fundamental ways - like not even being able to instance the core class due to missing global variables like ::osfamily. Might be a few more days yet.

@WetHippie Do you want to rebase (and squash) this for review?

Hi @WetHippie, are you still interested in getting this merged? If so, could you please rebase?

Hi. I'm going to close this PR due to inactivity. Please rebase it and address the comments above if you're still interested in it.


NVRAM emulation

I have native NVRAM support for this configuration:

CPU: [Intel Core i9 9900k]
GPU: [AMD Radeon VII]
Motherboard: [Designaire Z390]
Storage: [NVME Samsung SSD 970 EVO 1TB]

After updating BIOS, you can manually disable CFG-Lock, allowing for NVRAM in R/W mode. I've got this working with latest BIOS update (F9i) and using OpenCore 0.6.4.
BIOS:
https://www.gigabyte.com/us/Motherboard/Z390-DESIGNARE-rev-10/support#support-dl
OpenCorePkg:
https://github.com/acidanthera/OpenCorePkg

Thank you for this, I will give it a try as soon as I can.

Thank you for this, I will give it a try as soon as I can.

@idioma I know I'm dragging my feet. This is kinda on the backburner because it's not a big priority for me. I will test it, I swear!..... eventually

What is the benefits of NVRAM emulation? I didnt got, what is nvram is about

@tucomel TBH the biggest benefit for me would be remembering your last boot selection

@tucomel Glad to hear it!

@baughmann / @tucomel / @idioma
I used HackinDROM tool (https://hackindrom.zapto.org) to generate a new EFI and seems to fix this issue at least it gave me chime sound when booting and I was able to disable it on the sound preference not sure if this is related to this issue.
I did tweak it to use USBInjectALL as it had the USB ports problem with 11.3.1 so you could just remove it and use the USB port mapping
Please try it out and let me know if it does fixes the problem
EFI.zip

使用了你的efi启动11.4 USB貌似无效  只有3.1能用3.0死掉。导致开机会有USB的报错但是能进入系统。开机会在1分钟左右。请优化

Hi, @diyqsxl please check out my latest EFI variant for Big Sur.
https://github.com/baughmann/designaire-z390-intel-i9-9900k-opencore/issues/48#issuecomment-871031750
This build uses OpenCore 0.7 for Big Sur 11.4 (20F71)
It includes working DRM playback on Safari, AppleTV, Hulu, Prime, and iTunes.
You'll also need to update bios to version F9i to properly disable CFG Lock, VT-d, and iGPU.

谢谢我已经找到了。 那是一个3.1的开关跟作者的bios设置图不一样。希望作者能更正。最好使用bios备份文件及txt。一目了然


[sdk-server] /approveIfNeeded taking a min to respond

Describe the bug
A clear and concise description of what the bug is.

Initial investigation suggests the issue is at network latency by RPCs
Though we do require testing server status as well

[NEW ISSUE] Response is coming gateway error.
Issue reported by Alchemix
To Reproduce
Steps to reproduce the behavior:

Go to '...'

Additional context
Add any other context about the problem here.

Caused by use of default public providers in sdk-server. Users should be passing in a provider to the options param:
POST {{baseUrl}}/calculateSwap
Content-Type: application/json

{
  "domainId": "1869640809",
  "tokenAddress": "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58",
  "tokenIndexFrom": "0",
  "tokenIndexTo": "1",
  "amount": "100000000000000",
  "options": {
    "originProviderUrl": "https://optimism-mainnet.infura.io/v3/<my_api_key>"
  }
}

This is a list of functions that users should pass options for:
approveIfNeeded: 180203ms
calculateSwap: 120274ms
calculateTokenAmount: 120305ms
calculateRemoveSwapLiquidity: 180567ms
calculateRemoveSwapLiquidityOneToken: 138842ms
calculateAddLiquidityPriceImpact: 120195ms
calculateAddLiquidityPriceImpact:  120336ms
calculateSwapPriceImpact: 120298ms
getTokenSupply: 180167ms
getTokenUserBalance: 180237ms
getPoolTokenBalance: 120187ms
getVirtualPrice: 130283ms
removeLiquidityImbalance: 180176ms
swap: 180522ms


does ros2-for-unity support ros2 iron?

In the environment of ROS2 humble version on Ubuntu 22.04, I have successfully run the ros2-for-unity plugin, but I found some defects in ros2 humble. So, I want to replace ROS2 humble with the Iron version in the Ubuntu 22.04 environment. Are there any friends who have successfully run ros2-for-unity in the ubuntu 22.04 ros2 iron environment? Please tell me if this is feasible?thank you very much .

How did your experience with ROS2 Humble in Unity go? I installed Unity on my Ubuntu 22 and downloaded the ros2 humble unity package, placing it in the assets folder. What should I do next? Also, what defects did you face?

We don't have an Iron release, but you can try building it from source.

How did your experience with ROS2 Humble in Unity go? I installed Unity on my Ubuntu 22 and downloaded the ros2 humble unity package, placing it in the assets folder. What should I do next? Also, what defects did you face?
I used overlay mode,which means that ros2 should be install in your ubuntu.I haven't try standalone mode.

How did your experience with ROS2 Humble in Unity go? I installed Unity on my Ubuntu 22 and downloaded the ros2 humble unity package, placing it in the assets folder. What should I do next? Also, what defects did you face?

The defect is about moveit2 in ros2,Humble doesn't have full function of moveit2.

We don't have an Iron release, but you can try building it from source.

ok,thank you


Doc should point out that 'az iotcentral' is deprecated

Please add a note that 'az iotcentral' is deprecated and instead 'az iot central' should be used.

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

ID: f1bb68fd-f7ec-b129-9617-3ca02fc99340
Version Independent ID: 9fb673ac-1cfe-f9ee-9da4-86fbcbe39dd7
Content: azure-cli-iot-ext
Content Source: latest/docs-ref-autogen/ext/azure-cli-iot-ext/index.yml
Service: iot-hub
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

thanks for reporting, we're looking at it.

We've added deprecation/removal messages for the legacy iot extension "azure-cli-iot-ext" which had the deprecated az iotcentral root command group that this issue references. There are also warnings shown when running commands from the deprecated extension.
https://docs.microsoft.com/en-us/cli/azure/ext/azure-cli-iot-ext/?view=azure-cli-latest
https://docs.microsoft.com/en-us/cli/azure/azure-cli-extensions-list?view=azure-cli-latest


Move contents to support multi-languages.

Hi, we've started Japanese translation by digitalcube and collaborators.
As preparation before us to work, we want to change to a structure that supports multi-language.
F.Y.I As a precaution, it may be better to have a branch, such as multi-languages before you merge directly to the master. It is enough for us to work.

We've started translation to japanese.
https://www.gitbook.com/book/megumiteam/mautic-documentation-japanese/details/ja

We have just finished translation to Ja. I'll create new PR soon.


Explore integration with Ivy

Link to the website: https://lets-unify.ai/

Thanks!
On the 2nd thought, I think it's enough to keep it on the list here https://github.com/iterative/mlem/issues/208
closing this issue for now.


Page loads for a second and then changes to "Undefined" in firefox

I have it setup and it works fine on Edge, Chrome, and Android phones, but when loading via Firefox, the site will load everything for a second before just leaving the profile picture and "undefined"
Loading:

After Loading in Firefox:

In Chrome it works fine:

Not what's causing the issue (running through a reverse proxy with SSL certs and everything working properly)
Folks on iPhone, Safari and Aloha are reporting "Undefined" as well.
Thoughts?

Sorry about that.  I see what's going on.  Fixed by https://github.com/techno-tim/littlelink-server/commit/9f3bde8324afac1502fc9f455479c315f2096be1  rolling out now

Nothing to be sorry about at all. Fix works like a charm!!  Thank you for building this as well!


Add Indexing file for CORE corpus

Hi @bazingagin can you please add a simple test?
E.g., store a small sample of .xz file in src/test/resources/sample_docs/ somewhere and write some test cases that demonstrate parsing the collection?
Thanks!

Actually, can you follow the template here: https://github.com/castorini/anserini/blob/master/src/test/java/io/anserini/collection/JsonLineObjectTest.java
(Which doesn't involve checking xz data into the repo.


[FEA] Enable StringLPad

Is your feature request related to a problem? Please describe.
Support https://spark.apache.org/docs/latest/api/sql/#lpad .  CUDF provides a pad function: https://docs.rapids.ai/api/cudf/stable/api.html#cudf.core.column.string.StringMethods.pad
Describe the solution you'd like
Allow Spark SQL queries to use the lpad  function on strings.

To make this work we are going to have to put in JNI bindings for cudf::strings::pad_side, cudf::strings::pad, and cudf::strings::slice_strings so we can match the truncate that spark does for strings that are too long.


Possible problem loading game with Linux Chrome 43

I'm seeing some error logs:

Error: Failed to execute 'importScripts' on 'WorkerGlobalScope': The script at 'https://codecombat.com/javascripts/app/vendor/aether-python.js' failed to load.

They all happen in Linux Chrome 43. I haven't had a chance to spin one of these up to see what's going on and if it happens to everyone on that browser or just some people, or if it causes levels to not load. Can anyone on Linux test this out for me?

Always has worked fine for me in Chromium 43 and 44 on Linux...levels load fine without errors like the one above.


Move on_backoff call to class method

I didn't like the previous code style to be honest, quite a vague method to reference self. I was not able to try this, however according to the docs calling a class method should work as well.

Looks better indeed. You can try your code throwing yourself an error in a method. You will see if the backoff method is called or not.

Closed in favor of #510


Add phone to CommunicationIdentifierType

Related Issues

Links https://transcend.height.app/T-13994

Security Implications
[none]
System Availability
[none]

will do!


Can ForeignKey Widgets with creation be made compatible with memoization?

I tried optimising my imports by adding memoization to various functions used in some Widget.clean methods and it worked at least on first glance with importing from CLI and with web admin import before confirming it. But as soon as I hit Confirm I get IntegrityError because lru_cache remembered IDs that were rolled back.

Maybe this will work: https://github.com/anx-ckreuzberger/django-request-cache

Looks like it worked. But don't use it on the clean method, obviously each call arguments will be different because of row.


ast-grep: 0.19.0 -> 0.19.1

Signed-off-by: Muhammad Falak R Wani<EMAIL_ADDRESS>Description of changes
Diff: https://github.com/ast-grep/ast-grep/compare/0.19.0...0.19.1
Changelog: https://github.com/ast-grep/ast-grep/blob/0.19.1/CHANGELOG.md

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.05 Release Notes (or backporting 23.05 and 23.11 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.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 290125 run on x86_64-linux 1

1 package built:

ast-grep

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/1460


Ideas: socials app + p2p proof of presence

@jefflau @makoto
Jeff and I were once working on an idea called Socials, which was sort of a cross between Meetup and Twitter. People could setup ad-hoc events which other people could then join. Once joined people could share info in the chatroom. All SoLoMo  :p  Regular event organizers could setup a "club" which would have members, etc. etc.
Anyway, I was thinking that block party could be extended a little with a similar idea. A mobile app which allows for ad-hoc event/meet setup. Two types of events:

Free ones
Paid ones

Only the paid ones need to utilise the blockparty blockchain stuff. Basically, in order to attend a paid event the user would need to pay some "tokens". If they don't have any tokens they would have to purchase them via an in-app payment (Play store, App store).
When the user first purchases tokens they would actually be creating an Ethereum account and purchasing Ether, which would then get sent to some contract we have that then issues them tokens. We can use uPort or some similar identity mechanism for storing and handling keys.
Once they have tokens, they would "purchase" entry to the event with X number of tokens as specified by the event. Purchasing would involve invoking the blockparty contract. From this point onwards everything works as normally does in blockparty, and the user gets a split of the eventual token pot.
Users will be able to gift other users tokens. As for selling, will have to think about that.
One key point is that users don't even need to know that the whole thing runs on Ethereum, that's just for us in the backend.
There's nothing like this out there - meetup.com doesn't give you a payout from a central pot and their mobile app doesn't allow for ad-hoc setups in the way I'm thinking of.

Now on to proof of presence and how that can be made to work well...
So event organizer acts as "trusted verifier". In order to prove my attendance both I and the event organizer must be running our app on our phones and come within certain distance of each other. When the phones are within certain distance we may be able to use Bluetooth scanning or some similar mechanism to passively prove presence - I prefer passive to active (e.g. manually syncing QR codes) as otherwise it's an annoyance. But if has to be active then must be made as simple as possible.
If using GPS to prove presence then I opt for 100m rather than something smaller because an event could be meeting at a festival/park/etc that constitutes a large area. Moreover GPS may be slightly off, so again you need some slack. I think 100m is reasonable. Obviously, if we use something like Bluetooth to prove presence you'd actually need to be within 10m or so anyway. Perhaps a stack of methods in priority order can be used, e.g. try Bluetooth first, followed by GPS, etc.
Now here's the cool part. If I have proof of presence then the next person who attends only needs to come near my phone to get proof of presence. So it's kind of a p2p proof of presence. Of course, they can still go near the event organizer's phone to again get proof of presence. If you iterate forward, as more people attend, it becomes marginally easier for the next attendee to prove presence, which means this method scales up really well.

Further notes:

Nice thing about using tokens rather than Ether is that giving a user tokens is simply a matter of calling into a contract. And so we can give them a fixed price that's disconnected from Ether price. E.g. £1 = 100 tokens

All users get normal web accounts. If they want to attend a paid event only then do we need to create an Ethereum key-pair for them. And we can store this key-pair in the backend against their web account (client-side encryption, zero-knowledge authentication, of course). This is nice because it means we don't even need to use uPort since they have a normal web account which can be used to recover their Ethereum data at any point. And it's still secure :)

Regarding event payments...
Paid events have a running cost. Thus, you can't get all your tokens back since some are required to cover the cost of running. So really the pitch is that people who don't show up forfeit their payment and that that payment comes back to you.
The payout per user should be proportional to the no. of tokens they paid in. If I pay in twice as many tokens as Jeff I should get double his payout, for whatever payout eventually happens. This would be an interesting dynamic - would people often choose to pay more than the asking price in order to get a larger payout? Very interesting.
At this point it's almost like a betting game. The larger you pay in, the more likely you think it is that some people won't actually turn up. Interesting!

If you free event doesn't require blockchain access then how do you guarantee people are going to come? I think the original vision (and MVP) for Blockparty is that it creates incentive to show up for an event. If no one is paying a deposit, there's nothing to lose or share (to those that do come).
I was also thinking about paid events could just be deposit + ticket cost. So for instance we could have a paid event that involves us going to a club, the ticket costs £20, but you pay £25 and the additional deposit gets refunded on proof of attendence/presence.

@jefflau @hiddentao thanks for the input. I was away for holiday for a while.
proof of presence
If I have proof of presence then the next person who attends only needs to come near my phone to get proof of presence.
I thought something similar of letting people to link to each other until everybody (or more than 50%) gets connected but that cannot still prevent fake participation remotely so your idea of linking to organizer is better. It's a "People chain"!
token as participation
I actually briefly thought about it before and discarded for the 2 reasons.

How do you additional info such as twitter account when all the action users take is to purchase the token?
If people only interact via token, can they still invoke function of Dapp (eg: withdraw function)?

These concerns may go away if we can completely hide Ethereum from users, but it still expose
Participating via Token is lowers barrier to entry but if the users are not equipped how to interact with contract, that
I wasn't big fan of how DAO made participation so easy by just buying a token but that made difficult for normal users to withdraw Ether because they had no clue how to interact with DAO.
It would be super great if hiding Ethereum can solve these issues.
Free vs Paid
I think our USP is for Free event. If organiser wants to charge, they can just use EventBrite. I like the idea of organising the party on the spot from mobile (like we were sort of doing via WeChat while we were in Shanghai) but that can be done without Blockchain. Paid event integration can be done in the future but probably lower priority.

About the mobile event management, it sounds similar to this http://techcitynews.com/2016/10/16/qa-louise-doherty-of-plansnap-on-being-accepted-onto-techstars-and-using-sport-to-combat-startup-craziness/ . The company apparently got some sponsorship deal without writing single line of code, meaning they have nothing :-)

Some good thoughts there. I like the "people chain" term. I'm even thinking that that "proof-of-presence" functionality itself could be refactored out as a separate commercial service.
PlanSnap has a decent enough name. They're looking for a CTO - https://www.f6s.com/plansnap. "I love her business idea mainly for solving a real social issue - frictionless planning with friends - in a revolutionary way"

Yes, proof-of-presence has a wider application so best to be decoupled from blockparty. Happy to integrate if you made one :-)


Custom widget support

After release: 1.0.0-alpha.24, the custom widget example (so called: "wizard") where you could page through the field-set's is not working anymore. In case you have a large json schema which you want to use in this control, then it becomes necessary from a UX perspective to be able to group/page/tab.....things (so as user you get the overview). Can you fix this in a newer release?

Definitely, we will.

ok, cool.
Any idea when we can expect this? thanks

I will do my best to have it fixed by next week.

Do not hesitate to ping me if nothing happen, as I might forget :)

great, I will check in a week.
thanks for the effort.

@fbessou actually I cannot find back this "wizard" feature, any hints? did you moved it into a separate add-on?

The wizard widget was an example widget developped for the angular2-schema-form module :
You can find it here : https://github.com/fbessou/angular2-schema-form-demo/blob/master/src/app/wizard.widget.ts
I can extract it to its own module if you want.

@fbessou thanks for pointing me to the right place.
No I didn't mean to make it an actual module.
I will just test this example with the current version (and upgrade it as @bombompb mentioned it seems broken since alpha.24).

ping ping, just checking in after a week. How is it going?

@bombompb sorry, I did not told you. @fbessou has upgraded https://github.com/fbessou/angular2-schema-form-demo (thanks @fbessou :) ), where you can see the "wizard" demo, and it works just fine with the current angular2-schema-form version.

Thanks, this indeed resolved the issue.


Function for getting the history of a specific key

We have a current scenario where actors such as an auditor would like to see the entire history of a specific product with changes and timestamps. This is currently not possible in the chain code. It would suffice to get the history of a given Key as an array of MetaObjects as it is documented on the ledger itself (using e.g. getHistoryForKey).

Implemented with Pull request #12


Update version to 0.11.4

This change is

Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


m4 fails to build

See https://<IP_ADDRESS>:8443/job/Port-Build/83/console for details
In file included from ./canonicalize.c:31:
In file included from /jenkins/workspace/Port-Build/m4/m4-1.4.19/lib/scratch_buffer.h:121:
/jenkins/workspace/Port-Build/m4/m4-1.4.19/lib/malloc/scratch_buffer.h:69:11: error: unknown type name 'max_align_t'
  union { max_align_t __align; char __c[1024]; } __space;
          ^
1 error generated.
Error while processing ./canonicalize.c.

fixed. had to add -std=c11 to CFLAGS


fix: CRD schema generator does not take JsonProperty.PropertyName value into consideration

This fixes #158 by setting the schema property name to the JsonPropertyAttribute.PropertyName value if set on the PropertyInfo instance before applying camel-casing.

Wow, thanks :-)


Add userns support

It is available via the /index-userns.html URL instead.

I tested in the following way:
make dev
make
make image
docker tag r.j3ss.co/contained.af:latest quay.io/kinvolk/contained.af:alban001
docker push quay.io/kinvolk/contained.af:alban001

And then, I used https://github.com/kinvolk/container-escape-bounty with the following patch:
--- a/terraform/provisioning/common.bash
+++ b/terraform/provisioning/common.bash
@@ -42,7 +42,7 @@ common::contained.af_run() {
   sudo docker run -d \
     --name contained.af \
     --network host \
-    quay.io/kinvolk/contained.af:container-escape-bounty-latest \
+    quay.io/kinvolk/contained.af:alban001 \
     -d
 }

Then, in https://albanbox-flatcar.$DOMAIN/index-userns.html, I get a shell and I tried:
/ # cat /proc/self/uid_map
         0     100000      65536
/ #

This worked for me functionality wise!

Closing in favour of https://github.com/kinvolk/contained.af/pull/8


Missing connections from short-lived processes

My simple app has a Python front-end with Redis for cache and Node image generator backend.
Try running it:
scope launch
weave launch
eval $(weave env)
git clone -b ecs-demo https://github.com/errordeveloper/identiorca
cd identiorca
docker-compose up -d

Hit the identiorca container on the port published by Docker, and Scope shows connection to redis.weave.local,  but doesn't show connections to dnmonster.weave.local, although those are made on each request.

Report.

For some reason, when I'm using v0.13.1 in ECS the edge appears as expected.

although those are made on each request.

Nope. They're only made when you request identiorca:9090/monster/foo?no_cache=1 or the redis cache request misses. Is the redis request failing?
Also, it seems like the python process in the identiorca container is not being attributed correctly.

My hypothesis is that because uwsgi is creating a process per request (which comes and goes very quickly), the procwalker polling interval is too long to generally catch this.

I can confirm this with the dockerfile:
FROM python:3.4

RUN apt-get update && apt-get install -y telnet netcat ucspi-tcp

EXPOSE 9090

CMD ["tcpserver", "-v", "0", "9090", "/bin/bash", "-c", "(sleep 5 ; echo 'GET /monster/foo HTTP/1.1\n\n') | nc -q 6 dnmonster 8080"]

Although, @2opremio mentions that conntrack should maybe still associate it with the container...

@errordeveloper Could you check if this is still a problem?

@2opremio mentions that conntrack should maybe still associate it with the container...

If the origin and destination IPs can be attributed to a single container, then they should

Updated reproducer:
https://github.com/ThePixelMonsterzApp/infra
Docker compose and (maybe) k8s.

I ran the following experiment
$ scope launch
$ weave launch
$ eval $(weave env)
$ docker run --name=fortune -tdi andis/http-fortune
b5e2ff742782d94f640f756d4635c52561f606c30c5242720eef0be960eddb15
$ docker run --rm -ti alpine /bin/sh
/ # wget -qO - fortune:8080
...

Running scope normally, the short-lived connection doesn't show up. But when running scope with --probe.ebpf.connections=true it does. So I consider this fixed by #2135.


Update index.md

Thank you for contributing! Please confirm this pull request meets the following requirements:

[ ] I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.md
[ ] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

[ ] Suggesting edits to an existing topic or collection
[ ] Curating a new topic or collection

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288)
[ ] Content (and my changes are in index.md)

Please replace this line with an explanation of why you think these changes should be made.

Curating a new topic or collection

[ ] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[ ] My folder contains a *.png image (if applicable) and index.md
[ ] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

Please replace this line with an explanation of why you think this topic or collection should be curated.

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

This was my first one it only took me 2 months to understand that I had to text index.md at the front 🤣🤣🤣

Lisa Budzinski
On Wed, Jul 3, 2019, 11:10 AM Tonni Larsen<EMAIL_ADDRESS>wrote:

Thank you for contributing! Please confirm this pull request meets the
following requirements:

✓ I followed the contributing guidelines:
https://github.com/github/explore/blob/master/CONTRIBUTING.md
I have no affiliation with the project I am suggesting (as a
maintainer, creator, contractor, or employee).

Which change are you proposing?

✓ Suggesting edits to an existing topic or collection
Curating a new topic or collection

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

Image (and my file is *.png, square, dimensions 288x288)
✓ Content (and my changes are in index.md)

Please replace this line with an explanation of why you think these
changes should be made.
Curating a new topic or collection

✓ I've formatted my changes as a new folder directory, named for the
topic or collection as it appears in the URL on GitHub (e.g.
https://github.com/topics/[NAME] or
https://github.com/collections/[NAME])
✓ My folder contains a *.png image (if applicable) and index.md
✓ All required fields in my index.md conform to the Style Guide and
API docs: https://github.com/github/explore/tree/master/docs

Please replace this line with an explanation of why you think this topic
or collection should be curated.

Please note: we will close your PR without comment if you do not check
the boxes above and provide ALL requested information.
You can view, comment on, or merge this pull request online at:
https://github.com/github/explore/pull/847
Commit Summary

Update index.md

File Changes

M topics/bitcoin/index.md
https://github.com/github/explore/pull/847/files#diff-0 (4)

Patch Links:

https://github.com/github/explore/pull/847.patch
https://github.com/github/explore/pull/847.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/github/explore/pull/847?email_source=notifications&email_token=AHLLGCTLGR2KXB5TCPK3NPTP5S6PXA5CNFSM4H5G4DPKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G5FFJRA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHLLGCVMOZLTCZVPEAAFXDDP5S6PXANCNFSM4H5G4DPA
.

Lisa Budzinski
On Wed, Jul 3, 2019, 11:12 AM Tonni Larsen<EMAIL_ADDRESS>wrote:

This was my first one it only took me 2 months to understand that I had to
text index.md at the front 🤣🤣🤣
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/github/explore/pull/847?email_source=notifications&email_token=AHLLGCSP4VCLEUQTAQ3Y47LP5S6XJA5CNFSM4H5G4DPKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZEYU6I#issuecomment-508136057,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHLLGCQDEHSJC7QIBB63AP3P5S6XJANCNFSM4H5G4DPA
.

Lisa Budzinski
On Thu, Jul 4, 2019, 8:50 AM Justin Kenyon<EMAIL_ADDRESS>wrote:

Closed #847 https://github.com/github/explore/pull/847.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/github/explore/pull/847?email_source=notifications&email_token=AHLLGCT4TCVTO2DVR6NDRS3P5XWX3A5CNFSM4H5G4DPKYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOSKUFQSQ#event-2460506186,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHLLGCRJ2WKVJPZJLM225BDP5XWX3ANCNFSM4H5G4DPA
.

Lisa Budzinski
On Wed, Jul 10, 2019, 9:37 PM Lisa Budzinski<EMAIL_ADDRESS>wrote:

Lisa Budzinski
On Thu, Jul 4, 2019, 8:50 AM Justin Kenyon<EMAIL_ADDRESS>wrote:

Closed #847 https://github.com/github/explore/pull/847.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<
https://github.com/github/explore/pull/847?email_source=notifications&email_token=AHLLGCT4TCVTO2DVR6NDRS3P5XWX3A5CNFSM4H5G4DPKYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOSKUFQSQ#event-2460506186
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AHLLGCRJ2WKVJPZJLM225BDP5XWX3ANCNFSM4H5G4DPA
.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/github/explore/pull/847?email_source=notifications&email_token=AHLLGCSHDYXHZINQZGLXE3LP62FG5A5CNFSM4H5G4DPKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZVG6OQ#issuecomment-510291770,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHLLGCQAGVZ6WPX677RM4ATP62FG5ANCNFSM4H5G4DPA
.

Lisa Budzinski
On Wed, Jul 3, 2019, 11:10 AM Tonni Larsen<EMAIL_ADDRESS>wrote:

Thank you for contributing! Please confirm this pull request meets the
following requirements:

✓ I followed the contributing guidelines:
https://github.com/github/explore/blob/master/CONTRIBUTING.md
I have no affiliation with the project I am suggesting (as a
maintainer, creator, contractor, or employee).

Which change are you proposing?

✓ Suggesting edits to an existing topic or collection
Curating a new topic or collection

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

✓ Image (and my file is *.png, square, dimensions 288x288)
✓ Content (and my changes are in index.md)

Please replace this line with an explanation of why you think these
changes should be made.
Curating a new topic or collection

✓ I've formatted my changes as a new folder directory, named for the
topic or collection as it appears in the URL on GitHub (e.g.
https://github.com/topics/[NAME] or
https://github.com/collections/[NAME])
✓ My folder contains a *.png image (if applicable) and index.md
✓ All required fields in my index.md conform to the Style Guide and
API docs: https://github.com/github/explore/tree/master/docs

Please replace this line with an explanation of why you think this topic
or collection should be curated.

Please note: we will close your PR without comment if you do not check
the boxes above and provide ALL requested information.
You can view, comment on, or merge this pull request online at:
https://github.com/github/explore/pull/847
Commit Summary

Update index.md

File Changes

M topics/bitcoin/index.md
https://github.com/github/explore/pull/847/files#diff-0 (4)

Patch Links:

https://github.com/github/explore/pull/847.patch
https://github.com/github/explore/pull/847.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/github/explore/pull/847?email_source=notifications&email_token=AHLLGCTLGR2KXB5TCPK3NPTP5S6PXA5CNFSM4H5G4DPKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G5FFJRA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHLLGCVMOZLTCZVPEAAFXDDP5S6PXANCNFSM4H5G4DPA
.