User-profile-modal : updates feedback when change is made

In the user-profile modal, the feedback has been improved after the save changes button is clicked on in the manager-tab as described in the issue #26692
Before, the popup was closed as soon as the save button was clicked, but now the popup stays open and the fields in the profile-tab is updated with the new changes. The save button is only enabled whenever a change has been made.

Screenshots and screen captures:
This gif shows how an update to a user-profile is made where the feedback is given and the updated data is displayed in the profile-tab:
This is for dark mode:

This is for light mode:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Thanks!
The issue also suggested disabling the "Save changes" button until some changes are made. Is that something you could implement here as well? You should be able to find other examples of this in settings modals.

Thanks!
The issue also suggested disabling the "Save changes" button until some changes are made. Is that something you could implement here as well? You should be able to find other examples of this in settings modals.

You're welcome :)
I can take a look at it and see if it can be implemented smoothly. I am right now in my exam period for my University and therefore don't have too much time until end of next week but can definetly look into it.

Thanks!
The issue also suggested disabling the "Save changes" button until some changes are made. Is that something you could implement here as well? You should be able to find other examples of this in settings modals.

Me and @Vector73 have now implemented those changes which you can see the changes in the updated GIF on the PR.
This PR is ready for review.

Thanks! @sahil839 could you please do a first-round review on this one? I have not tested.

Thank you for the feedback @sahil839. We have now updated the PR  according to your changes.

There are a couple of bugs for bot user profile. When I open the bot profile I see some error is raised. Also, when I click on the pencil icon for a bot, user edit form is opened but of some different user whose profile I edited before or it does not open if I had not edited another user's profile before.
Also, regarding the code for updating the modal after changing some user information, I think it would be better to just update the required field, which can be name, role or custom profile fields, based on the event received from server, instead of re-rendering the whole section and this would help to avoid duplicating the code as well.

Also, would be much easier to review the PR if you split the changes into different commits - one to disable the save button, one to show the saved feedback and one to update the profile tab after editing.

Hi @sahil839, thank you for the feedback. In the issue where this PR is linked I understood that this solution would continue to be developed by Alya. Is this still the case?

The work can be continued by someone else if needed. But it is always better to organize the work that you have done in such a way that it is easy to review and it also helps in merging parts of the PR as required.

This work did not end up making it into the 8.0 release. @angelicaferlin or @Vector73 , are you available to address the feedback above?

Closing in favor of https://github.com/zulip/zulip/pull/28823, which completes this work. Thanks @angelicaferlin!


math running difference

function math running difference added and covered by tests

Thanks for the PR! Looks good for me :)


Upgrade Sentry account

See: https://sentry.io/for/good/

I've applied for this in the name of CFP org. Waiting for a response (should be sent to hello@ email).


Missing support for @page's margin boxes

It looks like this commit removed it.
The parser should accept at-rules for margin boxes inside @page's body:
@page {
  color:red;
  @bottom-left {
    color:green;
  }
}

See: http://www.w3.org/TR/css3-page/#margin-at-rules
Actually, it just returns an error: Error: @page missing '}'
(Moved from https://github.com/reworkcss/css-parse/issues/80)

I have the same problem. I can't use @page's margin boxes...
The link gives 404

+1

The Meteor project utilizes the css-parse method and a user reported encountering this in meteor/meteor#7075.


#10643: Remove normalize_hw from tt_eager bindings

Issue : #10643
Test :

[x] All post commit test
[x] [post-commit] models tests
[ ] Device perf regressions and output report
[ ] Model perf regressions and output report
[ ] Nightly fast dispatch model regression CI - Failed as in main
[x] T3000 frequent tests
[x] T3000 demo tests
[x] T3000 unit tests

https://github.com/tenstorrent/tt-metal/actions/runs/10122381697 - passed
https://github.com/tenstorrent/tt-metal/actions/runs/10122382288 - passed
https://github.com/tenstorrent/tt-metal/actions/runs/10122383349 - passed


How do I add models?

for example what if I wanna download a model from civitai (or somewhere else) and use that model instead of the default model?

based on this photo:

the first parameter to the from_pretrained method is the path to the model, just download the model to your google drive then load it by passing the path as the first parameter to the corresponding method.


Issue with JSX in /lib

I have added: "react-mentions": "*" to my "dependencies" in my package.json. Then I run npm install, which correctly pulls down the files. When I try to reference via var ReactMentions = require('react-mentions'); I receive a compilation error: /node_modules/react-mentions/lib/MentionsInput.js: Unexpected token (99:6) when browserify builds a bundle. It appears this is because there is JSX in MentionsInput.js . An attempt to include the dist file directly results in another error because I do not have a global reference to React.
Any chance you guys are interested in getting compiled jsx in the /lib directory? It appears react-bootstrap developers in /src and populates /lib and /dist with compiled files.

Makes sense, thanks for the feedback. JSX sources are now in /src and the build writes the transpiled files to /lib.


Include LICENSE in release artifacts

Hi there,
I'm looking at importing this crate into Google's codebase as a third party crate. The way the tooling works, it imports the artifacts from releases on crates.io. We also have a requirement that all code included in Google's codebase has a permissible license.
Reborrow has the MIT license (thanks!!), and while that license datum is in Cargo.toml, for whatever reason Google prefers the LICENSE file itself to be included in the crates.io release artifacts.
It appears not to be there for reborrow, though the repository base has the LICENSE file.
$ wget -O reborrow.tar.gz https://crates.io/api/v1/crates/reborrow/0.5.1/download
$ tar xvzf reborrow.tar.gz
$ ls reborrow-0.5.1
Cargo.toml  Cargo.toml.orig  README.md  src

Would it be possible to add the existing LICENSE to the release artifacts?

i'm not familiar with crates.io release artifacts. would adding the LICENSE file to the two subfolders in reborrow/reborrow-derive solve the issue?

I was afraid you'd ask me that! 😅
In short, yes, I think if you copy the licenses to the subdirectories and publish a new minor version, it will work. But to be sure, I had to look it up in the Cargo book:
https://doc.rust-lang.org/cargo/reference/publishing.html#packaging-a-crate
If you run cargo package --list it will show you what files will be uploaded by cargo publish. Unless your Cargo.toml has an explicit includes directive, it should automatically include everything in the source directory (under the same directory as Cargo.toml), ignoring what your VCS has ignored. You can also try cargo publish --dry-run and then manually inspect the .crate generated.
Thanks for being open to this bureaucratic nit picking.

i published v0.5.2 after adding the license file to both subdirectories. is this everything that's needed?

Works great with our tools. Thanks for your cooperation!


Figure out what to do with orphaned rosetta PRs

The PRs in question are:

https://github.com/MinaProtocol/mina/pull/9544
https://github.com/MinaProtocol/mina/pull/9748
https://github.com/MinaProtocol/mina/pull/9758
https://github.com/MinaProtocol/mina/pull/9760
https://github.com/MinaProtocol/mina/pull/9800
https://github.com/MinaProtocol/mina/pull/9836
https://github.com/MinaProtocol/mina/pull/9879
https://github.com/MinaProtocol/mina/pull/10184
https://github.com/MinaProtocol/mina/pull/10667

This issue is resolved when we know:

whether anything necessary for rosetta is sitting unmerged in these PRs
when those things have been reworked and merged
when the above PRs have been closed (either as a rework merge, or outright).

#9544 is still relevant and should be reworked and merged.
I've created an issue (#15154) to track the implementation of #9748 against the current Rosetta node version.
Everything else is either already present in the current main branches or not relevant anymore.

Correction to the above comment, #9544 is against compatible so it was closed as well and another issue (#15155) to track its implementation against current Rosetta node version was created.

All PRs addressed. Closing.


Fix Expectation Form

Pull Request Test Coverage Report for Build 80ebdba8c0c7a48cacce46bce7a8f82232333805-PR-411

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 64.724%

Totals

Change from base Build 92a9aecad9b94dfc429b077336631254dd3aa94e:
0.0%

Covered Lines:
644

Relevant Lines:
995

💛  - Coveralls


rust-cbindgen: fix test failures due to env vars

... specifically, it's the CARGO_BUILD_TARGET env var introduced in commit: 683f97e3781356b3e8251d0ab5e5906c4cdd4ded. See: https://github.com/NixOS/nixpkgs/pull/298108.
Targeted master but tested against a cherry-picked 683f97e3781356b3e8251d0ab5e5906c4cdd4ded (which is currently staging).
Upstream PR is linked in the code; not linking here to avoid excessive notifications to upstream.
cc @trofi for testing :rocket:

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[x] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

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

It fixes rust-cbindgen build on staging for x86_64-linux. Thank you!

I didn't expect this to be a mass rebuild :skull: I will wait for ofborg to finish first and retarget staging... For now I will mark this PR as draft just to be safe.

Since we already have a working patch (pending upstream), I think it would be better to vendor it (instead of disabling all the tests as is currently implemented in #348935). The patch is small and straightforward so it should be okay. What do you think? cc @alyssais @fabianhjr

There is no cache available yet so I cannot test this on top of staging-next; it does build fine on top of master. Please ping me if things blow up :laughing:

Don’t worry, something always blows up.


ghcid reports "can't find file" while editing with Vim

While editing a file with Vim, ghcid -v reports:
%WAITING: GHCidTest.hs

Reloading...
  GHCidTest.hs
%GHCINP: :reload
%GHCERR:
%GHCERR: <no location info>: can't find file: GHCidTest.hs
%GHCOUT: #~GHCID-START~##~GHCID-START~#Failed, modules loaded: none.
%GHCOUT: #~GHCID-START~##~GHCID-FINISH~#
%GHCERR: *** Exception: #~GHCID-FINISH~#
%GHCINP: :show modules
%GHCOUT: #~GHCID-START~##~GHCID-START~##~GHCID-START~##~GHCID-FINISH~#
%GHCERR: *** Exception: #~GHCID-FINISH~#
%ACTIVE: []
%LOAD: []

All good

%WAITING:

It only happens with Vim, not with other editors, and only after a few edits have been made (and for which ghcid did report errors and warnings correctly). I'm not sure it's a ghcid bug, it might be something specific to my system.
See also #21.
I'm using version 0.3.2 and the command ghcid --command='ghci GHCidTest.hs' on Ubuntu Linux.

I think I've found the culprit, so I'm going to assume this is closed. If not, please comment on #28 (which I think had the same underlying cause).


Access request for andrew-m-leonard

Access level:

[ ] Non-privileged
[ ] jenkins user
[ x] root/Administrative
[ ] other (Please specify):

System for which access is needed:  test-macincloud-macos1010-x64-2
Please explain why you need this access including whether it is a temporary or permanent request:
To debug issue https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/1922
problem with ant-contrib setup

Looks from the slack thread as though @gdams  is investigating so we should hold off on this for now (I'd rather not have two people experimenting on the machine at the same time!)

not needed now

Has the problem been fixed? Looks like the node is still disabled


Error with serverless examples

Description
The main.tf in the examples errors out with a name error.

[x] ✋ I have searched the open/closed issues and my issue is not listed.

Versions

Module version [Required]: 7.5.1, 7.5.0, 7.4.2

Terraform version:
1.1.9

Provider version(s):
7.5.1, 7.5.0, 7.4.2

Reproduction Code [Required]

Steps to reproduce the behavior:
Workspaces: Yes
Cleared local cache: Yes
Steps to reproduce:

Set name to something like hello
terraform plan

Expected behavior
Setting create_db_subnet_group = false should either bypass this section  , or setting it to true should work.
Actual behavior
Errors out saying name can only contain alphanumeric, hyphen, underscore, etc.
Terminal Output Screenshot(s)
│ Error: only lowercase alphanumeric characters, hyphens, underscores, periods, and spaces allowed in "name"
│
│   with module.rds-aurora.aws_db_subnet_group.this[0],
│   on .terraform/modules/rds-aurora/main.tf line 48, in resource "aws_db_subnet_group" "this":
│   48:   name        = local.internal_db_subnet_group_name

Additional context
Also tried providing this var db_subnet_group_name = "test" and it still errored.
Not sure if the example code was ever run, since the engine_mode = "provisioned" but it's for serverless.

the serverless example did work (don't have time to re-validate currently). What is your configuration that will reproduce this error?

Code:
locals {
  name   = "ex-${replace(basename(path.cwd), "_", "-")}"
  region = "us-east-2"

  tags = {
    Example    = local.name
  }
}

data "aws_rds_engine_version" "postgresql" {
  engine  = "aurora-postgresql"
  version = "13.6"
}

module "rds" {
  source  = "terraform-aws-modules/rds-aurora/aws"

  name              = "${local.name}-postgresqlv2"
  engine            = data.aws_rds_engine_version.postgresql.engine
  engine_mode       = "provisioned"
  engine_version    = data.aws_rds_engine_version.postgresql.version
  storage_encrypted = true

  vpc_id                = module.variables.vpc-id
  subnets               = module.variables.vpc-private-subnets
  create_security_group = true
  allowed_cidr_blocks   = []

  monitoring_interval = 60

  apply_immediately   = true
  skip_final_snapshot = true

  db_parameter_group_name         = aws_db_parameter_group.example_postgresql13.id
  db_cluster_parameter_group_name = aws_rds_cluster_parameter_group.example_postgresql13.id

  serverlessv2_scaling_configuration = {
    min_capacity = 2
    max_capacity = 10
  }

  instance_class = "db.serverless"
  instances = {
    one = {}
    two = {}
  }
}

resource "aws_db_parameter_group" "example_postgresql13" {
  name        = "${local.name}-aurora-db-postgres13-parameter-group"
  family      = "aurora-postgresql13"
  description = "${local.name}-aurora-db-postgres13-parameter-group"
  tags        = local.tags
}

resource "aws_rds_cluster_parameter_group" "example_postgresql13" {
  name        = "${local.name}-aurora-postgres13-cluster-parameter-group"
  family      = "aurora-postgresql13"
  description = "${local.name}-aurora-postgres13-cluster-parameter-group"
  tags        = local. Tags
}

The only thing I'm pulling in is the vpc information from another module:
  vpc_id                = module.variables.vpc-id
  subnets               = module.variables.vpc-private-subnets

terraform version:
Terraform v1.1.9
on darwin_arm64
+ provider registry.terraform.io/datadog/datadog v3.16.0
+ provider registry.terraform.io/hashicorp/aws v4.34.0
+ provider registry.terraform.io/hashicorp/consul v2.12.0
+ provider registry.terraform.io/hashicorp/external v2.2.2
+ provider registry.terraform.io/hashicorp/random v3.4.3

Also tried with the latest 7.6.0 release, still the same error:
│ Error: only lowercase alphanumeric characters, hyphens, underscores, periods, and spaces allowed in "name"
│
│   with module.rds-aurora.aws_db_subnet_group.this[0],
│   on .terraform/modules/rds-aurora/main.tf line 50, in resource "aws_db_subnet_group" "this":
│   50:   name        = local.internal_db_subnet_group_name

I'm trying to use this for serverless too but I feel like I should be loading:
module "rds-aurora" {
  source  = "terraform-aws-modules/rds-aurora/aws"
  version = "7.6.0"
}

or
module "rds-aurora_example_serverless" {
  source  = "terraform-aws-modules/rds-aurora/aws//examples/serverless"
  version = "7.6.0"
}

Thought I saw a warning about using a sub module.


check against bluesky protocols

Actually type check against newly defined bluesky protocols.

What does inheriting actually get us?
Its not clear to me why bluesky itself is even a dependency, we don't import it at all (aside from this PR)
The protocols are meant for duck typing, why not add a typed test file and just run mypy on that?
That would resolve all the issues with @property etc as in bluesky/bluesky#1466

I'll open again with a correct implementation.


RasterSymbolizer / RasterCalculator

This issue is meant do discuss the wanted functionality to style raster data with the GeoStyler.
The recent approach to implement styling of raster data is to follow the SLD definition for the RasterSymbolizer.

I don't like the SLD approach
I'm not experienced with it, but if i got i right, i don't want to use the concept of SLD in the GeoStyler.

:small_red_triangle_down:  The approach of the GeoStyler is to style a geographic dataset. This can be vector OR raster data. Not both at a time. So we don't to mix as it is possible in SLD.
:small_red_triangle_down: The SLD RasterSymoblizer allows some kind of filtering inside. This is against the current concepts of the GeoStyler, where the features/pixels to style like this or that are filtered outside of the symbolizer.

Raster Calculator
As we discussed in 2017/18 an implementation of a Calculator for the PixelColor would be very cool.
The idea is to keep the current layout for a Rule but replace the Filter with a Calculation(tbd). The Render would be just a square with the fill color.
The Calculation should be configurable via UI components. We could reuse some of #929 but i would like to do extend this with "real" calculation.
Every pixel has n bands. Every band has a numeric value so it should be possible to calculate a value for r, g, b and with a mathematical function. First approach could be one Textfield each.
Pseudo example:
const inputPx = {
  aBand: 11,
  bBand: 123,
  cBand: 23,
  dBand: 232
};
const r = inputPx.aBand * 2;
const g = inputPx.bBand / 3;
const b = inputPx.aBand + inputPx.dBand;
const a = Math.log(inputPx.cBand);

const outputPixel = rgba(r, g, b, a);

Current concerns about the Raster Calculator:

Engineering a featurecomplete static syntax for the functions.
Translation to SLD. (Translation to OL on the other hand should be easy.)
Evaluation of mathematical calculation. (eval? :fearful: )

I hope we can start a discussion here. Love to here all your thoughts.
@terrestris/core
@terrestris/devs
@neteler

Evaluation of mathematical calculation. (eval? fearful )

We should find a way to serialize the calculation. IMHO using eval is not a nice approach. There, I would rather suggest taking a look at mapbox expressions which already provide a syntax for serializing mathematical functions.
geoserver provides a set of functions for this purpose as well (see here).
It would definitely be a lot of work to update the parsers but I think this would be a cleaner approach.

I don't like the SLD approach
I'm not experienced with it, but if i got i right, i don't want to use the concept of SLD in the GeoStyler.

small_red_triangle_down  The approach of the GeoStyler is to style a geographic dataset. This can be vector OR raster data. Not both at a time. So we don't to mix as it is possible in SLD.

I think the general idea behind this is to be able to create a single style object/document that contains all information for a complete map "layout". This could include a basemap, and multiple overlays. Thus, a mix of raster and vector layers.
This approach gives users a lot of power, and it is up to them to decide what makes sense. BTW, mixing vector and raster styles is possible in SLD and mapbox.
I am not sure, if we should limit users in this regard.

small_red_triangle_down The SLD RasterSymoblizer allows some kind of filtering inside. This is against the current concepts of the GeoStyler, where the features/pixels to style like this or that are filtered outside of the symbolizer.

Just to give a little more information on this: It is possible to define so called colorMaps that change the colors of a band based on their value. This allows creating false color composites (e.g setting color values for DEMs). In some way this could be seen as a filter as we set colors for certain value (ranges).

I think the general idea behind this is to be able to create a single style object/document that contains all information for a complete map "layout".

IMHO That is not the focus of the GeoStyler

We decide to merge the current approach of SLD-Raster integration into the master and develop the Calculator, too. In the future there might be bigger changes to the existing raster-code.


disable gps after turn off

we already have that : in MainActivity
@Override
protected void onPause() {
super.onPause();
GeolocationService.INST.unsubscribeFromLocationUpdates();
}


Eliminate rows and cols with diagonal zero

Is there a function for HypreParMatrix to eliminate the essential boundary condition but set the diagonal to zero?
I use HypreParMatrix::EliminateRowsCols but it gives me diagonal of 1. The matrix I have is through ParMult and ParAdd, so I cannot use DIAG_ZERO in bilinearform. The matrix appears as an off-diagonal block matrix in a block system, which is why I hope I can eliminate it to zero. There is an EliminateRowsCols in PetscParMatrix but it does not support MATNEST, so I have to do it in mfem before passing it to petsc.
The equation for the essential boundary condition is redundant, so I believe in principle setting the off-diagonal entries to 0 or 1 should not matter. But it will be good if there is a simple solution. Thanks
Qi

Do you need the functionality of the modified RHS? If not you could use hypre_CSRMatrixEliminateRowsCols directly with diag = 0.

Do you need the functionality of the modified RHS? If not you could use hypre_CSRMatrixEliminateRowsCols directly with diag = 0.

Thanks. I do not need the modified RHS. I also do not need the Ae matrix.
To use  hypre_CSRMatrixEliminateRowsCols properly, should I modify hypre_ParCSRMatrixEliminateAAe? It looks like I can simply replace diag=0 in the place calling hypre_ParCSRMatrixEliminateAAe

Thanks. I do not need the modified RHS. I also do not need the Ae matrix.
To use  hypre_CSRMatrixEliminateRowsCols properly, should I modify hypre_ParCSRMatrixEliminateAAe? It looks like I can simply replace diag=0 in the place calling hypre_ParCSRMatrixEliminateAAe

I would call hypre_CSRMatrixEliminateRowsCols with the diag argument set to 0 and then deleting the pointer you get for Ae.

I would call hypre_CSRMatrixEliminateRowsCols with the diag argument set to 0 and then deleting the pointer you get for Ae.

Let me add that we do have an enum to describe how to handle the diagonal during elimination called DiagonalPolicy in the Operator class:
/// Defines operator diagonal policy upon elimination of rows and/or columns.
enum DiagonalPolicy
{
   DIAG_ZERO, ///< Set the diagonal value to zero
   DIAG_ONE,  ///< Set the diagonal value to one
   DIAG_KEEP  ///< Keep the diagonal value
};

This can be specified for example in SparseMatrix::EliminateRowCol and BilinearForm::EliminateEssentialBC.

Let me add that we do have an enum to describe how to handle the diagonal during elimination called DiagonalPolicy in the Operator class:
/// Defines operator diagonal policy upon elimination of rows and/or columns.
enum DiagonalPolicy
{
   DIAG_ZERO, ///< Set the diagonal value to zero
   DIAG_ONE,  ///< Set the diagonal value to one
   DIAG_KEEP  ///< Keep the diagonal value
};

This can be specified for example in SparseMatrix::EliminateRowCol and BilinearForm::EliminateEssentialBC.

That's the part I was confused about. I read HypreParMatrix::EliminateRowsCols, and it calls hypre_ParCSRMatrixEliminateAAe, which only works to set diag being 1. I could not find a function to set diag 0. I guess the DiagonalPolicy only works before HypreParMatrix is formed?
The matrix I am trying to eliminate is defined as A+N*M^{-1}*K, which are all HypreParMatrix. It looks like I have to modify hypre_ParCSRMatrixEliminateAAe, unless I misunderstood @jandrej

That's the part I was confused about. I read HypreParMatrix::EliminateRowsCols, and it calls hypre_ParCSRMatrixEliminateAAe, which only works to set diag being 1. I could not find a function to set diag 0. I guess the DiagonalPolicy only works before HypreParMatrix is formed?
The matrix I am trying to eliminate is defined as A+N*M^{-1}*K, which are all HypreParMatrix. It looks like I have to modify hypre_ParCSRMatrixEliminateAAe, unless I misunderstood @jandrej

There are two version you are talking about here. One is HypreParMatrix::EliminateRowsCols and I recommended the internal version hypre_CSRMatrixEliminateRowsCols.

There are two version you are talking about here. One is HypreParMatrix::EliminateRowsCols and I recommended the internal version hypre_CSRMatrixEliminateRowsCols.

Yes, hypre_CSRMatrixEliminateRowsCols is the one I thought I should use. But the only place I found to use hypre_CSRMatrixEliminateRowsCols is in hypre_ParCSRMatrixEliminateAAe, which is a bit confusing to me since it needs to create the proper Ae matrix and then eliminate. So I was thinking to replace that diag by 1 in those places and delete Ae afterwards. Let me know if there is a simpler way to use hypre_CSRMatrixEliminateRowsCols

Yes, hypre_CSRMatrixEliminateRowsCols is the one I thought I should use. But the only place I found to use hypre_CSRMatrixEliminateRowsCols is in hypre_ParCSRMatrixEliminateAAe, which is a bit confusing to me since it needs to create the proper Ae matrix and then eliminate. So I was thinking to replace that diag by 1 in those places and delete Ae afterwards. Let me know if there is a simpler way to use hypre_CSRMatrixEliminateRowsCols

It works well. thanks

It works well. thanks


Sm refactor

Newest version now works with new state controller - master branch. Tested with simulation, debugged by Amy. :amy:

Should we remove mavros_msgs?

Actually, that is another issue for a different pull request


Move LedgerState out of UpdateLedger

This makes it possible to define the LedgerState independent from the UpdateLedger instance, which is useful sometimes.
Note that this is just one commit; the rest is #2037, which should be merged soon.

I'll take your word on it being useful!

It is :) In particular, it means I can define the state of the hard fork ledger, and some operations on it, before I am ready to give the full UpdateLedger instance.

bors merge


Run memory-heavy notebooks on CI, post-networkx removal

In #809, we remove the networkx implementation of StellarGraph, which cuts the default memory use significantly. This allows a few more notebooks to run reliably on CI.
See: #819

Two of these notebooks still fail:
node-link-importance-demo-gat.ipynb: nbclient.exceptions.DeadKernelError: Kernel died

Executing Cell 60--------------------------------------
WARNING:tensorflow:Layer lambda_1 is casting an input tensor from dtype float64 to the layer's dtype of float32, which is new behavior in TensorFlow 2.  The layer has dtype float32 because it's dtype defaults to floatx.

If you intended to run this layer in float32, you can safely ignore this warning. If in doubt, this warning is likely only an issue if you are porting a TensorFlow 1.X model to TensorFlow 2.

To change all layers to have dtype float64 by default, call `tf.keras.backend.set_floatx('float64')`. To change just this layer, pass dtype='float64' to the layer constructor. If you are the author of this layer, you can disable autocasting by passing autocast=False to the base Layer constructor.

Kernel died while waiting for execute reply.
Ending Cell 60-----------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/nbclient/client.py", line 414, in _poll_for_reply
    msg = self.kc.shell_channel.get_msg(timeout=timeout)
  File "/usr/local/lib/python3.6/site-packages/jupyter_client/blocking/channels.py", line 57, in get_msg
    raise Empty
queue.Empty

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/papermill", line 8, in <module>
    sys.exit(papermill())
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/papermill/cli.py", line 235, in papermill
    execution_timeout=execution_timeout,
  File "/usr/local/lib/python3.6/site-packages/papermill/execute.py", line 104, in execute_notebook
    **engine_kwargs
  File "/usr/local/lib/python3.6/site-packages/papermill/engines.py", line 49, in execute_notebook_with_engine
    return self.get_engine(engine_name).execute_notebook(nb, kernel_name, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/papermill/engines.py", line 343, in execute_notebook
    cls.execute_managed_notebook(nb_man, kernel_name, log_output=log_output, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/papermill/engines.py", line 402, in execute_managed_notebook
    return PapermillNotebookClient(nb_man, **final_kwargs).execute()
  File "/usr/local/lib/python3.6/site-packages/papermill/clientwrap.py", line 38, in execute
    self.papermill_execute_cells()
  File "/usr/local/lib/python3.6/site-packages/papermill/clientwrap.py", line 65, in papermill_execute_cells
    self.execute_cell(cell, index)
  File "/usr/local/lib/python3.6/site-packages/nbclient/client.py", line 563, in execute_cell
    exec_reply = self._poll_for_reply(parent_msg_id, cell, timeout)
  File "/usr/local/lib/python3.6/site-packages/nbclient/client.py", line 419, in _poll_for_reply
    self._check_alive()
  File "/usr/local/lib/python3.6/site-packages/nbclient/client.py", line 446, in _check_alive
    raise DeadKernelError("Kernel died")
nbclient.exceptions.DeadKernelError: Kernel died

stellargraph-metapath2vec.ipynb: nbclient.exceptions.CellTimeoutError: A cell timed out while it was being executed, after 600 seconds.

Executing Cell 7---------------------------------------
Timeout waiting for execute reply (600s).
Ending Cell 7------------------------------------------
Traceback (most recent call last):
  File "/usr/local/bin/papermill", line 8, in <module>
    sys.exit(papermill())
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/papermill/cli.py", line 235, in papermill
    execution_timeout=execution_timeout,
  File "/usr/local/lib/python3.6/site-packages/papermill/execute.py", line 104, in execute_notebook
    **engine_kwargs
  File "/usr/local/lib/python3.6/site-packages/papermill/engines.py", line 49, in execute_notebook_with_engine
    return self.get_engine(engine_name).execute_notebook(nb, kernel_name, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/papermill/engines.py", line 343, in execute_notebook
    cls.execute_managed_notebook(nb_man, kernel_name, log_output=log_output, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/papermill/engines.py", line 402, in execute_managed_notebook
    return PapermillNotebookClient(nb_man, **final_kwargs).execute()
  File "/usr/local/lib/python3.6/site-packages/papermill/clientwrap.py", line 38, in execute
    self.papermill_execute_cells()
  File "/usr/local/lib/python3.6/site-packages/papermill/clientwrap.py", line 65, in papermill_execute_cells
    self.execute_cell(cell, index)
  File "/usr/local/lib/python3.6/site-packages/nbclient/client.py", line 556, in execute_cell
    self._handle_timeout(exec_timeout, cell)
  File "/usr/local/lib/python3.6/site-packages/nbclient/client.py", line 440, in _handle_timeout
    "Cell execution timed out", timeout, cell
nbclient.exceptions.CellTimeoutError: A cell timed out while it was being executed, after 600 seconds.
The message was: Cell execution timed out.
Here is a preview of the cell contents:
-------------------
['from stellargraph.data import UniformRandomMetaPathWalk', 'from stellargraph import StellarGraph', '', '# Create the random walker', 'rw = UniformRandomMetaPathWalk(StellarGraph(g_nx))']
...
['    n=1,  # number of random walks per root node', '    metapaths=metapaths,  # the metapaths', ')', '', 'print("Number of random walks: {}".format(len(walks)))']
-------------------

Two of these notebooks still fail:
node-link-importance-demo-gat.ipynb: nbclient.exceptions.DeadKernelError: Kernel died
stellargraph-metapath2vec.ipynb: nbclient.exceptions.CellTimeoutError: A cell timed out while it was being executed, after 600 seconds. (Related to #820/#860.)

I think I mistakenly added stellargraph-metapath2vec.ipynb to #819 - the problem is just speed, not memory.

Hm, unfortunately node-link-importance-demo-gcn.ipynb seems to be somewhat unreliable: it failed (https://buildkite.com/stellar/stellargraph-public/builds/1366#67dedcb6-570c-433b-a9f9-f79efb46a10a) and then a retry succeeded. I'm going to try running this build a few times to get a better sense of the reliability (sorry, agents).

Codecov Report

Merging #863 into develop will increase coverage by <.1%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           develop    #863     +/-   ##
=========================================
+ Coverage     82.3%   82.3%   +<.1%
=========================================
  Files           46      46
  Lines         4968    4974      +6
=========================================
+ Hits          4088    4093      +5
- Misses         880     881      +1

Impacted Files
Coverage Δ

stellargraph/core/graph.py
98.5% <100%> (-0.3%)
:arrow_down:

Continue to review full report at Codecov.

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

It does seem to fail semi-regularly, in addition to the failure above

https://buildkite.com/stellar/stellargraph-public/builds/1391#4783430d-04e2-4b77-9c23-a33b7fea249b
https://buildkite.com/stellar/stellargraph-public/builds/1392#dfa1d236-9ffc-40bb-b0f6-7a3905724daa

This isn't ready, and we're likely to have to actually edit the code, so closing for now.


new osiris is not cool some functions does not work

-1 FONT SIZE*  we need font size back i can't even read the enemy name with these fonts it doesn't work with my resolution i use 800-600 i have low fps
-2 * I CANT USE CHAMS  anymore?* and if i use " ignore-z" feature in chams
the enemy appears with the same visible color so i cant tell if he's behind wall or not
3.GLOW CONTROLsince i cant i cant control the glow it reduced my fps i used to keep glow at 50% as same as the visible color

ENEMY HEAD DOT*if i play legit i don't get the Enemy head mark its not available anymore

GRENADE PREDICTION doesn't work

Was there ever a font size option?

I’ve been having similar issues recoil crosshair and sniper crosshair haven’t been working for me. However grenade prediction worked just fine for me. Also yeah I don’t remember a font size thing

Was there ever a font size option?

no, but can you please improve the grenade prediction as it looks really bad, thanks 👍 <3

Was there ever a font size option?

yes before in the esp section there was Font size

"-1 FONT SIZE* we need font size back i can't even read the enemy name with these fonts it doesn't work with my resolution i use 800-600 i have low fps"
Stop using a Potato pc Khaled

Stop using a Potato pc Khaled
If you are not going to contribute positively to the discussion, please do not disturb.

You can change font sizes here: https://github.com/danielkrupinski/Osiris/blob/d27388bf2a75f6b526f51627407ffa055b5dd8d1/Osiris/Config.cpp#L1184-L1186

"-1 FONT SIZE* we need font size back i can't even read the enemy name with these fonts it doesn't work with my resolution i use 800-600 i have low fps"
Stop using a Potato pc Khaled

BAHHAHAHAHAHHAHAAHA I thought you're dead man

Nahh i'm still alive tapping these mofos 24/7

I've added "Head Box" as "Head dot" replacement.

"-1 FONT SIZE* we need font size back i can't even read the enemy name with these fonts it doesn't work with my resolution i use 800-600 i have low fps"
Stop using a Potato pc Khaled

my discord is madhatterxk#4218

I've added "Head Box" as "Head dot" replacement.

Love from the land of Osiris daniel love from Egypt <3


(feat) augmentable JSX-Element-type

I have been having a lot of fun lately with custom JSX-elements (for example with this little side-project) : JSX are functions and functions can return more then dom-elements or any of the allowed JSXElement-types. Solidjs itself allows this approach, but it is impossible right now to properly type these components as types can not be augmented through declaration.
My proposal is to follow a pattern described here
interface XRegistry {   A:A   B:B   C:C }
type X= XRegistry[keyof XRegistry];
//... And in the other file
declare module "someModule" {   interface XRegistry { D:D } }
This way JSXElements could be augmented through a declaration-file as follows
declare module 'solid-js/jsx-runtime' { 	namespace JSX { 		interface CustomElement { 			test: string 		} 		interface ElementRegistry { 			CustomElement: CustomElement 		} 	} }
It creates identical code if not augmented, and works perfectly as is right now. If you want an example of it in action: (this repo) contains a patch with it working.
(I thought first to make the pull request with Solid, but the tests and builds kept on overwriting my changes, so I realized it was importing the types from here)

oops still a github-noob


YouTube entries are completely blank

Hi, I recently started using Vienna and it works really well, except for YouTube feeds. As you can see the article/video is completely empty. Now I don't expect there to be an video, and I'm totally fine with having to open the video in a browser, but I would like to see the description and whatnot.

I've included the raw XML, using "Show XML source" below, and you can see that the description is indeed included. But it's in a <media:description> tag, where the media namespace points to http://search.yahoo.com/mrss/ which seems to be related to http://www.rssboard.org/media-rss. It would be nice if Vienna also supported that XML dialect, and perhaps a few other big ones. There is also a yt namespace, but I'm not sure if supporting a single site is such a good idea or not. But then again it's YouTube.

Raw XML
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns:yt="http://www.youtube.com/xml/schemas/2015" xmlns:media="http://search.yahoo.com/mrss/" xmlns="http://www.w3.org/2005/Atom">
 <link rel="self" href="http://www.youtube.com/feeds/videos.xml?channel_id=UCtXKDgv1AVoG88PLl8nGXmw"/>
 <id>yt:channel:UCtXKDgv1AVoG88PLl8nGXmw</id>
 <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
 <title>GoogleTechTalks</title>
 <link rel="alternate" href="http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw"/>
 <author>
  <name>GoogleTechTalks</name>
  <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
 </author>
 <published>2007-08-15T23:10:56+00:00</published>
 <entry>
  <id>yt:video:uomMdBdEwnk</id>
  <yt:videoId>uomMdBdEwnk</yt:videoId>
  <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
  <title>Interpretable Models of Antibiotic Resistance with the Set Covering Machine Algorithm</title>
  <link rel="alternate" href="http://www.youtube.com/watch?v=uomMdBdEwnk"/>
  <author>
   <name>GoogleTechTalks</name>
   <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
  </author>
  <published>2017-02-16T23:32:28+00:00</published>
  <updated>2017-02-18T13:40:26+00:00</updated>
  <media:group>
   <media:title>Interpretable Models of Antibiotic Resistance with the Set Covering Machine Algorithm</media:title>
   <media:content url="https://www.youtube.com/v/uomMdBdEwnk?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i2.ytimg.com/vi/uomMdBdEwnk/hqdefault.jpg" width="480" height="360"/>
   <media:description>A Google TechTalk, 13 Feb 2017, presented by Alexandre Drouin.
ABSTRACT: Antimicrobial resistance is an important public health concern that has implications in the practice of medicine worldwide. Accurately predicting resistance phenotypes from genome sequences shows great promise in promoting better use of antimicrobial agents. For instance, treatment plans could be tailored for specific individuals, likely resulting in better clinical outcomes for patients with bacterial infections.

Sparse machine learning algorithms are appealing tools in this context, since they make use of a concise set of features, which can be further interpreted by domain experts. However, in extremely high dimensional settings, which are common in genomics, the main challenge remains resistance to overfitting.

In recent work, the Set Covering Machine (SCM) algorithm has been used to obtain concise, expert interpretable, models of antibiotic resistance for 6 pathogenic bacterial species. Known and validated resistance mechanisms were recovered within minutes of computation. An empirical benchmark showed that the SCM compared favorably to more complex learning algorithms (e.g., L1-SVM), both in terms of accuracy and sparsity. Moreover, a theoretical analysis of the method revealed that the SCM has an uncharacteristically strong resistance to overfitting in genomic contexts.

In this talk, I will present the SCM algorithm, along with an efficient implementation for genomic data (https://github.com/aldro61/kover). I will rely on theoretical results and an application to antibiotic resistance to demonstrate that this algorithm is well-suited for predictive modeling in genomics."

ABOUT THE SPEAKER:  Alexandre Drouin is a PhD candidate in Machine Learning and Computational Biology at the Université Laval, advised by Prof. François Laviolette.</media:description>
   <media:community>
    <media:starRating count="27" average="4.85" min="1" max="5"/>
    <media:statistics views="861"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:W8nHgTFSWow</id>
  <yt:videoId>W8nHgTFSWow</yt:videoId>
  <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
  <title>Where Are the Stars? See How Light Pollution Affects Night Skies</title>
  <link rel="alternate" href="http://www.youtube.com/watch?v=W8nHgTFSWow"/>
  <author>
   <name>GoogleTechTalks</name>
   <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
  </author>
  <published>2017-02-10T23:26:47+00:00</published>
  <updated>2017-02-17T16:28:03+00:00</updated>
  <media:group>
   <media:title>Where Are the Stars? See How Light Pollution Affects Night Skies</media:title>
   <media:content url="https://www.youtube.com/v/W8nHgTFSWow?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i4.ytimg.com/vi/W8nHgTFSWow/hqdefault.jpg" width="480" height="360"/>
   <media:description>A Google TechTalk, 2/2/17, presented by Sriram Murali
ABSTRACT: Imagine living under a sky full of stars. Imagine kids growing up passionate about Astronomy. But, thanks to light pollution, we've lost our connection with the rest of the Universe. Most people living in cities have never seen or believe a sky full of stars exist. So, I made a short film (vimeo.com/178841667) exploring the different levels of light pollution to show people that these stars really do exist. It was a huge success. It was featured on National Geographic and made the news in over 40 countries.

The night skies remind us of our place in the Universe; it makes us feel a connection and gives us identity. We owe it to our future generations to preserve this beauty.

In this talk, I'm going to talk about light pollution, the importance of night skies to mankind, why and how I made this movie, my passion for Astronomy and how each one of you can spread the word and make a better tomorrow.

About the speaker: Sriram Murali is a photographer passionate about Astronomy and the night skies.

Link to Carl Sagan video: https://www.youtube.com/watch?v=5ZHSKkSKjQ4</media:description>
   <media:community>
    <media:starRating count="39" average="4.79" min="1" max="5"/>
    <media:statistics views="1765"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:8FvrBLWUwxc</id>
  <yt:videoId>8FvrBLWUwxc</yt:videoId>
  <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
  <title>Crystal: Fast as C, Slick as Ruby</title>
  <link rel="alternate" href="http://www.youtube.com/watch?v=8FvrBLWUwxc"/>
  <author>
   <name>GoogleTechTalks</name>
   <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
  </author>
  <published>2017-02-02T22:19:47+00:00</published>
  <updated>2017-02-15T20:01:18+00:00</updated>
  <media:group>
   <media:title>Crystal: Fast as C, Slick as Ruby</media:title>
   <media:content url="https://www.youtube.com/v/8FvrBLWUwxc?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i1.ytimg.com/vi/8FvrBLWUwxc/hqdefault.jpg" width="480" height="360"/>
   <media:description>A Google TechTalk, 1/20/17, presented by Brian J. Cardiff
ABSTRACT: Crystal is a new programming language that focuses on developer productivity, type safety and execution performance. It is statically checked and compiles to native (machine) code. It combines a type inference algorithm, compile-time macros, compile-time type introspection, automatic union types and Ruby-like syntax, allowing quick prototyping and generating efficient computer programs. It provides a Garbage Collector, uses LLVM as its backend and doesn’t run on a Virtual Machine.

In this talk we will show some examples and patterns that arise from combining all these language features.

For more information about Crystal: http://crystal-lang.org

About the speaker: Brian J. Cardiff

Brian is part of the original three-person core team that started Crystal language. He has over 15 years of experience as a professional software developer, most of them at Manas, the company behind Crystal. He has an extensive knowledge on programming languages, which include being a teacher at University of Buenos Aires on Paradigms of Programming Languages for several years. His contributions to Crystal have helped shape its type system and type inference algorithm, one of the key features of the language. Brian also has a keen interest in visualizations and user interaction, which is reflected in the Crystal playground, the built-in interactive code editor that ships with the compiler.</media:description>
   <media:community>
    <media:starRating count="77" average="4.58" min="1" max="5"/>
    <media:statistics views="5470"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:WC0Z7-Cp7LI</id>
  <yt:videoId>WC0Z7-Cp7LI</yt:videoId>
  <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
  <title>Esperanto: What, Why, How</title>
  <link rel="alternate" href="http://www.youtube.com/watch?v=WC0Z7-Cp7LI"/>
  <author>
   <name>GoogleTechTalks</name>
   <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
  </author>
  <published>2017-01-18T22:30:08+00:00</published>
  <updated>2017-02-13T19:54:09+00:00</updated>
  <media:group>
   <media:title>Esperanto: What, Why, How</media:title>
   <media:content url="https://www.youtube.com/v/WC0Z7-Cp7LI?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i4.ytimg.com/vi/WC0Z7-Cp7LI/hqdefault.jpg" width="480" height="360"/>
   <media:description>A Google TechTalk, 12/6/16, presented by Alexey Nezhdanov
ABSTRACT: Esperanto is a constructed language that is 100+ years old.  I shared my own experience learning this language.

Some comments for the video:

0:17 An agitation that the talk has finally started affected my English which is bad enough even without that :( Sorry.

1:45 Complete miss. I meant the country - and a different one - and I would still have been wrong. Zamenhof was born in Białystok which at the time belonged to the Russian Empire (now Poland).

14:18 "Poste" is a proverb, not a pronoun.

19:45 Zurich German kicks in (I'm in the second week of the language course). The correct possessive pronoun would be "mia", not "mis"

21:49 "They" is just a single person that I asked. A Spanish-speaking person said (today) that it looks like Czech language to him.

26:35 The question being asked is "what actual scientific principles were used in creation of Esperanto?"

37:45 The question being asked is "what is an estimate of a chance of meeting another esperantist?"

38:18 The "99.X%" figure that I use is actually my interpretation of the phrase "almost all" plus some other facts

40:30 I misunderstood the question. The question was "is it mostly no problem to split a stream of sounds into individual words" and my answer was to the question "is it easy enough to segment written words into sub-parts". The answer to original question would be "I would expect so, but I don't know".</media:description>
   <media:community>
    <media:starRating count="41" average="3.83" min="1" max="5"/>
    <media:statistics views="1783"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:lDIBG8C2aOU</id>
  <yt:videoId>lDIBG8C2aOU</yt:videoId>
  <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
  <title>Don Norman and Mick McManus on "Design in the Age of AI: A design debate"</title>
  <link rel="alternate" href="http://www.youtube.com/watch?v=lDIBG8C2aOU"/>
  <author>
   <name>GoogleTechTalks</name>
   <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
  </author>
  <published>2017-01-09T20:32:47+00:00</published>
  <updated>2017-02-16T02:16:43+00:00</updated>
  <media:group>
   <media:title>Don Norman and Mick McManus on "Design in the Age of AI: A design debate"</media:title>
   <media:content url="https://www.youtube.com/v/lDIBG8C2aOU?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i1.ytimg.com/vi/lDIBG8C2aOU/hqdefault.jpg" width="480" height="360"/>
   <media:description>A Google TechTalk, 12/15/16, presented by Don Norman and Mickey McManus
ABSTRACT: As the number of increasingly intelligent machines increases and their role shifts from automating labor to playing games and exploring concepts, what role will human designers take? Previously, some capabilities were relegated to humans--empathy, intuition, leaps of imagination, and creativity. But as we build intelligent assistants, automatic translators, and self-directed systems, how will we design them--how will we understand them--and how will we study them?  Will humans be competitors, collaborators, midwives, or something never before imagined?  How can you design with system components which may have unpredictable behaviors?

Join Don Norman and Mickey McManus as they box a few rounds in a lively debate to explore this important and timely topic.

About the speakers
Mickey McManus is a pioneer in the field of collaborative innovation, pervasive computing, human-centered design and education. He is a principal of MAYA Design and the chairman of the board.

For over a decade, Mickey served as MAYA’s president, delivering above industry average profit margins—year over year—while consistently re-investing substantial funds back into MAYA’s R&D efforts. These investments form the core of a pool of intellectual property, trade secrets—and most importantly talent—that drives MAYA’s agility, adaptability, and success.

Mickey co-authored Trillions: Thriving in the Emerging Information Ecology (Wiley 2012). The book is a field guide to the future, where computing will cease to be confined to any particular “box,” but instead be freely accessible in the ambient environment.

Don Norman has been a University Professor, a corporate advisor and board member, well-known author and speaker.  Most recently he is the Director of the newly established (2014) Design Lab UCSD.  He is also co-founder of the Nielsen Norman group and an honorary Professor at Tongji University (Shanghai) in their College of Design and Innovation. He is an IDEO fellow and  a member of the Board of Trustees of IIT's Institute of Design in Chicago. Don's latest books are Living with Complexity and The Design of Everyday Things: Revised and Expanded.</media:description>
   <media:community>
    <media:starRating count="67" average="4.94" min="1" max="5"/>
    <media:statistics views="2648"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:QNDzTubyXC4</id>
  <yt:videoId>QNDzTubyXC4</yt:videoId>
  <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
  <title>Rejuvenating the Mitochondria</title>
  <link rel="alternate" href="http://www.youtube.com/watch?v=QNDzTubyXC4"/>
  <author>
   <name>GoogleTechTalks</name>
   <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
  </author>
  <published>2016-12-15T20:48:17+00:00</published>
  <updated>2017-02-15T00:13:38+00:00</updated>
  <media:group>
   <media:title>Rejuvenating the Mitochondria</media:title>
   <media:content url="https://www.youtube.com/v/QNDzTubyXC4?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i2.ytimg.com/vi/QNDzTubyXC4/hqdefault.jpg" width="480" height="360"/>
   <media:description>A Google TechTalk, 12/09/16, presented by Matthew O'Connor
ABSTRACT: "Engineering Approaches to Combating the Diseases and Disabilities of Aging: Rejuvenating the Mitochondria."  This is a talk for a general audience on the work of the SENS Research Foundation to fight age related diseases with a focus on repairing the damage that accumulates as we age. The SENS Research Foundation recently published a paper on their research into repairing cells that lack two of the thirteen essential mitochondrial proteins. The SRF scientists were able to reengineer the two mitochondrial genes and move them to the nucleus of the cell, restoring the missing proteins. This work is significant for both its impact on treating age related diseases but also on childhood diseases resulting from a lack of certain mitochondrial proteins.

About the speaker: Matthew was awarded his Master's degree at Northwestern Medical in 1999 for his work studying behavioral neuroscience in aged rodents. In 2005, at Baylor College of Medicine he received a PhD in Biochemistry for his work on proteins that regulate human telomeres. Postdoctoral research includes work at UC Berkeley on muscle stem cells and aging. Since 2010, Dr. O'Connor has headed up the MitoSENS project at the research center in Mountain View, California. His research is focused on "allotopic expression" of mitochondrial genes where his team is engineering mitochondrial genes to be expressed from the nucleus and targeted to the mitochondia. Since 2012 Dr. O'Connor has had broad oversight over many areas of research at SRF. Matthew O'Connor is passionate about performing basic research to combat the diseases and disabilities of aging.</media:description>
   <media:community>
    <media:starRating count="82" average="4.61" min="1" max="5"/>
    <media:statistics views="4470"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:6GCDfoAOKIY</id>
  <yt:videoId>6GCDfoAOKIY</yt:videoId>
  <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
  <title>Building Software at Google Scale: Bazel</title>
  <link rel="alternate" href="http://www.youtube.com/watch?v=6GCDfoAOKIY"/>
  <author>
   <name>GoogleTechTalks</name>
   <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
  </author>
  <published>2016-12-13T17:24:05+00:00</published>
  <updated>2017-02-16T22:17:08+00:00</updated>
  <media:group>
   <media:title>Building Software at Google Scale: Bazel</media:title>
   <media:content url="https://www.youtube.com/v/6GCDfoAOKIY?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i3.ytimg.com/vi/6GCDfoAOKIY/hqdefault.jpg" width="480" height="360"/>
   <media:description>A Google TechTalk, 12/5/16, presented by Ulf Adams, Helen Altsuhler, David Stanke.
ABSTRACT: Google has more than 2 billion lines of code distributed over more than 9 million source files. This talk will be a deep technical dive into how Google designed a build system to handle that kind of scale. Bazel is Google's platform independent open source build tool, now publicly available in Beta. Bazel has built-in support for both client and server software, including client applications for both Android and iOS platforms. It also provides an extensible framework that you can use to develop your own build rules.</media:description>
   <media:community>
    <media:starRating count="56" average="4.57" min="1" max="5"/>
    <media:statistics views="4108"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:kTMjqdfVptc</id>
  <yt:videoId>kTMjqdfVptc</yt:videoId>
  <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
  <title>GTAC 2016: Closing Remarks</title>
  <link rel="alternate" href="http://www.youtube.com/watch?v=kTMjqdfVptc"/>
  <author>
   <name>GoogleTechTalks</name>
   <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
  </author>
  <published>2016-12-06T11:47:57+00:00</published>
  <updated>2016-12-17T21:55:35+00:00</updated>
  <media:group>
   <media:title>GTAC 2016: Closing Remarks</media:title>
   <media:content url="https://www.youtube.com/v/kTMjqdfVptc?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i4.ytimg.com/vi/kTMjqdfVptc/hqdefault.jpg" width="480" height="360"/>
   <media:description>Matt Lowrie, Google</media:description>
   <media:community>
    <media:starRating count="5" average="4.20" min="1" max="5"/>
    <media:statistics views="319"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:j-b-SdIi8Lk</id>
  <yt:videoId>j-b-SdIi8Lk</yt:videoId>
  <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
  <title>GTAC 2016: How I learned to Crash Test a Server</title>
  <link rel="alternate" href="http://www.youtube.com/watch?v=j-b-SdIi8Lk"/>
  <author>
   <name>GoogleTechTalks</name>
   <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
  </author>
  <published>2016-12-06T11:47:47+00:00</published>
  <updated>2017-02-09T20:28:37+00:00</updated>
  <media:group>
   <media:title>GTAC 2016: How I learned to Crash Test a Server</media:title>
   <media:content url="https://www.youtube.com/v/j-b-SdIi8Lk?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i3.ytimg.com/vi/j-b-SdIi8Lk/hqdefault.jpg" width="480" height="360"/>
   <media:description>Jonathan Abrahams, MongoDB</media:description>
   <media:community>
    <media:starRating count="9" average="5.00" min="1" max="5"/>
    <media:statistics views="799"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:FzaR3iH2iZs</id>
  <yt:videoId>FzaR3iH2iZs</yt:videoId>
  <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
  <title>GTAC 2016: Finding Bugs in C++ Libraries Using LibFuzzer</title>
  <link rel="alternate" href="http://www.youtube.com/watch?v=FzaR3iH2iZs"/>
  <author>
   <name>GoogleTechTalks</name>
   <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
  </author>
  <published>2016-12-06T11:47:17+00:00</published>
  <updated>2017-02-11T14:28:30+00:00</updated>
  <media:group>
   <media:title>GTAC 2016: Finding Bugs in C++ Libraries Using LibFuzzer</media:title>
   <media:content url="https://www.youtube.com/v/FzaR3iH2iZs?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i3.ytimg.com/vi/FzaR3iH2iZs/hqdefault.jpg" width="480" height="360"/>
   <media:description>Kostya Serebryany, Google</media:description>
   <media:community>
    <media:starRating count="18" average="5.00" min="1" max="5"/>
    <media:statistics views="1075"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:MkPHntWZAPc</id>
  <yt:videoId>MkPHntWZAPc</yt:videoId>
  <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
  <title>GTAC2016: Scale vs Value - Test Automation at the BBC</title>
  <link rel="alternate" href="http://www.youtube.com/watch?v=MkPHntWZAPc"/>
  <author>
   <name>GoogleTechTalks</name>
   <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
  </author>
  <published>2016-12-06T11:47:09+00:00</published>
  <updated>2017-01-14T21:14:58+00:00</updated>
  <media:group>
   <media:title>GTAC2016: Scale vs Value - Test Automation at the BBC</media:title>
   <media:content url="https://www.youtube.com/v/MkPHntWZAPc?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i2.ytimg.com/vi/MkPHntWZAPc/hqdefault.jpg" width="480" height="360"/>
   <media:description>Jitesh Gosai and David Buckhurst, BBC</media:description>
   <media:community>
    <media:starRating count="10" average="5.00" min="1" max="5"/>
    <media:statistics views="703"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:8tjsxxSMkpA</id>
  <yt:videoId>8tjsxxSMkpA</yt:videoId>
  <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
  <title>GTAC 2016: Integration Testing with Multiple Mobile Devices and Services</title>
  <link rel="alternate" href="http://www.youtube.com/watch?v=8tjsxxSMkpA"/>
  <author>
   <name>GoogleTechTalks</name>
   <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
  </author>
  <published>2016-12-06T11:47:01+00:00</published>
  <updated>2017-01-08T10:15:21+00:00</updated>
  <media:group>
   <media:title>GTAC 2016: Integration Testing with Multiple Mobile Devices and Services</media:title>
   <media:content url="https://www.youtube.com/v/8tjsxxSMkpA?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i1.ytimg.com/vi/8tjsxxSMkpA/hqdefault.jpg" width="480" height="360"/>
   <media:description>Alexander Dorokhine and Ang Li, Google</media:description>
   <media:community>
    <media:starRating count="6" average="5.00" min="1" max="5"/>
    <media:statistics views="516"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:V7fhx1i4qPE</id>
  <yt:videoId>V7fhx1i4qPE</yt:videoId>
  <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
  <title>GTAC 2016: ClusterRunner - Making Fast Test-feedback Easy Through Horizontal Scaling</title>
  <link rel="alternate" href="http://www.youtube.com/watch?v=V7fhx1i4qPE"/>
  <author>
   <name>GoogleTechTalks</name>
   <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
  </author>
  <published>2016-12-06T11:46:52+00:00</published>
  <updated>2017-01-19T00:10:54+00:00</updated>
  <media:group>
   <media:title>GTAC 2016: ClusterRunner - Making Fast Test-feedback Easy Through Horizontal Scaling</media:title>
   <media:content url="https://www.youtube.com/v/V7fhx1i4qPE?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i3.ytimg.com/vi/V7fhx1i4qPE/hqdefault.jpg" width="480" height="360"/>
   <media:description>Taejun Lee & Joseph Harrington, Box Inc</media:description>
   <media:community>
    <media:starRating count="6" average="5.00" min="1" max="5"/>
    <media:statistics views="357"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:NKEptA3KP08</id>
  <yt:videoId>NKEptA3KP08</yt:videoId>
  <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
  <title>GTAC 2016: Code Coverage is a Strong Predictor of Test Suite Effectiveness</title>
  <link rel="alternate" href="http://www.youtube.com/watch?v=NKEptA3KP08"/>
  <author>
   <name>GoogleTechTalks</name>
   <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
  </author>
  <published>2016-12-06T11:46:43+00:00</published>
  <updated>2017-01-21T23:51:59+00:00</updated>
  <media:group>
   <media:title>GTAC 2016: Code Coverage is a Strong Predictor of Test Suite Effectiveness</media:title>
   <media:content url="https://www.youtube.com/v/NKEptA3KP08?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i3.ytimg.com/vi/NKEptA3KP08/hqdefault.jpg" width="480" height="360"/>
   <media:description>Rahul Gopinath, Oregon State University</media:description>
   <media:community>
    <media:starRating count="7" average="3.86" min="1" max="5"/>
    <media:statistics views="661"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:khSsjjg2eSQ</id>
  <yt:videoId>khSsjjg2eSQ</yt:videoId>
  <yt:channelId>UCtXKDgv1AVoG88PLl8nGXmw</yt:channelId>
  <title>GTAC 2016: Need for Speed - Accelerate Automation Tests From 3 Hours to 3 Minutes</title>
  <link rel="alternate" href="http://www.youtube.com/watch?v=khSsjjg2eSQ"/>
  <author>
   <name>GoogleTechTalks</name>
   <uri>http://www.youtube.com/channel/UCtXKDgv1AVoG88PLl8nGXmw</uri>
  </author>
  <published>2016-12-06T11:46:31+00:00</published>
  <updated>2017-02-13T10:12:57+00:00</updated>
  <media:group>
   <media:title>GTAC 2016: Need for Speed - Accelerate Automation Tests From 3 Hours to 3 Minutes</media:title>
   <media:content url="https://www.youtube.com/v/khSsjjg2eSQ?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i4.ytimg.com/vi/khSsjjg2eSQ/hqdefault.jpg" width="480" height="360"/>
   <media:description>Emanuil Slavov, Komfo Inc</media:description>
   <media:community>
    <media:starRating count="34" average="4.88" min="1" max="5"/>
    <media:statistics views="1444"/>
   </media:community>
  </media:group>
 </entry>
</feed>

We already refer to the http://search.yahoo.com/mrss/ namespace for enclosures, but this would require adding support for both <media:group> and <media:description>

I would love to have this feature.

This is a feature that I didn't know I wanted! I have eliminated going to various news sites to get their content, the only thing left is creator's feeds on YouTube!

Go away robot, pretty please 😉

You can get a feed with video embedded at
http://www.youtube.com/feeds/videos.xml?channel_id=[channel_ID]
In this particular case : http://www.youtube.com/feeds/videos.xml?channel_id=UCtXKDgv1AVoG88PLl8nGXmw

I am currently working on this.
The result I get is slightly ugly : the reason is that YouTube puts in <media:description> a plain text which it displays through a white-space: pre-wrap; style attribute.
Too bad YouTube does not use html which is allowed by the specification…

So nice to hear. Anything is better then a blank page, but yes, that would have been better for sure.

Somewhat fixed in 3.5.9

After using it for a little while, and crying over the lack of formatting/HTML, I wonder if Vienna could wrap it in <pre></pre> to make it a bit more palatable?

Alas, it would break compatibility with other feeds…

Darn it


Connectivity Issues

I know there are many issue # with regard to connecting to the network using WSL. I am just not having an easy time finding one that makes it work for me.
Below is the output of the sudo apt-get update command:
Ign http://security.ubuntu.com trusty-security InRelease
Ign http://archive.ubuntu.com trusty InRelease
Err http://security.ubuntu.com trusty-security Release.gpg
Connection failed [IP: <IP_ADDRESS> 80]
Ign http://archive.ubuntu.com trusty-updates InRelease
Ign http://security.ubuntu.com trusty-security Release
Ign http://security.ubuntu.com trusty-security/main amd64 Packages/DiffIndex
Ign http://archive.ubuntu.com trusty-backports InRelease
Ign http://security.ubuntu.com trusty-security/restricted amd64 Packages/DiffIndex
Err http://archive.ubuntu.com trusty Release.gpg
Connection failed [IP: <IP_ADDRESS> 80]
Ign http://security.ubuntu.com trusty-security/universe amd64 Packages/DiffIndex
Ign http://security.ubuntu.com trusty-security/multiverse amd64 Packages/DiffIndex
Err http://archive.ubuntu.com trusty-updates Release.gpg
Connection failed [IP: <IP_ADDRESS> 80]
Err http://archive.ubuntu.com trusty-backports Release.gpg
Connection failed [IP: <IP_ADDRESS> 80]
Ign http://archive.ubuntu.com trusty Release
Ign http://archive.ubuntu.com trusty-updates Release
Ign http://archive.ubuntu.com trusty-backports Release
Ign http://archive.ubuntu.com trusty/main amd64 Packages/DiffIndex
Ign http://archive.ubuntu.com trusty/restricted amd64 Packages/DiffIndex
Ign http://archive.ubuntu.com trusty/universe amd64 Packages/DiffIndex
Ign http://archive.ubuntu.com trusty/multiverse amd64 Packages/DiffIndex
Ign http://archive.ubuntu.com trusty-updates/main amd64 Packages/DiffIndex
Ign http://archive.ubuntu.com trusty-updates/restricted amd64 Packages/DiffIndex
Ign http://archive.ubuntu.com trusty-updates/universe amd64 Packages/DiffIndex
Ign http://archive.ubuntu.com trusty-updates/multiverse amd64 Packages/DiffIndex
Ign http://archive.ubuntu.com trusty-backports/main amd64 Packages/DiffIndex
Ign http://archive.ubuntu.com trusty-backports/restricted amd64 Packages/DiffIndex
Ign http://archive.ubuntu.com trusty-backports/universe amd64 Packages/DiffIndex
Ign http://archive.ubuntu.com trusty-backports/multiverse amd64 Packages/DiffIndex
Err http://security.ubuntu.com trusty-security/main Translation-en_US
Connection failed [IP: <IP_ADDRESS> 80]
Err http://security.ubuntu.com trusty-security/main Translation-en
Connection failed [IP: <IP_ADDRESS> 80]
Err http://security.ubuntu.com trusty-security/multiverse Translation-en_US
Connection failed [IP: <IP_ADDRESS> 80]
Err http://security.ubuntu.com trusty-security/multiverse Translation-en
Connection failed [IP: <IP_ADDRESS> 80]
Err http://security.ubuntu.com trusty-security/restricted Translation-en_US
Connection failed [IP: <IP_ADDRESS> 80]
Err http://security.ubuntu.com trusty-security/restricted Translation-en
Connection failed [IP: <IP_ADDRESS> 80]
Err http://security.ubuntu.com trusty-security/universe Translation-en_US
Connection failed [IP: <IP_ADDRESS> 80]
Err http://security.ubuntu.com trusty-security/universe Translation-en
Connection failed [IP: <IP_ADDRESS> 80]
Err http://security.ubuntu.com trusty-security/main amd64 Packages
Connection failed [IP: <IP_ADDRESS> 80]
Err http://security.ubuntu.com trusty-security/restricted amd64 Packages
Connection failed [IP: <IP_ADDRESS> 80]
Err http://security.ubuntu.com trusty-security/universe amd64 Packages
Connection failed [IP: <IP_ADDRESS> 80]
Err http://security.ubuntu.com trusty-security/multiverse amd64 Packages
Connection failed [IP: <IP_ADDRESS> 80]
Err http://archive.ubuntu.com trusty/main Translation-en_US
Connection failed [IP: <IP_ADDRESS> 80]
16% [Connecting to archive.ubuntu.com (2001:67c:1360:8001::17)]^Z
Below is the output of the nslookup microsoft.com
Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>#53
Non-authoritative answer:
Name:   microsoft.com
Address: <IP_ADDRESS>
Name:   microsoft.com
Address: <IP_ADDRESS>
Name:   microsoft.com
Address: <IP_ADDRESS>
Name:   microsoft.com
Address: <IP_ADDRESS>
Name:   microsoft.com
Address: <IP_ADDRESS>
I cannot run the ifconfig command. The output is:
Warning: cannot open /proc/net/dev (No such file or directory). Limited output
I am able to ping.
i am running build 14393.447
thanks

ifconfig support added in insider build 14965. Timeouts on some mirrors is normal, fixed by downloading updated mirrorlist.
Everything is good. Please close this issue.

Thanks

Thanks @fpqc for chiming in.
@CrustyKale - Thanks for the post! As @fpqc points out, the connectivity issues are not specific to WSL. Looks like you are running the Anniversary Update build 14393. The WSL feature is being updated frequently through Insider build and there have been quite a few changes made since the Anniversary update. If this feature is important to you, I encourage you to sign up for the Insider release and try us out there (do read the fine print before signing up). If you can't afford the Insider build on your main box, you can try it out in a VM. Also a note that all of these updates that are currently available through the Insider build will also be available in the next major release of Windows a.k.a Creators Update

I just signed up for windows insider.
i tried to updated the mirrors list and that did not work. Where can i find a list of updated repositories?
Thanks

To reinstall, just do from a cmd prompt lxrun /uninstall /full. Then you can install bash again by typing bash.

@CrustyKale You have to install the insider builds from windows update by the way (and login to your PC with your Microsoft account).


Don't call memory.deallocate for NULL memory

Also:

Latest toolshed:ts22.4.3 -> 22.4.10 : gcc 11.3 -> 12.3
Disable some new clang-tidies

Please bump the patch version


Fix #976 -- let users edit training progress in detailed person view

Looks good to me once @narayanaditya95's small comments are addressed - thanks.

@narayanaditya95 , thank you for the review!

Should we consider moving all templates that are explicitly intended to be included within another template under an includes directory?

Yes, although let's do this in a separate issue.


[Bug] Absolute paths leaking in the bundle

Reporting a bug?
Absolute paths are found in the exported bundles. This is surprising, can leak information about your build system, and will cause webpack longterm caching to not work if you build your site in different directories over time (or on multiple servers).
I believe the caching is two fold, part of it would be to use contenthash and second would be to use relative path for referencing modules.
I know there's been a lot of work put into using absolute paths over relative paths lately, and I wonder if we could achieve the same result with relative paths instead (unclear what the issue was) ?
Environment

envinfo result
❯ npx envinfo --system --npmPackages 'react*' --binaries --npmGlobalPackages 'react*' --browsers
npx: installed 1 in 1.434s

  System:
    OS: macOS 10.14.5
    CPU: (4) x64 Intel(R) Core(TM) i7-7567U CPU @ 3.50GHz
    Memory: 6.09 GB / 16.00 GB
    Shell: 5.3 - /bin/zsh
  Binaries:
    Node: 8.14.0 - ~/n/bin/node
    Yarn: 1.16.0 - /usr/local/bin/yarn
    npm: 6.9.0 - /usr/local/bin/npm
  Browsers:
    Chrome: 76.0.3809.132
    Firefox: 69.0
    Safari: 12.1.1
  npmPackages:
    react: ^16.9.0 => 16.9.0
    react-dom: ^16.9.0 => 16.9.0
    react-static: ^7.2.0 => 7.2.2
    react-static-plugin-reach-router: ^7.2.0 => 7.2.2
    react-static-plugin-sitemap: ^7.2.0 => 7.2.2
    react-static-plugin-source-filesystem: ^7.2.0 => 7.2.2

Steps to Reproduce the problem

Install a "basic" react-static site

❯ react-static create

? What should we name this project? my-static-site
? Select a template below... basic
Creating new react-static project...

cd my-static-site
yarn build
Look in the dist/main.*.js file and find absolute paths. If you're on Mac, this mean you'd find /Users/[your-user]/... paths in there.

Another way to see these absolute path is to run yarn serve and look at the sources tab in the devtools. You should see absolute path there:

Expected Behavior
I would expect not to find absolute paths in the bundles.

+1 on this. I'm seeing the exact same issue

I think it's good for first time issue.

ah! figured it out:
export default {
  siteRoot: "/",
  plugins: [
    ...
  ],
}

I believe the caching is two fold, part of it would be to use contenthash and second would be to use relative path for referencing modules.

If we use contenthash (this is something I saw mentioned before) the other part also becomes much easier.
I definitely want that, as currently the hashes are not stable :heart:

@SleeplessByte do you know if there's a way (or if it would be wanted) to keep paths absolute inside react-static but have them become relative inside the generated bundles ? Or what do you think we should do there - absolute paths are part of the non-deterministic hashes for us as our build directory changes over time.

I don't know what the right solution is. The problem is that we're having many active consumers with different set-ups, and we want to try to support all of them for as long as possible.
Let's find out what Gatsby does and see if we can use that behaviour!
A "quick workaround" would literally be grep/replace/s the absolute prefixes after the bundles are generated.

I ran into this issue yesterday. As @SleeplessByte said, a solution for me may not work for someone else (process.cwd() may not, in fact, be the correct directory, hence the absolute paths). For my build system, though, it is, and the directory was what was varying between builds. Until a solution can be found, adding the following workaround to my node.api.js file fixes this enough that I only track the files that actually changed:
import path from 'path';
import replace from 'replace-in-file';
import jsStringEscape from 'js-string-escape';
import regexStringEscape from 'lodash.escaperegexp';

export default pluginOptions => ({
    afterBundle: async state => {
        await replace({
            files: path.resolve("./dist/templates/vendors~main.js"),
            from: new RegExp(regexStringEscape(jsStringEscape(path.resolve(process.cwd()))), "g"),
            to: "."
        });
        return state;
    },
});

My understanding is that react-static uses absolute path to support pointing the tmpt, artifacts and dist directory to a location that is outside of the repository (for example, support building on Lambda, outputting to the /tmp directory)). Seems like Gatsby does not support changing the output directory. They've tried adding the option but ended up reverting it as it introduced some issues. Unclear to me exactly what the issue(s) were.
I'm going to test out using module paths (along with updating the "resolve.modules" Webpack setting) for import paths within generated bundles, while keeping absolute paths anywhere within react-static.
Once that is confirmed to work (if it does), I can revisit https://github.com/react-static/react-static/pull/1232 to see if it actually helps or not.
Hopefully this makes sense!

Yes, thanks for figuring that all out. Since we DO support pointing those directories outside of the root, we sorta require absolute paths.
Let me know if any of it works out. @smartboyathome has a temporary workaround https://github.com/react-static/react-static/issues/1303#issuecomment-531270998 that may or may not work for those reading this.

👋 it's been difficult to find time to work on this issue lately but wanted to give a quick update. I've got a working branch that allows me to change both paths.dist and paths.temp to point outside of the working directory. This works fine and no absolute paths end up in the generated files, ensuring consistent hashing even when the build directory changes.
However, I can't get yarn build to successfully run when also changing paths.buildArtifacts to a directory that's outside the working directory. I've got the same issue when using the upstream<EMAIL_ADDRESS>Exporting HTML...
  Error: Trace: { Error: Cannot find module '@reach/router'
      at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
      at Function.Module._load (internal/modules/cjs/loader.js:562:25)
      at Module.require (internal/modules/cjs/loader.js:692:17)
      at Module.call [as require] (/react-static/packages/react-static/s  rc/utils/binHelper.js:62:26)
      at require (internal/modules/cjs/helpers.js:25:18)
      [...]

Unclear to me if this is a local setup issue with yarn link or if this would also manifest in a "real-world setup".

You're awesome.
Why don't I check out your branch next week and see if I can fix that.
On 2019-09-25 19:59, Nicolas wrote:

👋 it's been difficult to find time to work on this issue lately but
wanted to give a quick update. I've got a working branch [1] that
allows me to change both paths.dist and paths.temp to point outside of
the working directory. This works fine and no absolute paths end up in
the generated files, ensuring consistent hashing even when the build
directory changes.
However, I can't get yarn build to successfully run when also changing
paths.buildArtifacts to a directory that's outside the working
directory. I've got the same issue when using the upstream
<EMAIL_ADDRESS>Exporting HTML...
Error: Trace: { Error: Cannot find module '@reach/router'
at Function.Module._resolveFilename
(internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:692:17)
at Module.call [as require]
(/react-static/packages/react-static/s  rc/utils/binHelper.js:62:26)
at require (internal/modules/cjs/helpers.js:25:18)
[...]
Unclear to me if this is a local setup issue with yarn link or if this
would also manifest in a "real-world setup".
--
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub [2], or mute the
thread [3].
Links:
[1]
https://github.com/react-static/react-static/compare/master...nddery:fix/no-absolute-paths
[2]
https://github.com/react-static/react-static/issues/1303?email_source=notifications&email_token=AAO7SWHKBOJABUVLZRHE2OTQLORI7A5CNFSM4IUJCZR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7SZKBQ#issuecomment-535139590
[3]
https://github.com/notifications/unsubscribe-auth/AAO7SWFAEO3DJKJS6J6HBULQLORI7ANCNFSM4IUJCZRQ

I've played around with node to remove the root paths from the js, json and html in dist/ directory and it finally works.
Beware hardcoded paths in my snippet – it works for my setup (Unix, MacOS and default /dist & /src paths). So, here is my plugin which runs after bundling and exporting during build:
`import path from 'path';
import replace from 'replace-in-file';
import jsStringEscape from 'js-string-escape';
import regexStringEscape from 'lodash.escaperegexp';
import fsx from 'fs-extra';
const strCWD = regexStringEscape(jsStringEscape(path.resolve(process.cwd())));
const srcPathParent = './dist/templates';
const srcPath = ${srcPathParent}${strCWD}/src/pages;
const dstPath = ${srcPathParent}/pages;
export default pluginOptions => ({
afterBundle: async state => {
await replace({
files: path.resolve(${srcPathParent}/vendors~main*.js),
from: new RegExp(strCWD, 'g'),
to: '.'
});
await replace({
files: path.resolve('./dist/main*.js'),
from: new RegExp(${strCWD.slice(1)}/src/, 'g'),
to: ''
});
return state;
},
afterExport: async state => {
await replace({
files: path.resolve('./dist//*.html'),
from: new RegExp(${strCWD}/src/, 'g'),
to: '/'
});
await replace({
files: path.resolve('./dist//routeInfo.json'),
from: new RegExp(${strCWD}/src/, 'g'),
to: '/'
});
try {
await fsx.move(srcPath, dstPath);
} catch (err) {
console.error(err);
}
try {
await fsx.remove(${srcPathParent}/Users);
} catch (err) {
console.error(err);
}
return state;
},
});
`

@warloque It's perfect !! 👌🏻

@warloque It's perfect !! 👌🏻

Thanks, but nothing is perfect, you know ;-)
Check my code update, hope that will help better)

Thanks a lot for the update 👍🏻
@warloque If you want to be fully compatible you need to integrate the basePath value into all dist path in order to build into subfolers 🙂
./dist/${basePath}/...

I am on the side on this.. using CI/CD the abs path will be anonymous anyway (i.e. /pipeline/src/...)... It's only when pushing your locally built version to a production server that your local home directory could be exposed..
Though I do think that if the paths have not been changed that the previous behaviour should be supported.. i.e. only if you change the default paths abs paths should be used.
Also I do not understand why this issue has been closed as it is still relevant in the current (at writing) npm version 7.2.3 ? (@SleeplessByte if you have any input, thanks!)

Hi there @AubreyHewes
The issues reflect the state on master, not on npm.


core: consistent naming of extras- to x-

Label (Title Case): XSmall, XXSmall, XXLarge
Code (camelCase): xSmall, xXSmall, xXLarge, psLayoutSpacingXXLarge
Code (lowercase): xsmall, xxsmall, xxlarge
Code (dashified): x-small, xx-small, xx-large

deployed to prod - site and npm


Reverting back to non-macro unoptimized code

Current coverage is 16.97% (diff: 0.00%)

Merging #130 into master will increase coverage by <.01%

@@             master       #130   diff @@
==========================================
  Files           101        101
  Lines         15961      15984    +23
  Methods         618        618
  Messages          0          0
  Branches       2602       2586    -16
==========================================
+ Hits           2709       2713     +4
- Misses        12953      12965    +12
- Partials        299        306     +7

Powered by Codecov. Last update af55799...76334a1


libs: libxx: Fix compile errors with CONFIG_DEBUG_ERROR=y

Summary

This commit fixes compile errors in libxx_new.cxx and libxx_newa.cxx

Impact

None

Testing

Build with spresense:nsh with CONFIG_DEBUG_ERROR=y

@masayuki2009 how about we enable CONFIG_DEBUG_xxx in several config to catch the similar error in the furture?

@masayuki2009 how about we enable CONFIG_DEBUG_xxx in several config to catch the similar error in the furture?

@masayuki2009 how about we enable CONFIG_DEBUG_xxx in several config to catch the similar error in the furture?

Historically, we have forbidden debug configurations in defconfig files.  The reason is because we wanted each NuttX configuration to be the smallest and fast possible.  We wanted the default configurations to always show the OS at its best.
Be we did talk about a script to modify a defconfig file to add debug features are configure time.  I think that this would be a better way to go.  Then the CI could enable debug features in all configurations.

@masayuki2009 how about we enable CONFIG_DEBUG_xxx in several config to catch the similar error in the furture?

Historically, we have forbidden debug configurations in defconfig files.  The reason is because we wanted each NuttX configuration to be the smallest and fast possible.  We wanted the default configurations to always show the OS at its best.
Be we did talk about a script to modify a defconfig file to add debug features are configure time.  I think that this would be a better way to go.  Then the CI could enable debug features in all configurations.

@masayuki2009 how about we enable CONFIG_DEBUG_xxx in several config to catch the similar error in the furture?

Historically, we have forbidden debug configurations in defconfig files. The reason is because we wanted each NuttX configuration to be the smallest and fast possible. We wanted the default configurations to always show the OS at its best.
Be we did talk about a script to modify a defconfig file to add debug features are configure time. I think that this would be a better way to go. Then the CI could enable debug features in all configurations.

@patacongo
Actually, I've been doing a similar approach called debug build which adds the following to .config directly.
echo CONFIG_DEBUG_ASSERTIONS=y >> .config
echo CONFIG_DEBUG_FEATURES=y >> .config
echo CONFIG_DEBUG_ERROR=y >> .config

@masayuki2009 how about we enable CONFIG_DEBUG_xxx in several config to catch the similar error in the furture?

Historically, we have forbidden debug configurations in defconfig files. The reason is because we wanted each NuttX configuration to be the smallest and fast possible. We wanted the default configurations to always show the OS at its best.
Be we did talk about a script to modify a defconfig file to add debug features are configure time. I think that this would be a better way to go. Then the CI could enable debug features in all configurations.

@patacongo
Actually, I've been doing a similar approach called debug build which adds the following to .config directly.
echo CONFIG_DEBUG_ASSERTIONS=y >> .config
echo CONFIG_DEBUG_FEATURES=y >> .config
echo CONFIG_DEBUG_ERROR=y >> .config


Cannot download sbt tgz

Thanks for your blog article.
I tried to use it but could not download sbt tgz.
The official documentation said to download it via the GitHub release.

thank you for your contribution and p.r.
i will merge this p.r. after verifying that it works on my local.

@shomatan it's perfect. thank you!!!!!!!


Walk through NGINX hardening guide

https://kubernetes.github.io/ingress-nginx/deploy/hardening-guide/

Sounds reasonable. Although the guide provides limited guidance on how to actually configure the ingress controller, it's a good starting point. Some thoughts though:

How much configuration should be done on the ingress controller and how much should be done on specific ingresses with annotations, i.e. some configuration is probably application-related.
How much configuration should be done on the ingress controller statically, and how much should be configurable using input variables per cluster
Ther's a lot of configurations that could be made. What are the most important ones?
Should we have a look at the App Protect WAF and the App Protect DoS modules?

Some practical guidance can be found here: https://www.cyberciti.biz/tips/linux-unix-bsd-nginx-webserver-security.html


readme: add acceptable casks

Just in general, and perhaps the question is tangential to this PR, how do you feel about something like Popularity Contest and developing minimum usage targets to decide when to retire a cask rather than hard limits on number of previous versions or duration for which a Cask should be maintained?  That said, I appreciate that you are trying to clarify rules and move things forward immediately, and I'm not trying to stand in the way of that.

In general, I’m against collecting user data1. Reasons being collected data can be done in two ways, opt-in or opt-out. If it is done by opt-out, it is a privacy violation (however small), but if it is done opt-in, the data is pretty much useless. The solution is, then, to not waste time implementing that.
Having said that, those arguments are in relation to a popularity contest in the sense of “which apps are more popular”. In the case you mention, it’s just about “is anyone even downloading this app”, which I could see a better case for. Even if a few number of users opts-in and we ignore apps that don’t have “hits”2, we could still consider the ones that have them and would be removed otherwise, as apps we should keep.
I’m still not too comfortable with the idea, though. How would we do it? Once you have homebrew-cask installed, you don’t need to have any more contact with us. Everything happens on your machine, and you call the app servers directly when you need to install something.
This would require we either keep a list of everything you installed and periodically send it to us (yuck! Also, goes against our new mode of thinking where we try to emulate a manual installation as closely as possible) or that we, for instance, send a hit to a server somewhere whenever you run a brew cask install.
All of those require we maintain and pay for a server somewhere for this (not to mention build and maintain the code for this in homebrew-cask itself) and I simply cannot see how it’d be worth it, particularly right now when we have real functional issues to solve.
Lastly, since we’ll be joining up with homebrew, this also seems like something weird to have when they wouldn’t, particularly since we’ll try to reuse their code as much as we can. For this to be implemented, seems like it would need to be a discussion and implemented on the core.

1 Not recommending you read through the issue, though, just giving it as context in case you do want to read my points.
2 As in “were we hit with a request for it”.

LGTM.


FacebookSDKException -  "Signed request has an invalid signature."

When i tried
$token = $fb->getCanvasHelper()->getAccessToken();

"FacebookSDKException" => FacebookSDKException {#178
    #message: "Signed request has an invalid signature."
    #code: 602
    #file: "/home/app/vendor/facebook/php-sdk-v4/src/Facebook/SignedRequest.php"
    #line: 281
    -trace: array:53 [
      0 => array:3 [
        "call" => "Facebook\SignedRequest->validateSignature()"
        "file" => "/app/vendor/facebook/php-sdk-v4/src/Facebook/SignedRequest.php:156"
        "args" => array:2 [
          0 => b"-š\x08\x13%üÒ`]¼*\x00*O\x05ª`\x0E°ânî‹\x15©i=5\x7F©O"
          1 => b"¾¦\x05n²°y¶\x1E§<\x01µ=*\x1D;¡^¡\tê¦/{\x023¦‰…‹"
        ]
      ]
      1 => array:3 [
        "call" => "Facebook\SignedRequest->parse()"
        "file" => "/home/app/vendor/facebook/php-sdk-v4/src/Facebook/SignedRequest.php:66"

Can anyone help me?

How did you fix this error? I have this some and I cannot figure it out.


Reverse an array using stack in Java

💥 Proposal
Want to add code for reversing an array using the stack data structure in Java.
Have you read the Contributing Guidelines on Pull Requests?
Yes

/assign


Microcart count on prod

After last PR https://www.dropbox.com/s/x3zjgd7jmidfppw/Zrzut ekranu 2017-11-06 19.11.33.png?dl=0

Here are my suggestion to the adjustments of the top.
Current state on the desktop/tablet:

Desired state on the desktop/tablet:

Changes:

Styles stay the same for desktop and tablet, optionally we can remove from the top "search" button and "saved" button
Add the background color to the menu button

Current state on the mobile:

Desired state on the mobile:

Changes:

only sidebar cart and sidebar menu
sidebar menu button with the background

@filrak again, the same thing happened to the icons here.
I'm not sure why but, unless specified by atomic classes, the style isn't applied. It may be due to the fact the microcart count was missing the lang="scss" tag, however I don't see how that would affect scoped styles. This seems to be a problem only with MicrocartIcon.vue for some reason. Odd.
Below are screens of the element in question, first is the good one, styles applied, the latter is the prod, without styling.