Find a better pattern for using Nixpkgs config

I think the config argument to nixpkgs is underutilized, and where it is in use, its kind of messy, so I'd like to see some documention for consistent use and more customibility in packages.
Starting with the MPD package, here is how its done and two ways I think it could be improved
How its done now
all-packages.nix
{
  mpd = callPackage ../servers/mpd {
    aacSupport    = config.mpd.aacSupport or true;
    ffmpegSupport = config.mpd.ffmpegSupport or true;
  };
}

mpd/default.nix
{ stdenv, fetchurl, pkgconfig, glib, systemd, boost
, alsaSupport ? true, alsaLib
, flacSupport ? true, flac
, vorbisSupport ? true, libvorbis
, madSupport ? true, libmad
, id3tagSupport ? true, libid3tag
, mikmodSupport ? true, libmikmod
, shoutSupport ? true, libshout
, sqliteSupport ? true, sqlite
, curlSupport ? true, curl
, audiofileSupport ? true, audiofile
, bzip2Support ? true, bzip2
, ffmpegSupport ? true, ffmpeg
, fluidsynthSupport ? true, fluidsynth
, zipSupport ? true, zziplib
, samplerateSupport ? true, libsamplerate
, mmsSupport ? true, libmms
, mpg123Support ? true, mpg123
, aacSupport ? true, faad2
, pulseaudioSupport ? true, pulseaudio
, jackSupport ? true, jack2
, gmeSupport ? true, game-music-emu
, icuSupport ? true, icu
}:

How defaults could be set in all-packages
all-packages.nix
{
    findOpts = pkgName: opts: with builtins;
    let
      pkgConfig =
        if hasAttr pkgName config
        then getAttr pkgName config
        else { };
    in
    listToAttrs (map
      (name:
        { inherit name;
          value =
            if hasAttr name pkgConfig
            then getAttr name pkgConfig
            else getAttr name opts;
        }
      ) (attrNames opts));

  mpd = callPackage ../servers/mpd (findOpts "mpd" {
    aacSupport        = true;
    alsaSupport       = true;
    bzip2Support      = true;
    audiofileSupport  = true;
    clientSupport     = false; # Act as a proxy to another MPD instance.
    curlSupport       = true;
    ffmpegSupport     = true;
    fluidsynthSupport = true;
    flacSupport       = true;
    gmeSupport        = true;
    icuSupport        = true;
    id3tagSupport     = true;
    jackSupport       = config.jack or false;
    madSupport        = true;
    mikmodSupport     = true;
    mmsSupport        = true;
    mpg123Support     = true;
    opusSupport       = true;
    pulseaudioSupport = config.pulseaudio or true;
    samplerateSupport = true;
    shoutSupport      = true;
    sqliteSupport     = true;
    vorbisSupport     = true;
    zipSupport        = true;
  });
}

mpd/default.nix
{ stdenv, fetchurl, pkgconfig, glib, systemd, boost
, alsaSupport, alsaLib
, flacSupport, flac
, vorbisSupport, libvorbis
, madSupport, libmad
, id3tagSupport, libid3tag
, mikmodSupport, libmikmod
, shoutSupport, libshout
, sqliteSupport, sqlite
, curlSupport, curl
, audiofileSupport, audiofile
, bzip2Support, bzip2
, ffmpegSupport, ffmpeg
, fluidsynthSupport, fluidsynth
, zipSupport, zziplib
, samplerateSupport, libsamplerate
, mmsSupport, libmms
, mpg123Support, mpg123
, aacSupport, faad2
, pulseaudioSupport, pulseaudio
, jackSupport, jack2
, gmeSupport, game-music-emu
, icuSupport, icu
, clientSupport, mpd_clientlib
, opusSupport, libopus
}:

If defaults were expressed in the package function
all-packages.nix
{
  config' = config // {
    findOpts = pkgName: opts: with builtins;
    let
      pkgConfig =
        if hasAttr pkgName config
        then getAttr pkgName config
        else { };
    in
    listToAttrs (map
      (name:
        { inherit name;
          value =
            if hasAttr name pkgConfig
            then getAttr name pkgConfig
            else getAttr name opts;
        }
      ) (attrNames opts));
  };

  mpd = callPackage ../servers/mpd { };
}

mpd/default.nix
{ stdenv, config'
, fetchurl, pkgconfig, glib, systemd, boost
, alsaLib
, flac
, libvorbis
, libmad
, libid3tag
, libmikmod
, libshout
, sqlite
, curl
, audiofile
, bzip2
, ffmpeg
, fluidsynth
, zziplib
, libsamplerate
, libmms
, mpg123
, faad2
, pulseaudio
, jack2
, game-music-emu
, icu
}:

let
  opts = config'.findOpts "mpd" {
    aacSupport        = true;
    alsaSupport       = true;
    bzip2Support      = true;
    audiofileSupport  = true;
    clientSupport     = false; # Act as a proxy to another MPD instance.
    curlSupport       = true;
    ffmpegSupport     = true;
    fluidsynthSupport = true;
    flacSupport       = true;
    gmeSupport        = true;
    icuSupport        = true;
    id3tagSupport     = true;
    jackSupport       = config'.jack or false;
    madSupport        = true;
    mikmodSupport     = true;
    mmsSupport        = true;
    mpg123Support     = true;
    opusSupport       = true;
    pulseaudioSupport = config'.pulseaudio or true;
    samplerateSupport = true;
    shoutSupport      = true;
    sqliteSupport     = true;
    vorbisSupport     = true;
    zipSupport        = true;
  };

in with opts; stdenv.mkDerivation rec {
...
}

Anyone have other patterns that would work better?

There is probably some way to put option defaults and documention in meta and make a tool to parse and print them...

I would favour the middle idiom since there is one place, all-packages.nix, to look for all config options; the same idiom is used when we pass individual dependencies to the build expression and not just pkgs. I also however like the last one since it is more convenient from a package authoring viewpoint.

You can easily set default configs like this:
all-packages.nix
{
aacSupport = true;
mpd = callPackage ../servers/mpd {};
}
This assumes of course that mpd has this config option:
mpd/default.nix
, aacSupport ? true, faad2
You can then trivially do a global and per-package override of the config
value. Setting global aacSupport to null also should work to let packages pick
their preferred local default(need to test to make sure).
Problems with this approach are:

It's convention-based. There's no way to tell if something is a config
option, not even by its data type if its default is null. Thus, it's hard to
force people to document their options in a structured way

Binary packages. Or rather, lack of them. Lots of people from Gentoo
initially crave use flags. Especially since they are effectively free unlike in
NixOS. But eventually convenience wins.

Maintenance overhead. Correctly identifying all optional dependencies,
putting this knowledge into the derivation, adding asserts, testing at least
common option combinations takes quite some effort.

The first step could be finding out what config values are actually in use eg by
grepping typical patterns like with* or *support and trying to get rid of
duplicates, introduce some config naming guidelines etc etc.
Documenting this would be nice too.
If you don't get tired of it by then... the sky is the limit ;)

I came from Gentoo, and NixOS seems to be better in everyway except this one (but atleast we don't have package block hell).
It sounds like the issue of options and dependencies would imply that options that are applied should be passthrough attributes.

Expanding on what @Phreedom said...
It should be noted that the config method is discouraged.  Using the config method doesn't allow overriding specific derivations (typically in cases where there are multiple versions of a package).  The config method should typically only be used for global configuration options, not per package configuration options.

it is also possible to inherit flags from dep passthru if that's what you want,
but there's no general solution since package dependencies can come with
different values of the same flag and it's up to you to decide if you want to
throw an exception, fold it with and/or etc.
I was under impression that gentoo doesn't let you inherit flags, only set them
based on package name regexp, probably because of exactly this problem.

Well, we do have the regexp primop now, but I worry that it would hurt evualation time to run through a lot of options.

What we can do here is changing callPackage slightly, which is doable. Instead of looking up only in pkgs it would look up also config.
Implementation

All the packages would have non-optional config flags, like { ..., fooSupport, .. }
There must be a default nixpkgs config with fooSupport = true/false;. That not only helps document config flags, but also have a consistent choice across all packages by default.
Then callPackage would first look into pkgs for feeding inputs, of course, and then also config. The newScope calls would retain config.

Usage
In top-level you'd have config.fooSupport = true; pkg = callPackage ./mypkg.nix { };.
In mypkg.nix you'd have { ..., fooSupport, ... }.

Thats sounds good to me, but I would add that we could define config in a seperate file along with documentation strings, something like
{
  pulseaudioSupport =
    { value = true;
      description = "Pulseaudio support.";
    };

  aesniSupport =
    { value = false;
      description = "Use AES-NI instructions.";
    };
}

The benefit being the docstrings could be regexed by helpers inside nix-repl or dumped to json for external tools.

On Tuesday, April 21, 2015 07:19:58 lethalman wrote:

All the packages would have non-optional config flags, like { ..., fooSupport, .. } 2. There must be a default nixpkgs config with
fooSupport = true/false;. That not only helps document config flags, but
also have a consistent choice across all packages by default. 3. Then
callPackage would first look into pkgs for feeding inputs, of course, and
then also config. The newScope calls would retain config.

Not a bad idea, although I'd go for tri-state flags. Imagine a package with a
gtk- and qt-based gui, once of which is production-grade and another is
experimental. It would be nice for package to provide sane defaults while
letting purists get what they want/deserve :) Another example: package hides
behind default=false flag a non-essential dependency which greatly increases
build time/closure size or causes potential instability or vulnerabilities. I
was under impression this is what gentoo does.
Also, while I didn't look at the code, you probably don't need to modify
callPackage and instead in pkgsFun you can do a trivial pkgs // attrMap over
the config argument which would translate fancy config definitions into plain
absent/true/false flags.
If you don't get tired of this, you can also add meta.flags.$flag_name =
$description support and provide a nice way to query this for users along with
global flag descriptions.
But again, before you do this, you need to sort out the mess we have with the
existing flags: come up with a naming scheme, fix the offending packages and only
then it makes sense to add this global config handling and auto-generated
documentation.

@Phreedom somewhat I agree that packages should have a degree of freedom on what flags should be enabled or not, it's a little hard to decide though. A tri-state might be a solution.
Yeah whatever, bringing config in the scope works too, it was just to say we can do this directly at callPackage level without further magic.
The meta for flags might be acceptable, not sure. Given all the examples we have of flags usage, I believe a meta description of flags wouldn't hurt.
About fixing the naming ecc., that's the last problem, really. It will be done, step by step, as packages break, ecc.. I don't even think about it.

On Wednesday, April 22, 2015 01:26:23 lethalman wrote:

About fixing the naming ecc., that's the last problem, really. It will be
done, step by step, as packages break, ecc.. I don't even think about it.

Packages won't break, they simply won't use the global flag values unless you
unify the flag names. And local flags already work just fine.

@Phreedom You wouldn't need a tri-state for the case of a solid qt gui and experimental gtk gui. If a user has both gtk & qt support enabled it would pick the qt gui unless they did a forceful override of the package. In the case where they want gtk only, it might even be nice if packagers added warnings about certain features being experimental / scary. Then the end user would get the idea that maybe they should enable qt or they can stick with experimental.

On Sunday, April 26, 2015 10:54:45 William A. Kennington III wrote:

@Phreedom You wouldn't need a tri-state for the case of a solid qt gui and
experimental gtk gui. If a user has both gtk & qt support enabled it would
pick the qt gui unless they did a forceful override of the package. In the
case where they want gtk only, it might even be nice if packagers added
warnings about certain features being experimental / scary. Then the end
user would get the idea that maybe they should enable qt or they can stick
with experimental.

You are describing a situation where the package has both usegtk and useqt
flags and they are both enabled. I'm taking about eg experimental gtk gui,
useqt = false, usegtk = true.
In general I find flags for a specific dependency package(s) a bit too low-level,
especially for global flags.
And while I don't mind having global flags also for this if can get them
effectively for free, the real use case is something like withXorg/withGUI =
false to build a headless machine.  The key difference here is that withGUI
describes a feature, not a specific lib/dependency. To set withJava=false
globally, you have to review all the packages in the system closure to see if
you are dropping something very useful or not because there's no way to tell
if java is used to eg generate some docs or run tests or it is used to provide
a major feature.

I addressed the useqt = false and usegtk = true case:
"In the case where they want gtk only, it might even be nice if packagers added warnings about certain features being experimental / scary. Then the end user would get the idea that maybe they should enable qt or they can stick with experimental."
And sure, feature flags often remove some very indirect features that you may not have known about.

Ah you mean writing something to console while the derivation is being
evaluated. That's certainly possible, although nixpkgs users aren't used to
looking at build logs. Either way, if you implement feature flags, you
automatically implement dependency flags, so noone's stopping you. I still
doubt depencency flags will be used much in practice.

Reading all this, IMHO packageOverrides already provides all the power we need for per-package overrides. It does require a little much typing for the usual simple overrides; if need be, that could be extended e.g. by also having some simpler variant (example below), implemented via a transformation into packageOverrides. Personally I like that packageOverrides allows to uniformly express exactly what one wants.
simpleOverrides = {
  mpd.aacSupport = true;
  mpd.ffmpeg = ffmpeg-full;
  /*...*/
};

As for global overrides, IMO that's a bit deceiving thing, as people rarely truly want to enable e.g. aacSupport for every package in the closure, as such changes come with a large cost of rebuilding most packages due to less-expected transitive dependencies (and repeating this after most channel bumps).

Agree with @vcunat that everything can be done with packageOverrides and the default override functionality right now, so no reason to add boilerplate to the already gigantic all-packages.nix (also one that is entirely conventional!).
Fabian Schmitthenner has recently posted a WIP of displaying existing optional package options on the package site, which is a solution to the discovery problem, see http://lists.science.uu.nl/pipermail/nix-dev/2016-February/019792.html
I suggest we close this.


Random cleanup

This is up to date with #63; I will wait until that is merged.

The code seems to be shorter (?) with n-ary joins and meets.


Python sdk

Hi. I see that there are no plans for a Python SDK in your roadmap.

Hi @fritz-trawa, thanks for raising the issue about Python SDK.
at this moment, we don't have any contributor actively working on it. if you would be willing to participate/contribute in creating one, please let me know and I can help with guidance etc.


Fiat On-Ramp G$

Implement Onramper widget to gooddollar.org/goodcollective with the destination address provided by Lauren.

replaced by #21


Games installed through EGS not getting detected.

The manifest files and install locations is always "pfx/drive_c" this may not be true if the games were installed on SD Card.
Using the installed and manifest locations from the .item file through dosdevices directory solves this problem.
https://github.com/PhilipK/BoilR/issues/279

So using dosdevices solves the problem for both cases? With and without SD?

Oh and thank you so much for this

Oh and thank you so much for this

And thank you for this wonderful tool :)


how can I setup correctClockSkew?

https://github.com/aws/aws-sdk-js/issues/1632
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Config.html#correctClockSkew-property

timeDelta resolves this


XML Special characters aren't being escaped properly

Describe the bug
The library is not correctly sanitising inputs before putting them in an XML body
To Reproduce
import type { SitemapFunction } from 'remix-sitemap';
import { json } from "@remix-run/node";

export const sitemap: SitemapFunction = async () => {
	return [{
		lastmod: new Date().toISOString().split('T')[0],
		loc: `/news/0`,
		news: [{
			title: "Something with an & symbol",
			publication: {
				name: 'Website',
				language: 'en'
			},
			date: new Date().toISOString().split('T')[0]
		}]
	}]
};

export async function loader() { return json({}); }

Invalid XML output
<url>
	<loc>https://example.com/news/0</loc>
	<lastmod>2023-10-15</lastmod>
	<changefreq>daily</changefreq>
	<priority>0.7</priority>
	<news:news>
		<news:publication>
			<news:name>Signplanet</news:name>
			<news:language>en</news:language>
		</news:publication>
		<news:publication_date>2023-10-15</news:publication_date>
		<news:title>Something with an & symbol</news:title>
	</news:news>
</url>

Expected behavior
<url>
	<loc>https://example.com/news/0</loc>
	<lastmod>2023-10-15</lastmod>
	<changefreq>daily</changefreq>
	<priority>0.7</priority>
	<news:news>
		<news:publication>
			<news:name>Signplanet</news:name>
			<news:language>en</news:language>
		</news:publication>
		<news:publication_date>2023-10-15</news:publication_date>
		<news:title>Something with an & symbol</news:title>
	</news:news>
</url>

Environment (please complete the following information):

remix-sitemap version 3.0.0

This could be a potetial patch fix, though it's not perfect:
"Some text & stuff".replaceAll(/[^A-z0-9 ]/g, (c)=>`&#${c.charCodeAt(0).toString()};`)
'Some text & stuff'

I guess this can be resolved by simply changing this to true, but performance may be worse
https://github.com/fedeya/remix-sitemap/blob/7e529e3640ac696101bc74af5af60933aa4332b0/src/builders/sitemap.ts#L115

It would indeed slow down performance, but I doubt that it will impact the entire tool meaningfully for it's purpose based on the request per seconds claim.
At least for me the biggest issue is that this library for some reason creates a new database connection for every single route it's generating a sitemap for, which is a much larger bottle neck than any xml processing would be

Ironically it might be faster to use the regex method I provided earlier, because then you can apply it only the fields which might have special characters such as names and titles, and can ignore dates and urls

Yes, but your other comment makes sense, it's not expected to have a bunch of requests in a sitemap. The processEntities can be true

At least for me the biggest issue is that this library for some reason creates a new database connection for every single route it's generating a sitemap for, which is a much larger bottle neck than any xml processing would be

For this, if you are creating the connection to db in each sitemap function, i assume this is normal.
In a node environment, this should be resolved by connecting outside of the function, sharing the instance. i guess.
In serverless/edge idk maybe solving #6 can help some. I need to test how it works.
Please create another issue to investigate more about this


Reproducibility of Faiss model

Hi all,
I am working on a 'faiss ivf flat' model. These are my model settings
{
            "training_index": self.train_index_name,
            "training_field": self.train_vector_name,
            "dimension": 24,
            "description": "My models description",
            "method": {
                "name": "ivf",
                "space_type": "l2",
                "engine": "faiss",
                "parameters": {
                    "nlist": 400,
                    "encoder": {"name": "flat"},
                },
            },
        }

The training index includes 200,000 vectors. I trained the model several times on this data and each time the trained model gave different results for the same test vector.
At the same time, when I train models with the same parameters through the faiss Python library, I get completely models that give the same results.
Is it possible to train reproducible models with opensearch?
My code for model with python
self.quantiser = faiss.IndexFlatL2(features.shape[1])
self.index = faiss.IndexIVFFlat(
            self.quantiser, features.shape[1], self.nlist, faiss.METRIC_L2
)
self.index.train(features.astype(np.float32))
self.index.add(features.astype(np.float32))

Hi @andBabaev
There are 2 components of indexing here: creating the model and adding the vectors. I suspect that the difference is occurring due to the adding of vectors.
For the model, if you are using all of the training vectors in the training index, I would suspect that the model would be the same. To confirm this, could you get the model with the GET model API and confirm they are identical? https://opensearch.org/docs/latest/search-plugins/knn/api/#get-model
For indexing, a vector will be added to one of the shards. Each shard will have a set of immutable segments. During search, each segment will get searched and the results will be aggregated. The faiss index will map to a file in one of these segments - all vectors in this segment will be added to the faiss index for that segment. Depending on how many shards you have and how many segments are created for each shard, results may vary. To get more consistent results, I would try incrementing the nprobes parameter. Also, you can force merge the number of segments to 1 for the index.
A few followup questions:

How many nodes?
How many primary and replica shards?
How many segments does each shard have?


[CLI] Hostname / Help conflict flag

Both help and hostname flags have the same "short" version to -h.
Usually the priority is for the help command.
We can either change the param name, or the short name for the flag.

I think we can just remove the short option and let it be just --hostname.

Redis seems to handle this by using -h as a boolean flag, if it is present and doesn't have a value, it is the short version of "help". I don't know how to do something like this using the mrrooijen/commander shard. We can check if it is keeping the default value and then assign this to help command.

@hugoabonizio so help could change to --help only.


Integration documentation needs more detail

I've been over the documentation a few times and I can't find any information on how to actually integrate with django-plans within our views and models or how to integrate our own payment system (without using django-payments).
I've been able to piece some of it together from the example demo, but that's hardly a substitute for actual documentation.

That is true, the documentation doesn't properly cover the integration part. At the moment there's only a TODO comment in it https://django-plans.readthedocs.io/en/latest/integration.html#integration
However the demo directory contains most of the stuff needed.
But still, I agree the documentation should do a better job in case of integration.


[Runtime] Fix swift_weakTakeStrong().

It turns out that when taking the last weak reference for an object that has been deallocated, we might have returned a non-null pointer when we shouldn't have.  Which is exciting.
rdar://106375185, rdar://109151498

Explanation: Fixes a potential source of UAF bugs.
Risk: Low. Only affects swift_weakTakeStrong(), which thankfully seems to be called very rarely.
Original PR: https://github.com/apple/swift/pull/65192
Reviewed by: @mikeash
Resolves: rdar://109151498 (original resolved rdar://106375185)
Tests: This is causing runtime/LongTests/SwiftRuntimeLongTests/LongRefcountingTest/lifecycle_live_deiniting_deinited_freed_with_side_DeathTest to fail.

@swift-ci Please test


Create the codeowners file

Setting up codeowners for this repo as part of enhanced management.

@GitVillain - I think we would still look to allocate people to make the review. They just need to be in the codeowners group.


[BUG]: Ai-engine stuck in pending status on Microk8s

Version
22.09+
Which installation method(s) does this occur on?
No response
Describe the bug.
Over multiple environments and machines, Morpheus AI Engine is no longer running successfully for me in microk8s.
This includes environments where, 3 weeks ago, the ai-engine and SDK were working without problem.
I have attempted multiple re-installs using 22.09 and 23.01.
I have also refreshed my API key and successfully used it to pull down new helm charts. I also successfully logged in using docker login nvcr.io with the API key.
Since the hardware and environments have not changed, and the API key does not have a problem, the issue seems to be with Morpheus, or with some change that has been made in the installation process with helm.
Minimum reproducible example
Simply follow the Quickstart guide at https://docs.nvidia.com/morpheus/morpheus_quickstart_guide.html

$ export API_KEY="<NGC_API_KEY>"
$ export NAMESPACE="<YOUR_NAMESPACE>"
$ kubectl create namespace ${NAMESPACE}
$ helm fetch https://helm.ngc.nvidia.com/nvidia/morpheus/charts/morpheus-ai-engine-22.09.tgz --username='$oauthtoken' --password=$API_KEY --untar

Relevant log output
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /home/user/.kube/config
WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /home/user/.kube/config
NAME: ai-engine23
LAST DEPLOYED: Mon May 22 15:41:33 2023
NAMESPACE: dell-analytics
STATUS: deployed
REVISION: 1
TEST SUITE: None

Full env printout
Multiple environments have been tested.
Using Ubuntu 20.04

Other/Misc.
No response
Code of Conduct

[X] I agree to follow Morpheus' Code of Conduct
[X] I have searched the open bugs and have found no duplicates for this bug report

Hi @cbpt-wb!
Thanks for submitting this issue - our team has been notified and we'll get back to you as soon as we can!
In the mean time, feel free to add any relevant information to this issue.


Receiving order and allocating line items

When Receiving orders please add following feature in the purchase order feature page.

Add an options to allocate different items to different locations.
Add a field/column to show what the component was ordered for and where to place it.
Be able to back track the Po to find where parts were sent in case of misplacement and back orders

Is it possible to have some type of filter system to to be able to set item locations easier?
Not sure how to word this buuuuttt!
If ordering items for multiple parts. Have it referenced showing what item it was ordered for. so for the person closing the Purchase order in InvenTree knows where to place them.

please provide a new status in the "purchase order details" to allow a new status from pending to received then to "Allocation"? to provide a stop gap to allow a palm from one person to another. When item is received the purchase officer can then check for all line items then pass on packages to intended rooms where they can then be further allocated to final destination (BINS, build kits).

@SchrodingersGat What are your general thoughts for entering parts from purchase orders?
I think what @Marbles87 hinted at sounds like a fair request, just wondering what you think.

An "Intended location" column would certainly be a handy addition - and could default to the "default location" for the particular part.
I've opened a new issue for adding the ability to track down stock items received against a certain purchase order

Looks like you were quick to jump on this, nice. Should we close this issue then?

I think leave open until we have implemented a "receive location" for a purchase order line item. I have a few ideas how to implement this, might be able to look at it today.

What is the status on this? I was wondering if it would be possible to assign parts from a purchase order to a location. Just simple select items and click set to different location...

What is the status on this? I was wondering if it would be possible to assign parts from a purchase order to a location. Just simple select items and click set to different location...

@Kedarius no further development on this one yet...

@Kedarius no further development on this one yet...


SAMOutputPreparer should be extended to write complete streams

SAMOutputPreparer knows how to prepare the beginning of an output stream, but not how to populate or terminate it (which for CRAM requires a special terminating EOF container). We should extend it do the whole roll-up correctly based on the SAMFormat being used.

Fixed in #111.


Support CORTEXA55 0xd05 and reduce drone resource usage

And let clang++ compile if needed.

Ill make separate if this gets through, at least default was to much for 128GB swap on raspberry

Pretty sure there is something else going on at drone.io - they are using serious hardware and there is no way addition of just one more DYNAMIC_ARCH target could have driven up build times like that. Perhaps it is just rate limiting kicking in due to the number of rebuilds in fairly quick succession.

Ill wait some before re-opening A55

Looks like closing the PR does not (always) cancel the associated CI on drone (which I am pretty sure it did in the past).

Does not let me operate cancel button either ;-)

I will push both, if it fails I will follow the slow way one a day.

Looks like cached result is stuck.

Rationale of having it in the low-end pool:

mass market pieces will be always cache-challenged
it is power-efficient piece, unlikely to scale into upper segments.
I suppose it needs a rewrite around cpuid (and dynamic thereof) to be in best shape for mass market SoC products and enormous network switches alike.


refactor: ml.sql to Object

Change-Id: Ibf795b81619778eaf28572fccd95a09b65f8ad58
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
tg/2031748
The change basically only:
Refactor the ml.sql and ml.core module from functional to object oriented.
It will improve code health and resolve some tech debt that:
Object oriented that gives us the capacity to easily inject mock objects and create unit tests.
Currently sql generation and assembly are spread all over the place, we can limit the functionalities as much to ml.sql module as possible. That in turn get better isolations.

The PR is contaminate. venv folder is included. And I can't remove the folder in local env, since pre-commit won't be able to resolve. I'll send a new PR to replace this one.


What to do about pip 19.1

I have been thinking a lot about this since pip broke editable installs yesterday. (https://discuss.python.org/t/pip-19-1-and-installing-in-editable-mode-with-pyproject-toml/1553/5). I thought #11 would solve our problems, but it created new ones, so I wanted to capture what I have thought about so far.
I think there are several options.

Pin to <19.1

fine solution if this is temporary

Use the flag every time you pip install with editable: pip install -e . --no-use-pep517

PRO: smallest change
PRO: stay on latest pip
CON: flag is too long to remember
CON: flag is controversial and might go away

Switch to using python setup.py develop

PRO: get rid of pyproject.toml
PRO: does special things that pip doesn't do (build panel models)
CON: no good way to specify build-time dependencies
CON: conda doesn't recognize as best version when package already in env

Sounds utterly miserable. All options are quite bad.

Seems likely that the pip people will revert while they discuss https://github.com/pypa/pip/pull/6449. Given that, I propose that we pin under 19.1 for now and wait to see how things shake out.

Sounds like a plan. What a mess that has been.


Add a SUPPORT.md file to the .github/ folder

It'd be good to add a SUPPORT file to the .github/ folder directing folks to Stack Overflow if they have a general question about using Bootstrap. A link to this file will display when someone opens a new issue which could cut down on new issues being opened unnecessarily.
It's a new GitHub feature - see:
https://github.com/blog/2400-support-file-support
https://help.github.com/articles/adding-support-resources-to-your-project/

I'm not sure this adds much value compared to our pre-existing CONTRIBUTING.md and ISSUE_TEMPLATE.md (which no-one seems to read anyway), but I'll give it some thought.


Nice work!  Some feedback.

Just some random feedback:
It turns out you don't need to call UserDefaults.synchronize anymore.  See https://developer.apple.com/documentation/foundation/userdefaults/1414005-synchronize
Something I like to do when organizing my code is to follow something similar to the inverted pyramid from journalism: https://en.wikipedia.org/wiki/Inverted_pyramid_(journalism).  In journalism, this means leading with the most important facts first, followed by supporting details, etc.  For code, I interpret this as leading with the parts of the object which constitute the intended usage interface (the "public" part), followed by the internal implementation details.
e.g. instead of:
class MyFoo {
    public let a: Int
    private let b: Int
    public func doA() { }
    private func doB() {}
}

it might be something like:
class MyFoo {
    public let a: Int
    public func doA() { }

    // MARK: - Internals

    private let b: Int
    private func doB() {}
}

This way, folks who merely need to use your class only need to read the top part.  People only need to read the bottom part if they are modifying your class.
I like the consistent use of style() and layout().
Consider extracting words and translations out of FlowLayout and TodayWordView.  You'll probably want to drive these values from an API at some point in the future.
Don't be afraid to add lots of extensions to UIKit.  e.g.
        NSLayoutConstraint.activate([
            backLabel.topAnchor.constraint(equalTo: backView.topAnchor),
            backLabel.bottomAnchor.constraint(equalTo: backView.bottomAnchor),
            backLabel.leadingAnchor.constraint(equalTo: backView.leadingAnchor),
            backLabel.trailingAnchor.constraint(equalTo: backView.trailingAnchor),
        ])

is very common and can be wrapped up as a function:
extension UIView {
    func pinToEdges(of otherView: UIView) {
        ...
    }
}

I don't see where isShowingBack is being reset on MyCell.  Typically this would happen in prepareForReuse.  I am surprised you aren't seeing cell re-use bugs with cards being recycled but being in the wrong flipped state?
FlowLayout is maybe not a good name for a view controller.  Just based on the name, you'd expect this to be a subclass of UICollectionViewFlowLayout.
I find it useful to think of Swift code in terms of the "Value layer" vs. the "Object layer" (this concept was explored in a great talk by Andy Matuschak at https://academy.realm.io/posts/andy-matuschak-controlling-complexity/. Sadly, the video has been set to private, but the slides and transcript are still up).
When values are derived from other values, it can be useful to push them out of the object layer and into the value layer.  This facilitates unit testing (no need to spin up a view controller), etc.
An example of doing this might be:
enum PeriodOfDay: Equatable {
    case morning
    case afternoon
    case evening

    static func from(hour: Int) -> Self {
        if hour >= 0 && hour < 12 {
            return .morning
        } else if hour >= 12 && hour < 18 {
            return .afternoon
        } else {
            return .evening
        }
    }

    var message: String {
        switch self {
        case .morning:
            return "Good Morning"
        case .afternoon:
            return "Good Afternoon"
        case .evening:
            return "Good Evening"
        }
    }

    var symbolName: String {
        switch self {
        case .morning:
            return "sun.max.fill"
        case .afternoon:
            return "cloud.sun.fill"
        case .evening:
            return "moon.stars.fill"
        }
    }
}

and then DailyMessageView.updateMessageAndIcon would become:
    private func updateMessageAndIcon() {
        let currentHour = Calendar.current.component(.hour, from: Date())
        let period = PeriodOfDay.from(hour: currentHour)
        messageLabel.text = period.message
        imageName = period.symbolName
    }

Where possible, try to avoid numeric constants when iterating over a collection.
Instead of:
        for i in 0..<5 {
            let index = savedWordIndices[i]
            if index < words.count {
                let word = words[index]
                let translation = translations[index]
                wordLabels[i].text = word
                translationLabels[i].text = translation
            } else {
                selectRandomWords()
                return
            }
        }

you can do:
        for (i, savedWordIndex) in savedWordIndices.enumerated() {
            if savedWordIndex < words.count {
                wordLabels[i].text = words[savedWordIndex]
                translationLabels[i].text = translations[savedWordIndex]
            } else {
                selectRandomWords()
                return
            }
        }

The weak classifier on MyHeaderClass.textLabel looks incorrect.  MyHeaderClass "owns" this label, so it should be strongly retained.  It happens to work because textLabel is retained as long as it stays in the view hierarchy, but this is what I would call a "landmine".  When working on a team, at some point in the future someone may need to make a change which requires temporarily removing textLabel from the view hierarchy, which will cause it to deallocate and likely cause a crash.  Then they are going to have to spend time hunting down the source of that bug.
Also, instead of making textLabel a force-unwrapped var, just make it a let:
let textLabel = UILabel()

First of all, thank you for your feedback. It will be very useful for my next project. First, I didn't know that UserDefaults was deprecated, so it's good to learn that. As for code organization, it got a bit confusing at some point, but I'm determined to write cleaner code in my next project. Initially, I wanted to fetch word libraries from an API, but I couldn't find one. So, I ended up pulling the data from somewhere else, but I got confused about how to transfer a local library. After struggling for a while and not getting any results, I placed it in the same location. I'm really surprised by how MyCell is working. When I first implemented it, the card was only flipping to the back side, but I managed to make it work by playing around with the class settings. Thanks for the name suggestion. I'll read the slide and text you sent after this comment. Daily Message View seems to be more efficient with this structure. In the initial version of the project, there were no numeric constants when iterating over the collection, but I changed it later to display 5 words on the screen. Oh, I didn't notice the issue with textLabel. Thank you for pointing that out.

Yeah ı learn today reading from Apple documents. Thanks for the correction.


[stable/traefik] add ssl.upstream to support upstream L4 SSL/TCP

What this PR does / why we need it:
This change supports using L4 AWS ELBs with an SSL/TCP listener and ACM by allowing the user to disable SSL certificates in the traefik configuration while maintaining a separate "HTTPS" entrypoint.
All questions/comments/suggestions regarding the PR, or this architecture, are welcome.
Example
I can use the following configuration to enforce SSL within traefik, but also use ACM certificates and a L4 ELB w/ PROXY protocol:
service:
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: true
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-1:*:certificate/*
    service.beta.kubernetes.io/aws-load-balancer-ssl-ports: 443
    service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: '*'
ssl:
  enabled: true
  enforced: true
  upstream: true
externalTrafficPolicy: Local
proxyProtocol:
  enabled: true
  trustedIPs:
    - <IP_ADDRESS>/16
rbac:
  enabled: true

This results in the following ELB listener configuration:

/assign @emilevauge

@colinhoglund Just to confirm, this setting is used when you want to have 2 separate entrypoints for http and https requests, but all TLS termination is done at your upstream LB?
The result is that you have 2 http entrypoints, with different names....But other than that, nothing is different.
Could you share your use case for why you couldn't just have all http traffic going through one entrypoint?

@dtomcej The main reason for maintaining two entrypoints is that I would like traefik to continue to redirect all http traffic to https by setting  ssl.enforced: true.  It is not possible to do this redirect in a layer 4 ELB, and AFAIK it is also not possible if there is only one traefik entrypoint.

@dtomcej
After taking a second look, I think another approach that would work is to add proxyProtocol to the default httpn entrypoint when ssl.enabled: false.
...
      {{- if .Values.proxyProtocol.enabled }}
        [entryPoints.httpn.proxyProtocol]
        {{ template "traefik.trustedips" . }}
      {{- end }}
...

I'm wondering if this was just an oversight in the orginal implementation of proxyProtocol, or perhaps I don't fully understand the purpose of the httpn entrypoint. I'm not sure what effect this will have on existing deployments, but i'm happy to take this approach if you think it sounds cleaner.

@colinhoglund If I am not mistaken, when you have ssl.enabled: false, it creates a 2nd http entrypoint named httpn on :8880, and the service forwards traffic on the service from 443 -> 8880.
This was implemented in this PR: (https://github.com/helm/charts/pull/2651)
Can you confirm that is what you are attempting to accomplish?

@colinhoglund Just read your second comment. Hmmmm. I'm going to have to think about that one.
It is possible that the implementation in this PR is the simplest, since many other changes would possibly be breaking.

@dtomcej please let us know if this one is ok to merge
/ok-to-test

@colinhoglund Thought about it, and you should be able to accomplish what you want with:
ssl.enabled: false and ssl.enforced: true. The changes in this commit:
https://github.com/helm/charts/commit/ba0e74ae383f7fe8780cb7df4800fbd54dddad71
Should enforce that.
Can you confirm?

@dtomcej That solution does not work when proxyProtocol.enabled: true. As discussed earlier, the following would need to be added to the httpn endpoint:
...
      {{- if .Values.proxyProtocol.enabled }}
        [entryPoints.httpn.proxyProtocol]
        {{ template "traefik.trustedips" . }}
      {{- end }}
...

I'm happy to change the PR to just add proxyProtocol support for httpn. However, I believe there was a possibility this could be considered a breaking change.

@colinhoglund Reviewed again, and I agree with this PR.
Can you bump the chart version and fix the conflicts?
Want to get this merged!

/lgtm

@colinhoglund Still needs a bump of version

@davidkarlsen merge conflict resolved.

/lgtm


Build ci dune alias rather than runtest

This PR aligns what is done in both CI systems.

Yes, the intention is to run dune runtest -j1 --no-buffer --display=quiet test/ separately first, outside the new @ci alias :+1:
These represent "internal tests of the STM/Lin/... libraries".
We try to separate these from the "multicore torture tests" and also run them separately in a preceding step in the GitHub actions workflow: https://github.com/ocaml-multicore/multicoretests/blob/main/.github/workflows/common.yml#L282


Sort and Merge Classes in WebCmdlets\Common

PR Summary
Reference #5610

Merges partial classes in the WebCmdlets\Common folder
Sorts the using statements
Sorts class elements according to StyleCop guidance https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1201.md
Sorts within the same elements by access type according to StyleCop guidance https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1202.md
Sorts elements of the same type and access alphabetically.
Order of cmdlet public properties and parameters was untouched to preserve their order in PowerShell
Proper inheritance was added to InvokeRestMethodCommand.
Some new regions were created where it makes sense
Formatting and comments of code blocks was purposefully maintained. These will be handled in a separate cleanup action.
No logic was modified

PR Checklist
Note: Please mark anything not applicable to this PR NA.

[X] PR has a meaningful title

[x] Use the present tense and imperative mood when describing your changes

[x] Summarized changes
NA User facing Documentation needed

NA Issue filed - Issue link:

[x] Change is not breaking
NA Make sure you've added a new test if existing tests do not effectively test the code changed

[x] Add [feature] if the change is significant or affectes feature tests

[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

If you have enabled styleCop, can you enable https://www.codefactor.io on your branch so I can see that your changes improve the style?
Such a large amount of code was changed, I have to take your word that no logic was changed.  Can we break this up into smaller PRs to get this done?   The following are ideas on how to break it up:

Perhaps merge the partial classes without sorting ( should be easy to review )
Sort using statements (should be easy to review)
Sort various element attempting to keep under a line limit (I would complete at least one file.)  The link @iSazonov suggested says 400.
Sometimes between coworkers, we use commits for breaking up reviews

@TravisEz13 I actually haven't enabled stylecop. I tried but couldn't get it to work. I believe it would apply to the entire utility assembly which would make it very hard to track down just the web cmdlet code issues. This was all somewhat beyond me. So I resorted to sorting the code manually and using the stylecop rules as guidance. We can't use them all as, for example, our contributor guidelines say to group the private backing fields with public properties. that will make it hard to see what private field  and private-before-public sorting issues are actually issues.
I can break it up, yes. I tried breaking up a large change into the multiple commits in a single PR before, but @iSazonov didn't like that. I don't care how the work is broken up, but I could use some guidance, clarity, and consistency. I can be told one thing in a PR/issue, follow that to the letter in a new PR, and then have reviewers telling me to redo it a different way. This pattern has repeated several times and results in a lot of wasted time for all involved.
So, should I break this out into separate PRs? Or should I do multiple commits in a single PR or should I group a few commits in a few PRs? Should I move the files first? start with the partial class merges?

@markekraus Can you point me to the previous PR with the objection from @iSazonov ?

https://github.com/PowerShell/PowerShell/pull/5518#issuecomment-346425873

I think we should try to take an incremental approach.  One of the reasons to enable codefactor.io on your branch (maybe we should enable it after 6.0.0 is released) is to show that the PR was an overall improvement (did not introduce more issues than in removed,) not to say that you have to fix every issue.
I reviewed this link (https://smartbear.com/learn/code-review/best-practices-for-peer-code-review/) further and I agree with the line limit and the reason behind it.  I spend an hour reviewing this PR and completed a few hundred lines.
Is there a reason that we cannot do a simple merge of the partial classes without any sorting (perhaps you could sort the using statements?)  This seems like a good starting point.

Right now the pieces of the partial classes are in the same file. What constitutes a simple merge in this case? do I just move that code so it's in the same class brackets at the end of the class?
One reason why I was merging and sorting at the same time is that the classes are so out of alignment it's hard to even chose a logical place to move the partial code into. I can move the code directly in the end of the larger class, but then that code is all unsorted and that's sort of how it is now, only its in its own partial class block. If i try to move it with similar element types, I might have 2 to 3 places to chose from. If i try to move it to where it should be it will be out of place because the code around it is not where it should be.

Another approach would be to focus on a limited number of classes to keep under the line limit.  I see one file that is over the line limit by itself.  I'd say try this approach with the smaller files and we can proceed from there.  @daxian-dbw @adityapatwardhan We should update the guidelines, but there should not be a requirement that a certain change is completed in a single PR unless splitting the change would have a negative effect on the project.

Ok. I'm going to close this PR so I can keep the branch for reference. I turned on codefactor.io, but I'm not real happy with the full read/write access it requires. I will work on smaller chunks per PR.

@TravisEz13 Good news (although preview only) https://developer.github.com/v3/enterprise-admin/pre_receive_hooks/
Another way is GitHub Webhooks https://developer.github.com/v3/orgs/hooks/


No AMI found when trying to build aarch64 node image for AWS CitC cluster

sudo /usr/local/bin/run-packer aarch64 fails because the base AMI is not found.
The problem seems to be the architecture part of the filter, which includes escaped double quotes:
==> amazon-ebs.aws: No AMI was found matching filters: {
==> amazon-ebs.aws:   Filters: [{
==> amazon-ebs.aws:       Name: "architecture",
==> amazon-ebs.aws:       Values: ["\"arm64\""]
...

I was able to dance around this issue by changing this line in /etc/citc/packer/all.pkr.hcl:
architecture = var.aws_arch

to:
architecture = "arm64"

Full output:

[citc@mgmt ~]$ sudo /usr/local/bin/run-packer aarch64
amazon-ebs.aws: output will be in this color.

==> amazon-ebs.aws: Force Deregister flag found, skipping prevalidating AMI Name
==> amazon-ebs.aws: No AMI was found matching filters: {
==> amazon-ebs.aws:   Filters: [{
==> amazon-ebs.aws:       Name: "architecture",
==> amazon-ebs.aws:       Values: ["\"arm64\""]
==> amazon-ebs.aws:     },{
==> amazon-ebs.aws:       Name: "name",
==> amazon-ebs.aws:       Values: ["CentOS 8.*"]
==> amazon-ebs.aws:     }],
==> amazon-ebs.aws:   Owners: ["125523088429"]
==> amazon-ebs.aws: }
Build 'amazon-ebs.aws' errored after 203 milliseconds 886 microseconds: No AMI was found matching filters: {
  Filters: [{
      Name: "architecture",
      Values: ["\"arm64\""]
    },{
      Name: "name",
      Values: ["CentOS 8.*"]
    }],
  Owners: ["125523088429"]
}

==> Wait completed after 203 milliseconds 942 microseconds

==> Some builds didn't complete successfully and had errors:
--> amazon-ebs.aws: No AMI was found matching filters: {
  Filters: [{
      Name: "architecture",
      Values: ["\"arm64\""]
    },{
      Name: "name",
      Values: ["CentOS 8.*"]
    }],
  Owners: ["125523088429"]
}

==> Builds finished but no artifacts were created.

#104 might help with this

Thanks for the report. I've just merged #104 which fixes this.


S113 request-without-timeout should warn for requests.request without timeout

Summary
Update S113 to also warns for missing timeout on when calling requests.request

This seems reasonable though it's surprising that Bandit itself does not check this method.


Improved "hidden" behaviour

Uses "aria-hidden" and "hidden" by default for improved accessibility.
"hidden" does create issues if you want to have a min-height on the component, as "hidden" will remove it visually.
Accessibility is more important than this specific edge case, so "hidden" is now used by default.
A new prop has been added, "use-hidden", which can disable the use of the "hidden" attribute if the developer needs.
The readme and demo have been updated to reflect this change too.
The demo has had a bit (OK, a lot) of additional content added to help explain the different options, and the ability to make changes in real-time to see different impacts - such as default timing, the wobbly accordion, or an easeInOut configuration. This also has a boolean value to toggle "use-hidden" so you can see the impact in realtime, plus added a focusable element to the demo component so you can experience the keyboard focus issue when "use-hidden" is set to false. Given the growing feature set, I thought it useful to have a working demo that shows changes to the options.
Finally, the dist has been rebuilt too using the build script.

Thank you so much! This looks great on first glance. I'll take a closer look and probably merge it soon!
Also thank you for fixing my wrong (german) spelling of "accordion" :D

Ha no worries - dad is from Germany, been in Australia for 40 years, but still got his accent and is interesting to play Scrabble against 😜 he keeps trying to play German words. And thanks for all your initial work on this component - so useful for a current project.


Reports list view for Apps

The documentation mentions a "Reports list view" for apps but does not explain how to get there. What is the "reports list view" in the context of an app that is shared with me?

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

ID: 83c63999-09de-cccf-ae53-ef7fcfbc1186
Version Independent ID: 39407557-14d4-f78b-bfcb-ea95cf501c47
Content: Copy reports from other workspaces (Preview) - Power BI - Power BI
Content Source: powerbi-docs/service-datasets-copy-reports.md
Service: powerbi
Sub-service: powerbi-service
GitHub Login: @maggiesMSFT
Microsoft Alias: maggies

Thanks for your comment, @klinejordan. I've assigned this issue to the doc author for review.


Test Client to send PUT requests to "upload" files

allow put data to test uploading files like we do with post requests. Without this line
if you try to upload a file the the self.generic() returns a key errors. Then in the request
the request.FILES/request.data is empty and you cannot access the uploaded file.
Please let me know if there is a specific reason it's setup this way. I just needed to test
an image upload using a PUT request.
Thanks

Thanks for this patch, however the current behavior is expected, see e73838b6ddcc7b37c03f9eee04fa6e6a283fedb3 and ticket-17371. You you must encode your data before passing it to the test client.


Create Application Menu Header

Issue Description
Create Application Menu Header with a title and navigational stack buttons.
Issue Type

[x] New Feature
[ ] Enhancement
[ ] Bug
[ ] Other

Closing, currently not used in implementation, as we are currently using action header. Will log/re-open if this need arises.


Make: Fix Windows Build.

Aside from compilation fixes, @ishkhan42, we also need to extend CI to produce packages for Windows as well.


Can file format be overwritten?

The colon in the naming conflicts with Obsidian sync.
Ignoring remote file name with illegal characters Calendar/mood/entries/2023-09-12_16:01.md
https://github.com/ttscoff/journal-cli/blob/18b03e9aa2e4ceaa2e5fc61136ef2465cb92ab0e/lib/journal-cli/checkin.rb#L124
or maybe a flag opion to set the date to YYYMMDDHHmm

Oh, I didn't realize this would be an issue. For sure I can change the filename to remove the colon.


exclude_tag_host not being honored

Docs suggest that setting a node['nagios']['exclude_tag_host'] attribute to a specific tag will cause all hosts that have that tag to be excluded from monitoring.  However, apparently, that specific attribute is not being referenced in any of the providers nor is it honoring that setting and excluding hosts that are tagged as such.

@bphinney I will have a look on this.

@snkutlu any news on this bug?

@snkutlu please check https://github.com/schubergphilis/nagios/tree/exclude_tag_host
Still need to write some tests for this....

@darrencassar can you please look at pull request: https://github.com/schubergphilis/nagios/pull/412
Think this will solve your problem, please let me know.

Works like a charm - thank you :+1:

Cool, only need the review from @snkutlu and hopefully he will merge it for me...

Code is merged within master with PR #412 and even bug fixed with PR #414. Closing issue.


Update twinclient

We need to update the twinclient according to the latest changes in twinserver.
Also, update the readme to represent the updates.

is this still relevant?


volume noticeably lower while playback

I have an wav file with a slightly low volume. I found that when playing it using SDL2, the volume is correct. However, when playing it using SDL_mixer, the sound is noticeably lower in volume. I then found another wav file with a  original high volume, and this time when playing it with the mixer, the volume was the same as with SDL. I suspect that SDL_mixer's resampling might have an issue when dealing with low volume sounds. If needed, I can provide a download URL for the low volume WAV files.
Note: I only use sdl_mixer play one wave without mixing with other wav. So I can exclude the other wav's problem.

Can you include the WAV files you're testing with and a minimal test program or repro steps with playwave?

Can you include the WAV files you're testing with and a minimal test program or repro steps with playwave?

I guess I have know reason of the low volume problem. In the sdl_mixer 1.2 there is no such problem.
Now unless the music effect or the post effect, the mixer does not allow user directly overwrite the original stream. it always mix the original stream with modified stream. In my case , I playback a chunk of raw wave that is inited with 0. when I use Mix_RegisterEffect to register a callback that will write the audio buffer with real data, but because the original stream is always 0, after mix the audio volume will be reduced and when the original stream volume is low, it is noticeable by the end user.
I will hook the music effect to directly overwrite the original  stream with real data. Because it is not a bug ,but a difference of between SDL 1.2 and 2.x , so I will close the issue.


banPlayer() pardonPlayer()

Lots of people on the Sponge Forums are discussing this, and I would like to bring this to GitHub. We need to be able to ban or pardon a Player from the Server class. The format should be like this:
private Server server;
private String randomPlayer = "hfjkd:

@Inject private Logger logger;

private Logger getLogger() {
    return logger;
}

try {
    server.banPlayer(randomPlayer, "Is too random", "09-03-2050"); //banPlayer(String player, String     reason, String untilDate)
} catch(PlayerNonExistantException e) {
    getLogger().warn("That player does not exist");
}

PlayerNonExistentException may not be the best way to handle a non-existent event, so feel free to improve upon the code.
public void banPlayer(String player, String reason, String untilDate) {
    //Convert player to an UUID
    //Check if the UUID exists on the Mojang servers
}

There already is a Ban API. See #412

As @simon816 said, there is already a BanService that you can use to ban players and users.


Fix for applyForEach implementation on BigQueueImpl when gc is called

@brianhks - I see that you have been maintaining the bigqueue repo, so I thought i raise and fix an issue that we have been experiencing.
We are currently using the old implementation from the bulldog project.
We noticed an issue with the applyForEach implementation in the BigQueueImpl class whereby if you action a gc(), it changes the scope of the data in the BigArrayImpl that is not consider for the applyForEach method.
I have created a new test for this, if you run this this on the current implemention it will fail and if you walk though the test, you can see that it should be working. A small fix for this has been made.
Please consider this as a patch.

Nice pull request, very well done.  Not sure why you commented out the removeAll at the bottom of the test though.  I'm going to manually merge this into the develop branch and then release a new version.

Created 1.0.3 version with this fix.

@brianhks I accidently did that. I readded it back on in a later commit.

Hey! @brianhks can you please help with newer version of

https://search.maven.org/artifact/org.kairosdb/bigqueue
This is on a new fork of the code I've been maintaining.


WH: assert failure running on double nebula machine

WH machine w/ 2 n300s
Run: pytest -svv tests/ttnn/unit_tests/test_multi_device_trace.py::test_multi_device_single_trace
Hits an assert in llrt.cpp write_launch_message_to_core from initialize_command_queue initialize device 2:
python3: ../tt_metal/llrt/llrt.cpp:164: void tt::llrt::write_launch_msg_to_core(chip_id_t, const CoreCoord, launch_msg_t *): Assertion `is_active_eth_core or is_inactive_eth_core' failed.
The set of cores that are passed into write_launch_msg_to_core are:
----(x=9,y=0)
----(x=2,y=10)
----(x=1,y=10)
----(x=4,y=10)
----(x=3,y=10)
----(x=9,y=0)
Is the issue that the last shows up twice?
fyi @ubcheema @tt-asaigal

y=10 is not a valid physical row for eth cores.
eth cores are on physical y=0 and y=6.
the cores with y=10 are probably tensix dispatch cores, mislabeled somewhere as eth cores.

possibly related to #9518? same machine was in linear config at the time

Use machine <IP_ADDRESS>, e09cs07

doesn't reproduce at present, closing


Try to handle selection being changed in CollectionChanged handler.

What does the pull request do?
There is a situation where the selected indexes in a SelectionModel can end up being set to an invalid index. A common example is of how this happens is:

The items collection is empty
An item is added
The view model auto-selects item 0 in a CollectionChanged handler
SelectionModel receives CollectionChanged
And so adjusts the selected item from 0 to 1, which is past the end of the items

This is also a problem which can occur in WPF (see https://stackoverflow.com/questions/25672111/automatically-select-item-added-to-an-observablecollection for one example of a user encountering the problem) and with the current design of INotifyCollectionChanged in .NET there's not much that can be done (yeah INCC gets my vote for the worst API in .NET).
Although there's not much we can do in this situation, previously when encountering it the invalid index would cause an IndexOutOfRangeException; we can fix that. This PR tries to detect such a situation and bail in shifting the selected indexes. This means:
+ In the example above, the correct index will be selected
- In other situations an existing selection may not get shifted when an item is inserted and the selection is modified in a view model's CollectionChanged
I think this is better than throwing.

#4048 #4472 #4461
Possibly fixes these


[release-0.49] make sure to watch/trigger reconcile for DataVolumes not owned by VM

What this PR does / why we need it:
Manual cherry-pick of https://github.com/kubevirt/kubevirt/pull/7104
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
https://bugzilla.redhat.com/show_bug.cgi?id=2010908
Release note:

NONE

/test pull-kubevirt-e2e-kind-1.19-vgpu-0.49

/lgtm
/approve


Benchmark CL

Just found this, great project, exactly what I did recently and was looking for.
Might be worth to also look at the few common lisp implementations:

ECL (especially this)
SBCL
CLISP

Aha, great. Thanks for sharing.
Will try to find a slot next weekend :)

You're welcome. ;)
I've had a little time to look into your benchmark sources, and here is the recursive fib for lisp:
; #!/usr/local/bin/ecl -shell
; #!/usr/local/bin/sbcl --script
; #!/usr/local/bin/clisp -C
; vim: set syn=lisp:

(defun fibr(n)
    (if (< n 2)
        n
        (+ (fibr (- n 1)) (fibr (- n 2)))
    )
)

(compile 'fibr)
(defvar i 34)
(format t "fib: ")
(format t "~D" (fibr i))
(format t "~%")

(compile 'fibr) is required by ECL/CLISP to get TCO.

Hey there,
I've tried to compile the projects this weekend but got no success with them.
They're not so small/easy to embed as I originally thought :P
I'll try to find another slot next weekend :)

Hilarious.  The only one of the bunch that can be considered embeddable is ECL and that requires to cherry-pick the features you specifically need to have.

building ECL:
./configure && make && make install


Cannot create a spectral library from mzID generated by MM

Hi, when trying to import search results from MetaMorpheus into Skyline or trying to create a library in Skyline using the mzID files generated by MM, we get an error. The Skyline team says its a none standard mzID format. Can you look into it?
Thanks,
Yishai

Right now we're working on a spectral library writer in MetaMorpheus. We should at least have something to test out this week. we'll leave this open and let you know. It will be .msp format. I hope that is okay. I don't know how to right the dlib format.
I think Rob figured out how to do spectral libraries with MM output in skyline. I'll ask him and see if we can explain it. I think it probably has to do with the modifications if memory serves.

I will copy+paste my response to an email from another user that had similar issues – can you try this solution and see if it works out for you? I will update this page https://github.com/smith-chem-wisc/MetaMorpheus/wiki/Import-Results-Into-Skyline w/ this info also.

Thanks for your patience. I was able to get our .mzID file imported into Skyline (I’m using version 19.1) by following these two steps:

Make sure the .mzML spectra file you performed the search with is in the same directory as the .mzID file. If you used MetaMorpheus’s calibration, you will need to look at the Calibration Task results directory and move the calibrated .mzML spectra files in that folder to the folder with your .mzIDs, or vice versa.
Skyline will let you try to open files labeled “.mzID” but it will crash upon trying to open them, saying that “.mzID” is not a recognized file type. Simply rename the file extension to “.mzid” (lower-case) and it will import successfully.

I will post about issue #2 on Skyline’s support forum when I get a chance. It might have more weight if you do it in addition to me, since you’re a user of both softwares :)
One more thing – I noticed a while ago that G-PTM-D are incredibly slow to import into Skyline. They do a re-digestion of the protein database, with every modification listed in the .mzID as a variable mod. Since GPTMD can discover so many modifications, Skyline creates many, many, many peptide permutations. I posted about this a while ago but I’m not sure they are interested in pursuing it, or have the manpower to solve it. Again, if you make a post on this issue (https://skyline.ms/announcements/home/support/thread.view?entityId=b5bce339-523b-1036-8c20-e465a393e12b&_docid=thread%3Ab5bce339-523b-1036-8c20-e465a393e12b) it may help move things forward, if importing GPTMD results into Skyline is of interest to you.
Please let me know if that helped!
One last thing – I forgot to mention that Nick Shulman mentioned in the Skyline support thread that I sent you that there is a trick you can use to import GPTMD results into Skyline:
“One thing that you can do instead is cancel out of the "Import Peptide Search" wizard once you get to the part where it's asking for the FASTA file.
Then, in Skyline, use the menu item:
View > Spectral Libraries
and then use the "Add All" button to add the peptides from the spectral library into your document.”


Only attempt to resolve variable if the will actually be shown

Use case:
You have a paragraph within a doc relating to, for example, meal expenses. You want this paragraph to be conditional based on whether the person has a meal entitlement, so you wrap it in the condition displayParagraphIf(hasMealEntitlement).
Now within this paragraph, you have a monetary allocation, which is varies for different employees. Let's call this mealEntitlementAmount.
So the paragraph might read "You are entitled to X amount per day for meals", where X is replaced (via a comment) with mealEntitlementAmount
In the incoming data, if the person doesn't have a meal entitlement, then they won't have a meal entitlement amount.
So the functionality I am looking for is where docxstamper ONLY attempts to resolve variables if the paragraph will be displayed.
If the paragraph is to be displayed, but a variable within it is missing, then I'd like an error to be thrown.
Looking at the code I think docxstamper tries to resolve all the variables in the document and at the same time it queues up all the objects (tables, paragraphs) to be deleted and only deletes them at the end. It possibly could be changed to delete everything that needs to be deleted first (i.e run the displayIfProcessors), clean up all comments within those deleted sections and then run the variable replacement.
I realise this might be quite a niche use-case, but just asking in case anyone has encountered/resolved this issue before.

Would simply having the alerting be enough for your use case ? (either as warning in logs, thrown exceptions, or a file report)
The only case where it would be interesting to not try to resolve the variable, is if you have devised an accessor or context that specifically have complex computations that might fails. Is it your case ?

I am currently thinking to have a smarter evaluation order for all the stamping that the engine goes through. Right now, the path taken is akin to:

read every paragraph,
find if they are commented,
process the comments,
then process the remaining placeholders.

The target flow would be:

First, process all comments hierarchically (if some comments are nested inside other, then they would be processed in a later pass, after knowing if parent comment kept them alive, or duplicated those) regardless of document paragraphs
Second, process all placeholders left in the text

That should conver this usecase nicely, and allow for better management of evaluation context in case of repeat row, paragraphs, or docpart containing reference to the global context instead of their specific subcontext

This sounds like a sensible approach to me.


Listen for changes and display a loading view

While creating the canvas would be nice to display some kind of loading view instead of a blank view

So, I'm not the maintainer, but I was stuck with the same issue, and see that it's possible to await the raw data, via:
qrCode.getRawData("svg").then(data => console.log(data));
That might give you what you need to trigger a loader while you're awaiting it to render.


FlowRouter.go not going

I have a qrcode reader that on scan executes either of two code lines.
qrCodeScanner.on("scan", function(err, mes) {
  if(mes) {
    FlowRouter.go("there");
  } else {
    FlowRouter.go("overthere");
  }
});

none of the FlowRouter.go are working.
Any ideas about what might be wrong? I think that .go only considers first call right?

Have you tried it with an actual route like:
FlowRouter.go('/home');

?

Yes. Of course.
FlowRouter.go("showArticle", {_id: ""});

No, not the name, the path:
FlowRouter.go('/showarticle/2);`

Coming back to the problem after a long break made me realise that it was my mistake. It works fine. I'm sorry about it.
Thank you for your time!


Redesign subscribe operation

Change subscribe to only support one consumer for each group
Change subscribe consumer to only support one message
Remove listener mode now since only record mode is supported now.

Codecov Report

Merging #190 into master will decrease coverage by 0.04%.
The diff coverage is 58.82%.

@@             Coverage Diff              @@
##             master     #190      +/-   ##
============================================
- Coverage     55.97%   55.92%   -0.05%
+ Complexity      246      244       -2
============================================
  Files            79       79
  Lines           938      928      -10
  Branches         60       60
============================================
- Hits            525      519       -6
+ Misses          373      371       -2
+ Partials         40       38       -2

Impacted Files
Coverage Δ
Complexity Δ

...ub/stream/binder/EventHubMessageChannelBinder.java
83.33% <ø> (-0.67%)
6 <0> (ø)

...am/binder/ServiceBusTopicMessageChannelBinder.java
82.6% <ø> (-0.73%)
6 <0> (ø)

...tion/servicebus/topic/ServiceBusTopicTemplate.java
77.77% <100%> (+7.4%)
6 <1> (+1)
:arrow_up:

...tion/servicebus/queue/ServiceBusQueueTemplate.java
26.31% <14.28%> (ø)
2 <1> (ø)
:arrow_down:

...ntegration/core/AbstractInboundChannelAdapter.java
48.71% <40%> (-3.37%)
9 <1> (-3)

.../spring/integration/eventhub/EventHubTemplate.java
63.01% <63.63%> (+3.29%)
13 <1> (+1)
:arrow_up:

...tegration/servicebus/ServiceBusMessageHandler.java
50% <66.66%> (ø)
2 <1> (ø)
:arrow_down:

...ing/integration/eventhub/inbound/ListenerMode.java
0% <0%> (-100%)
0% <0%> (-1%)

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 121d518...a304610. Read the comment docs.


Rep. Richmond resigned yesterday to join the Biden Administration

Additionally fixing committee-membership-current.yaml which should have been made an empty mapping and not a list in ee290b5dcc1696bc575e31212501766ad7fd7fde which cleared it out for the new Congress.

Merged via #753 which included these commits.

Merged via #753 which included these commits.


[entropy_src/rtl] Fewer alert cnt clear pulses in FW_OV mode

In order to increase predictability this commit modifies the main SM to
not clear the alert counters when finishing a SHA3 digest in FW_OV mode.
Though FW_OV mode does not send alerts for HT failures, the HTs continue
to gather statistics, and the outcome of these statistics are still
scoreboarded.  However FW_OV mode does break many of the assumptions
about this mode such as relative timing of the health tests, vs.
the SHA3 controls.   This makes it very hard to predict the
timing of the CLR pulse that gets sent to the HT fail counters.
Suppressing these CLR pulses allows the alert counters to accumulate
regardless of when FW closes off a SHA3 digest, allowing the
test environment to correctly predict the HT diagnostic counters.
Also makes a minor clarification to the DV logs to help diagnose
this problem.
Signed-off-by: Martin Lueker-Boden<EMAIL_ADDRESS>

Change seems reasonable, LGTM


Fix incomplete parameters

Fix incomplete parameters for cpu setting.
Fix translate error "z系统" to "系统"
perform a network requrest in order to show up the alert of "allow network usage"

Why is “sockets=1” needed? What error does this fix?

Why is “sockets=1” needed? What error does this fix?

I tried if the cpu setting in "Architecture" page is more than 2 cores, the setting will not take effect. If the parameter "socket = 1" is included, you can set more than 2 cores. Check it in the task manager.

I can not reproduce the “allow network usage" alert. How do you get it to show up? Does setting https://developer.apple.com/documentation/bundleresources/information_property_list/nsapptransportsecurity/nsallowsarbitraryloads?language=objc do anything?

I can not reproduce the “allow network usage" alert. How do you get it to show up? Does setting https://developer.apple.com/documentation/bundleresources/information_property_list/nsapptransportsecurity/nsallowsarbitraryloads?language=objc do anything?

I am not sure whether the "Allows arbitrary loads" still works...
To reproduce the “allow network usage" alert:
Change a new bundle identifier, build,  and run UTM in your iPhone. When you performing a network request (not in the VMs) the "Allow UTM to use wireless data?" alert will show up.
If this alert did not shown, UTM will not have network usage permission. I tried on my phone, even if DNS is configured correctly, I can't access the network in Internet Explorer and the "Allow UTM to use wireless data?" alert did not show up...
I think it is necessary to add network request codes somewhere in the project...

Are you sure that is from iOS and not some jailbreak tweak? I can't reproduce it on my phone.

Are you sure that is from iOS and not some jailbreak tweak? I can't reproduce it on my phone.

I'm sure this is from iOS. Since maybe iOS 12? or 13. My phone is never jailbroken.

Are you sure that is from iOS and not some jailbreak tweak? I can't reproduce it on my phone.

I am using iOS13.3.1, all apps have to get network access through this alert

A China thing, I belive.

Ok, I see.

That makes sense, I think I want the way ish does it because it looks cleaner and I think the Apple url is smaller in data usage.

Thank you!

Merged https://github.com/utmapp/UTM/commit/6d3f7d049f7a20282065c0a7f2608db7acb70140 https://github.com/utmapp/UTM/commit/c475ad7975676f24675f71ff780487260b83a145


spawn EACCES: Error: spawn EACCES

Visual Studio Code Version : [ 1.12.1 ]
Code Settings Sync Version : [ 2.8.0 ]
Operating System : [ Ubuntu 13.10 ]
In developers tool console I get following error log when hit shtft+alt+u shourtcut .
spawn EACCES: Error: spawn EACCES
    at exports._errnoException (util.js:1022:11)
    at ChildProcess.spawn (internal/child_process.js:313:11)
    at Object.exports.spawn (child_process.js:399:9)
    at module.exports (/home/lekhnath/.vscode/extensions/Shan.code-settings-sync-2.8.0/node_modules/opn/index.js:74:26)
    at Commons.<anonymous> (/home/lekhnath/.vscode/extensions/Shan.code-settings-sync-2.8.0/out/src/commons.js:189:25)
    at Generator.next (<anonymous>)
    at fulfilled (/home/lekhnath/.vscode/extensions/Shan.code-settings-sync-2.8.0/out/src/commons.js:4:58)
e.onUnexpectedError @ workbench.main.js:29
(anonymous) @ workbench.main.js:29
e.onUnexpectedError @ workbench.main.js:28
o @ workbench.main.js:28
t.onUnexpectedExtHostError @ workbench.main.js:28
e.handle @ workbench.main.js:28
s @ workbench.main.js:28
f @ workbench.main.js:28
_combinedTickCallback @ internal/process/next_tick.js:67
_tickCallback @ internal/process/next_tick.js:98

Confirming the issue:

Shift+Alt+U doesn't do anything.
How to Configure Shows Error spawn EACCES

OS: Ubuntu 16.10  VS Code version: 1.12.2

Does setting chmod +x /home/lekhnath/.vscode/extensions/Shan.code-settings-sync-2.8.0/node_modules/opn/xdg-open work  ?
Let me know, i will release a build this week to solve this.
https://github.com/sindresorhus/opn/issues/54#issuecomment-303966289

@shanalikhan Yes! running  the command you provided eliminated that error.

Uploading throws the Error span EACCESS error, but setting xdg-open as executable fixes it.

Its fixed in v2.8.1
Let me know if there is still a problem

I installed this extension today (2.8.2, vscode 1.13.1, Linux) and have the same problem.
Making ~/.vscode/extensions/Shan.code-settings-sync-2.8.2/node_modules/opn/xdg-open executable works.

this bug still exists in v2.8.2, Ubuntu 16.04.
But running
chmod +x /home/<desktop-username>/.vscode/extensions/<settings-sync-folder-name>/node_modules/opn/xdg-open
solves the issue. Thanks

This bug still exists in v2.8.2, openSUSE Tumbleweed. But, making the xdg-open file executable solves the problem. Thanks!

After setting that file to executable the "How to configure" page now opens but shift + alt + u still doesn't work

I believe this bug is still valid in 2.8.2.


copy_addr outline: fix a bug wherein a record type contains a resilient archetype as one of its fields

radar rdar://problem/35646279
Fixes a crash in Swift CI's resilience bot: a record type contained a resilient type as one of its field, said type contains an archetype with metadata, we should pass said metadata ref to the outlined copy_addr function

@swift-ci Please smoke test and merge


Colab TPU broken on latest tf-nightly

Please make sure that this is a bug. As per our
GitHub Policy,
we only address code/doc bugs, performance issues, feature requests and
build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock
example script provided in TensorFlow):  6 lines of adaptation to stock example script from https://www.tensorflow.org/guide/tpu
OS Platform and Distribution (e.g.,
Linux Ubuntu 16.04): Google Colaboratory
TensorFlow version (use command below): 2.2.0.dev20200330
Python version: 3.6.9

Describe the current behavior
On Google Colaboratory, TPU's no longer work with the tf-nightly builds. I was using the trick as mentioned here to run TPU's on tf-nightly: https://github.com/tensorflow/tensorflow/issues/34346#issuecomment-598399912 but it stopped working.
Suddenly, when doing the same thing as before, it throws an error while trying to initialize the tpu system, giving:
InvalidArgumentError: NodeDef expected inputs 'string' do not match 0 inputs specified; Op<name=_Send; signature=tensor:T -> ; attr=T:type; attr=tensor_name:string; attr=send_device:string; attr=send_device_incarnation:int; attr=recv_device:string; attr=client_terminated:bool,default=false; is_stateful=true>; NodeDef: {{node _Send}}

Describe the expected behavior
The expected behavior is for it to not throw an error so that the TPU works.
Standalone code to reproduce the issue
I have a minimal reproduction based on the tensorflow TPU tutorial with the trick from above added before the first cell: https://colab.research.google.com/drive/1UzC_KCMkV8LOp7chvhkRsB3orQBlBVef
Other info / logs
The NodeDef error occurs at this cell:
resolver = tf.distribute.cluster_resolver.TPUClusterResolver(tpu='grpc://' + os.environ['COLAB_TPU_ADDR'])
tf.config.experimental_connect_to_cluster(resolver)
tf.tpu.experimental.initialize_tpu_system(resolver)

And the error it throws is:
INFO:tensorflow:Initializing the TPU system: grpc://<IP_ADDRESS>:8470
INFO:tensorflow:Initializing the TPU system: grpc://<IP_ADDRESS>:8470
INFO:tensorflow:Clearing out eager caches
INFO:tensorflow:Clearing out eager caches
---------------------------------------------------------------------------
InvalidArgumentError                      Traceback (most recent call last)
<ipython-input-4-f9d179e80e14> in <module>()
      1 resolver = tf.distribute.cluster_resolver.TPUClusterResolver(tpu='grpc://' + os.environ['COLAB_TPU_ADDR'])
      2 tf.config.experimental_connect_to_cluster(resolver)
----> 3 tf.tpu.experimental.initialize_tpu_system(resolver)

3 frames
/usr/local/lib/python3.6/dist-packages/six.py in raise_from(value, from_value)

InvalidArgumentError: NodeDef expected inputs 'string' do not match 0 inputs specified; Op<name=_Send; signature=tensor:T -> ; attr=T:type; attr=tensor_name:string; attr=send_device:string; attr=send_device_incarnation:int; attr=recv_device:string; attr=client_terminated:bool,default=false; is_stateful=true>; NodeDef: {{node _Send}}

---------------------------------------------------------------------------
NOTE: Current TensorFlow version is 2.2.0-dev20200330.
---------------------------------------------------------------------------

I have been trying to find out in what nightly this was introduced, but I sometimes get errors that I am trying too frequently essentially. Anyway, I will list all the versions I tried.
Tf-nightly versions:

2.2.0.dev20200327 works
Nightlies that fail with NodeDef error

2.2.0.dev20200328
2.2.0.dev20200329
2.2.0.dev20200330

Some potentially related/useful information but maybe unrelated.
I couldn't directly find which ones were working and which ones weren't, so I also tested older versions first, and noticed there was a lot of versions which had a different error. So maybe this was simply explicitly fixed, or maybe implicitly in which case it could add additional information:

2.2.0.dev20200311 works
Nightlies that fail with a different error, namely a mesh_shape error (see error details below):

2.2.0.dev20200312
2.2.0.dev20200313
2.2.0.dev20200316
2.2.0.dev20200319
2.2.0.dev20200323

Mesh_shape error that occurs on certain nightlies (with same notebook and occurring in the same cell):
INFO:tensorflow:Initializing the TPU system: grpc://<IP_ADDRESS>:8470
INFO:tensorflow:Initializing the TPU system: grpc://<IP_ADDRESS>:8470
INFO:tensorflow:Clearing out eager caches
INFO:tensorflow:Clearing out eager caches
INFO:tensorflow:Finished initializing TPU system.
INFO:tensorflow:Finished initializing TPU system.
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-5-36e427972e34> in <module>()
      1 resolver = tf.distribute.cluster_resolver.TPUClusterResolver()
      2 tf.config.experimental_connect_to_cluster(resolver)
----> 3 tf.tpu.experimental.initialize_tpu_system(resolver)

2 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/tpu/topology.py in _parse_topology(self, serialized)
    107     if len(self._mesh_shape) != 4 or any(self._mesh_shape < 1):
    108       raise ValueError("`mesh_shape` must be a vector of size 4 with positive "
--> 109                        "entries; got {}".format(self._mesh_shape))
    110
    111     if proto.num_tasks < 0:

ValueError: `mesh_shape` must be a vector of size 4 with positive entries; got [2 2 2]

@mgmverburg
Please, use TF 2.2.0-rc1 version  (!pip install tensorflow==2.2-rc1) and i am not seeing any issue with latest release 2.2.0-rc1 version. Please, find the gist here. Thanks!

Yes I tried TF 2.2.0-rc1 and it works, but I thought it should be possible to use nightly versions too? I know that TF is still very much in development hence I sometimes want to try nightly versions to see if certain performance issues may have been fixed already, but I noticed now for a few days already it wasn't working with the TPU, but I guess this is already known by the TF team then?
I thought in case this was not known yet by the TF team, that this could help them

@mgmverburg
TF 2.2.0-rc1 is latest stable version, TF-nightly is in development stage.We can use TF 2.2rc1 since it is working without any issue.Thanks!

@mgmverburg
I am closing this issue since it works fine with latest releases.Please, feel free to reopen if i am mistaken.Thanks!

Same issue in tf-nightly-gpu 2.3.0-dev20200625


Modify PR #407, Support setting XY axis or multiple Y axis title font color

Implemented according to PR #407, copy setting the Y-axis and multiple Y-axis title font color function codes.
Added the function of setting the X-axis title font color, and added issue testing.
Set XY axis title font color and set multiple Y-axis title font colors,like this:

Associate issue and PR #404 #405 #406 #407

Hello guys @Mr14huashao @timmolter ,
Thank you for extending the API with the XY-Axis-Title-Color feature and closing the relevant issues and PR -  #405 #407.
However I think there was a misunderstanding regarding the #404 issue. They seem to refer the same feature but the idea of the #404 [Feature Request] was that we enable color properties of the Axis-Objects themselves with their AxisTicks & AxisLabel- objects and NOT just the AxisGroupTitle-Obect which was referred by #405 . Something like the picture below:

I suggest we reopen #404 and will consider the changes @Mr14huashao did in the #407 to get some idea how we extend these properties via the Styler.
Also an idea for this already resolved Axis-Title-Color feature #418 would be to set a color-flag which would differ implicit colored/not-colored AxisTitle. It should be minor improvement, but will enable the user to choose an option to:

leave Title-Color as is (default black),
set Title-Color implicitly (black for X and each Y-Axis gets respective Series-Color) via the above mentioned flag Ex: chart.getStyler().setYAxisTitleColor(true) or chart.getStyler().makeYAxisTitleColored()
set XY-Title-Color explicitly with the improvements introduced in this PR:

chart1.getStyler().setXAxisTitleColor(Color.RED);
chart1.getStyler().setYAxisTitleColor(Color.GREEN);

I will describe the above in a separate issue and will try it later.
Thank you guys and please consider reopening the #404


Unable to dynamically transpile ES module

I'm submitting a ...  (check one with "x")
[X ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, instead see use [gitter](https://gitter.im/mgechev/angular2-seed) or [stackoverflow](https://stackoverflow.com/questions/tagged/angular2)

Current behavior
Dev build throws ES module loader error

localhost/:86 TypeError: Unable to dynamically transpile ES module
A loader plugin needs to be configured via SystemJS.config({ transpiler: 'transpiler-module' }).
at transpile (http://localhost:5555/node_modules/systemjs/dist/system.src.js?1496923443688:3690:11)
at http://localhost:5555/node_modules/systemjs/dist/system.src.js?1496923443688:3473:12
at ZoneDelegate.invoke (http://localhost:5555/node_modules/zone.js/dist/zone.js?1496923443690:391:26)
at Zone.run (http://localhost:5555/node_modules/zone.js/dist/zone.js?1496923443690:141:43)
at http://localhost:5555/node_modules/zone.js/dist/zone.js?1496923443690:818:57
at ZoneDelegate.invokeTask (http://localhost:5555/node_modules/zone.js/dist/zone.js?1496923443690:424:31)
at Zone.runTask (http://localhost:5555/node_modules/zone.js/dist/zone.js?1496923443690:191:47)
at drainMicroTaskQueue (http://localhost:5555/node_modules/zone.js/dist/zone.js?1496923443690:584:35)
at  Not expecting this error? Report it at https://github.com/mgechev/angular-seed/issues
(anonymous)	@	localhost/:86

Expected behavior
Should either ignore ES modules and import without transpiling or use proper transpiler
Minimal reproduction of the problem with instructions
Create a new seed and add the following dependencies https://paste.ubuntu.com/24807795/
What is the motivation / use case for changing the behavior?
Problems with third party dependencies that are compiled as es6 module
Please tell us about your environment:
SystemJS 20.12, Node 6.10.2, Ubuntu 17.04

Angular Seed Version: aaaaf75
0e1c1b5

Sorry for having no time to reduce it down to proper package that triggers the error, but it seems to be a more general issue. With SystemJS the default traceur transpiler was changed, which now requires to use either one of the plugins or ignore transpiling es modules.
Maybe we should add typescript as default transpiler to the project?
Best,
ZuSe

Thanks for reporting the issue! It's most likely caused by the SystemJS update. Until it's fixed you can revert back to https://github.com/mgechev/angular-seed/commit/158c3889a3b868051a321040e2427198c033e14d.

I fact, this is a configuration issue. If you want to consume modules with ES2015+ syntax, I'd recommend you to take a look at systemjs's manual page. I'd prefer to use the ES5 bundle in order to speed up my page reload.

@mgechev
Minko, that doesn't make that much sense.
Ofc it would be nice if every 3rd party project would provide an umd bundle with the npm package.
But as we can't count on that we should be flexible to a maximum.
That's why I would suggest that the seed also supports ES6 provided libraries.
Your thoughts?
Best,
Patrick

If I may add on an additional consideration, there are cased where using UMD for a third party library may not be an option for module imports. As an example, I build a service that wraps a number of D3 Modules (the data visualization library) The issue with providing my service library in UMD format is that it breaks the live binding to a d3.event property which underlies key D3 features like d3-zoom, d3-drag, and d3-brush.
The live binding is not an issue with a library provided in ES2015 format (even when compiled down from TypesScript to an ES5 target.)

Looks like this issue is happening again.


Locking JPype1 dependency to 0.6.3

Downgrade JPype1 to 0.6.3. JPype1 released 0.7.0 recently, which is not compatible with old interfaces.

https://github.com/laughingman7743/PyAthenaJDBC/pull/85
https://github.com/laughingman7743/PyAthenaJDBC/pull/86
JPype0.7.0 is supported but do you get an error?

/usr/local/lib/python2.7/dist-packages/jpype/_core.py:210: UserWarning:
-------------------------------------------------------------------------------
Deprecated: convertStrings was not specified when starting the JVM. The default
behavior in JPype will be False starting in JPype 0.8. The recommended setting
for new code is convertStrings=False.  The legacy value of True was assumed for
this session. If you are a user of an application that reported this warning,
please file a ticket with the developer.
-------------------------------------------------------------------------------

  """)
Unrecognized option: -server
Traceback (most recent call last):
  File "src/script.py", line 304, in <module>
    AthenaClient(boto_factory.get_athena_connection())
  File "/data/src/lib.py", line 69, in get_athena_connection
    log='/tmp/log.txt'
  File "/usr/local/lib/python2.7/dist-packages/pyathenajdbc/__init__.py", line 66, in connect
    driver_path, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/pyathenajdbc/connection.py", line 66, in __init__
    self._start_jvm(jvm_path, jvm_options, driver_path)
  File "/usr/local/lib/python2.7/dist-packages/pyathenajdbc/util.py", line 24, in _wrapper
    return wrapped(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/pyathenajdbc/connection.py", line 89, in _start_jvm
    jpype.startJVM(jvm_path, *args)
  File "/usr/local/lib/python2.7/dist-packages/jpype/_core.py", line 219, in startJVM
    _jpype.startup(jvmpath, tuple(args), ignoreUnrecognized, convertStrings)
RuntimeError: Unable to start JVM
	at loadJVM(native/common/jp_env.cpp:169)
	at loadJVM(native/common/jp_env.cpp:179)
	at startup(native/python/pyjp_module.cpp:159)

Please try v2.0.5.
https://pypi.org/project/PyAthenaJDBC/2.0.5/
If you get an error with this version, please register an issue. 🙏


Add predefined locations to coverage models

Based on ideas raised in discussion #218.
I'm trying to implement @jGaboardi idea, for instance.

This is a very nice start @gegen07!

I just realized that we are not assigning decision variable labels for plotting, but only using the range (see plot_results in the MCLP notebook). By doing this we have the same labels for the solution facilities in "cost matrix" and "geodataframe" examples, though the selection set is different. In order to ensure comparable results (and confirm the preselected facilities are being adhered to) we need to label the facilities from a static index (e.g. decision variable label from the pulp model) and also ensure a 1:1 color scheme (e.g.

In the MCLP notebook we have different labels in the legend. We are not getting the label from the pulp model to create the facility-client matrix. When do you say create a static index you mean to get the labels from pulp, like another method to get these labels, or just assign a 1:1 dictionary in the plot_results method using the indexes of the facility-client matrix?

In the MCLP notebook we have different labels in the legend.
We are not getting the label from the pulp model to create the facility-client matrix. When do you say create a static index you mean to get the labels from pulp, like another method to get these labels, or just assign a 1:1 dictionary in the plot_results method using the indexes of the facility-client matrix?

ah! You are right about that, I completely misread the legend. My fault. Though it is still good to have a defined color map so that a specific color is tied to a specific facility. Then the two plots in the notebook are easier to compare.

I think this is probably good to go and we can go ahead and merge. 🎉

Thanks @jGaboardi and @gegen07! Great to have this question sorted out!


[5.1] Fix validateAlpha logic and a few more tests

A numeric value doesn't pass in this regex validation, so it's waste of time validate it.

Good idea. Very nice. :+1: