proposal: cmd/go: add -debug flag (default true) to control DWARF/etc info in binary

Many gophers know that they can strip DWARF from their binaries with -ldflags=-w. But this is fairly cryptic, and it doesn't give the compiler the opportunity to save time and space by not generating that DWARF in the first place.
I propose we add support directly to cmd/go to say -debug=false or -dwarf=false or the like. Then cmd/go would translate that into the appropriate compiler and linker flags.

I wonder if this would be a net win overall, assuming that using -ldflags=-w or not doesn't affect the compiler, so both versions can share the build cache entirely.

Here's one case where it could help build speed a lot, though - single production builds from scratch, such as those that happen inside Dockerfiles, or on CI/CD machines. Those often exclude debug information, and they rarely have a warm build cache, given that they're not developer machines. For the same reason, they tend to compile a lot of packages from scratch, so even saving 2% of the compiler's work would be noticeable.

it doesn't give the compiler the opportunity to save time and space by not generating that DWARF in the first place.

The compiler has -dwarf=false flag.

The compiler has -dwarf=false flag.

I think that's what @josharian meant by "Then cmd/go would translate that into the appropriate compiler and linker flags".
Also, I don't think it's quite as simple as doing go build -gcflags=all=-dwarf=false -ldflags=-w. Imagine the case where most of the library packages have already been built with the regular go build, and we just need to re-compile a few packages and re-link the entire binary. -gcflags=all=-dwarf=false will probably force recompiling all the dependencies, defeating the entire purpose of avoiding work in the first place.
I think go build -debug=false could be smarter in that way. For packages it does compile, it would know it can add flags like -dwarf=false to avoid extra work. Similarly, for link operations it would add -w. But it would not need to re-compile any package that was previously compiled with debug information, as it knows that the linker's -w will discard that anyway.

@mvdan:

I think go build -debug=false could be smarter in that way. For packages it does compile, it would know it can add flags like -dwarf=false to avoid extra work. Similarly, for link operations it would add -w. But it would not need to re-compile any package that was previously compiled with debug information, as it knows that the linker's -w will discard that anyway.

FWIW, I don't think we can do that. I don't know how the go command would compute accurate build IDs that would come out the same for a build in which some inputs have expected-to-be-ignored DWARF info versus a build in which no inputs do. Those are different incoming file hashes, and I don't see how to generate the outgoing file hash in a way that gets the same answer in both cases. Builds will become nondeterministic based on the content of the cache. And debugging places where DWARF info accidentally does change other compile results will become very difficult. Even if you somehow know the set of inputs to use, deciding whether you have a cache hit would now require two lookups - one to check for a -dwarf=false build and one to check for a -dwarf=true build. It's all very complicated and not obviously worth the complexity.
So if we make -debug=false mean -gcflags=all=-dwarf=false -ldflags=-w, I think it basically has to mean a full recompilation, as you noted. Whether that's worthwhile is an open question, I think. My instinct is "probably not worthwhile", but maybe the first rebuild is not such a big deal and then everything is cached.
In contrast, if -debug=false meant only -ldflags=-w, that would be a clear win and have no caching complexity - do we know what percentage of compile time is spent on DWARF, versus what percentage of link time?
If the main purpose of the flag is to be a clearer statement of intent, then only applying to the link step might be fine: -debug=false is much clearer than -ldflags=-w, and it could be made to work no matter what the underlying toolchain, making it a portability win too.

do we know what percentage of compile time is spent on DWARF

IIRC 1–2%

versus what percentage of link time?

I don’t know this number offhand, but I think people mainly disable DWARF for smaller binaries, not faster link (or compile) times. Faster builds is an accidental benefit.

it basically has to mean a full recompilation

I’m not so sure. ‘go test’ builds without DWARF, so in the common case in which people run tests before generating a binary (both locally and in CI/CD), it might actually be the DWARF-containing build that requires significant recompilation.

If the main purpose of the flag is to be a clearer statement of intent

FWIW, a clearer statement of intent was my primary goal in filing this proposal. But as per above, I think we can also get faster builds.

FWIW, I don't think we can do that.

@jayconrod brought up the same point on the golang-tools call a few weeks ago, and it's true that I wasn't thinking of the pitfalls of forcing the build cache this way.

@josharian

I’m not so sure. ‘go test’ builds without DWARF, so in the common case in which people run tests before generating a binary (both locally and in CI/CD), it might actually be the DWARF-containing build that requires significant recompilation.

Looking at the code, it looks like OmitDebug is only set for the package main in a test or in "go run", not recursively down the tree. So I don't think those are doing full rebuilds necessarily. Would be nice if we were already doing full recursive non-DWARF builds, of course, but I don't think we are. (There are also implications for using the pre-cgo-ed packages like net.a without a C compiler toolchain installed if we do the recursive no-dwarf.)
It still seems like the linker is where the win mostly is.
Does anyone want to gather numbers about how much speedup there is in compiler + linker, vs how much recompilation is incurred?

Discussion here seems blocked on someone gathering specific numbers showing that adding this flag would be helpful in practice. Anyone interested?

I just wanted to mention that in the past we started with nearly all DWARF generation in the linker, and we have moved a good portion to the compiler, and we are planning to move more. (Not sure how this will affect the decision here.)

Discussion here seems blocked on someone gathering specific numbers showing that adding this flag would be helpful in practice.

I can gather numbers, but it probably won't happen particularly soon.
But to re-iterate, I think the primary value here is clarity, and performance benefits are secondary.

I see the clarity increase for Go developers who want to build a binary without DWARF for size reasons.
I suppose the performance numbers would let us decide whether to make -debug=false (not DWARF - there are other kinds of debug info on other systems) tell that to just the linker or also the compiler. The user doesn't care - same result either way.
Based on the conversation above, then, this seems like a likely accept with the caveat that we don't know exactly what the implementation will be.

Disabling DWARF generation in the compiler speeds up compilation and reduces memory use by about 3% each.
With HEAD at fb5c3eabd16bbeea28ee8a11d29a31cf5ed124dd, I ran compilecmp -n 5 -afterflags=-dwarf=false head head to gather memory impact and compilecmp -n 100 -cpu -afterflags=-dwarf=false head head to gather execution time impact.

No change in consensus, so accepted.

In the C/C++ compiler world, one thing that I've seen is that the presence or absence of "-g" can cause unexpected differences in the code generated by the compiler (e.g. "cc -g -O myfile.c" produces different assembly from "cc -O myfile.c"). This has come up many times in nearly every compiler I've worked on.
Once we have "-debug={true,false}" up and running for the Go compiler, I think it would be useful to enhance our tools testing to:

add some sort of compatibility comparable to "toolstash -check" that verifies that code generated with and without "-debug=..." is the same (to be used by compiler developers in pre-submit testing)

add some set of builders that enforce the same invariant

My 2 cents.

GCC has a -fcompare-debug option that automatically runs the compiler twice, once with debug info and once without, and does a comparison of the final compiler IR from both runs, ignoring debug info, and complains if they are different.


Improved unit testing adding Edge, Android and Iphone testing

This commit:

Add Edge, Android, Iphone to the tested platforms
Diversify versions of testing for Chrome/Firefox including: an old one, the current stable, the ongoing beta
Remove phantomjs; who cares of phantomjs anymore now that we have real testing?
remove chai library; i added it initially for error but the project has never required this.
Fix bug in https://github.com/dchest/scrypt-async-js/compare/master...evilaliv3:improved-unit-testing?expand=1#diff-67681eeab319685c5844c94363c9d7ddL30 were a null function was mapped to the 'fail' event, so that in case of a single failure all tests were going bad.
update libraries to latests versions.

Thank you!


Fade long channel names in sidebar

This uses a few CSS tricks to fade away long channel names in the sidebar so the badge don't overlap on top of the channel names.

Screenshots?

Okay, I tried this now, and there's one thing I don't like about it. Even if you delete close button element, the name still doesn't expand past the notification badge. It simply cuts off where the notification badge would be, without any gradient.
If you can fix this, that would be nice!

Updated. I don't know where exactly you saw that, but I changed the place where the gradient is applied so the trick is simpler which makes it easier to make look clean. I also made sure to move the badge out of the way by putting it back to position:absolute when it fades away. It should look pretty good now no matter what.

:+1:

This is pretty awesome, thanks @maxpoulin64
Can you rebase, and check that the new stylelint doesn't break the build for this, and then I'm happy to merge.
:+1:

@YaManicKill Here you go. It did break all over the place, and it didn't merge properly at all either. Ended up just redoing it over master.

I love it, excellent job @maxpoulin64!
I did notice a small issue though: when the name is long, hovering on the name is messing up with the channel closing button (×). I know we mentioned removing it, but it's not the case yet (and it is not sure yet). Here is what I'm talking about (notice the first and third lines):

Do you think you could fix this before we merge? :-/

After discussing with @maxpoulin64 on IRC, he fixed this and it does look terrific. So :+1: and merging.
Also, I'm re-labeling this as a bugfix since currently long channel names are simply not being displayed well: they appear on a second line and get cut at the end of the end of the sidebar. Leaving as enhancement too considering @maxpoulin64 went well beyond duty :-)


AP_Rundata not updated

The table AP_Rundata  should contain information about last run and in what environment the database was used.
But it is not updated.

You are correct. I had expectations of leveraging this table a lot more, however the use cases for it never materialized. I've actually used this module in a number of engagements, and each time I have run up against new requirements that necessitated prioritizing other enhancements. I actually had intentions for adding functions to do various database tasks, such as managing enabling/disabling deployment of items, or adding new Task Group definitions, but I've always been the person who was doing the deployments, so it was faster to just update the DB directly.
The one use case that I had present here was for seeing which domain the module was run in last. The idea at the time was that the module could be used in, say, a development or staging environment, and then the whole module could be copied to production to deploy the same elements. In that scenario, I had intended to check on load to see if I needed to trigger a reset, but a reset would really only be needed if you took the module to an entirely new company...you would want the same type of structure deployed to each of your lower environments. Ended up deciding that the more advanced tracking would be better tackled in the central DB version, which is still in the design phase.

Yes, Schema extensions seem to be some magic. I developed one to securly store local account passwords. Similar than LAPS, but much more flexible and to be used for all local accounts.
Instead of adding information in the Schema, you may use "ms-DS-App-Data" as an object below Tier-0 OU nad add the revision attribute. I think it is important to ensure to use the right Settings.SQLite with the right AD. Otherwise people just get an old copy, missing or containing more OUs or using it from another environment, like from development into production.


some question about state setting

How make 4-step ( t-n ~ t ) depth image states?
reset function : self.first_state_image = np.stack((x_t, x_t, x_t, x_t), axis=0)
step function : next_state = np.append(x_t1, self.first_state_image[:, :3, :, :], axis=1)
and is the network structure in the Goal-Oriented Obstacle Avoidance with Deep Reinforcement Learning in Continuous Action Space paper like this?

but output size is not same.
my code is right?
thank you !!!

Hi,
The logic in general seems to be correct, but I am not sure if your axis are correct here. What you would want to have is a single image of shape (batch, channels, width, height). On each step keep last 3 recordings in the channel dimension and add the new recording there.
For the second part, I am not entirely sure what you mean about the output size here? With the setup, you have the parameter sizes look correct. If you mean that the output sizes are different from the paper, then that is because your depthwiise and pointwise layers are defined differently here than in the paper. The implementation of the paper was written with an older TensorFlow so the implementation was quite different, but this should do as well.
In depthwise layer you have missing stride value. By default, in PyTorch, the stride value is 1. That means that your kernel will move only one pixel on each pass step. As such, your output size will be almost the same as input size (80, 64). It comes down to (79, 63) due to your padding settings. In the paper, the stride was set to 2, so the output of the depthwise layer became (1, 10, 40, 32), where 10 is the number of channels.
Afterwards, your pointwise layer seems to be the same (10 channels in, 64 channels out).
But in max_pool2d you are also missing the stride parameter. In PyTorch stride defaults to whatever is the kernel size. Since your kernel is 4, your stride was also 4. However, in paper, stride for max pool was set to 2. So we "max pooled" the (64, 40, 32) image to obtain values with size (64, 20, 16).
So add the stride=2 parameter to both, self.depthwise and F.max_pool2d layers. Also, figure out the right setting for padding parameter.

much appreciated !!!
this output size is same as paper !

Great that it works out!


Support 2FA for Android users

Support 2FA (Two factor authentication) for Android users using google web messages.

Hey @gmcmicken - would you be okay if I introduced these changes on a branch made off master, instead of your fork? I'm thinking to implement a few more tweaks in the logic to reduce complexity while we introduce the 2FA handlers. I'd still credit you as the contributor of the changes you introduced? No worries if not, I can push this in anyhow and do further tweaks later if needed.

@gmcmicken I've got the PR with the implementation ready: #12 🎉!
Could I ask you to try it out whenever you'd have some time? This is the branch:
https://github.com/Voyz/ibeam/tree/feature/2fa-addition
Thanks! 😊

@gmcmicken thanks for this contribution!  I had used it briefly last year to test with my live account, now I come to try it this year and it is not working.  The process gets to the stage where it is supposed to give me a URL which generates a QRC.  I get the SMS with the code, but the command window just sits in this state indefinitely.  Any idea what it could be?


Drop SDXL mi250 benchmarks in favor of SDXL mi300 benchmarks.

This is an alternative to https://github.com/iree-org/iree/pull/17929, which fully disables the mi250 (and other runner) jobs.
The nodai-amdgpu-mi250-x86-64 runner started reporting regressions in benchmark workloads with no code changes (e.g. attempt 1, attempt 2). We still run these benchmarks on an mi300 runner, which has generally had more stable benchmark results.
skip-ci: not useful to run presubmits on this

The runner stabilized sometime last night. Still rather concerning...

The mi250 runner seems stable enough now, closing this.


Fixed Graph tooltip and added a Legend

Description
Changes proposed in this pull request:

Fixed a bug of incorrect tooltip
Added a legend to the graph
Improved and added translations
Moved GraphLegend component to the shared directory

Related issue(s)
Resolves #1528
Resolves #1394

/retest

/test pre-busola-integration-test-k3s-namespace

/retest


Detect XRootD versions before 4.11.1

Resolves #486. Checks for the package name pyxrootd if searching for XRootD fails.

Let me know when you're done with this by requesting a review. Thanks!

Okay, I can't directly request a review, but it is done

@all-contributors please add @masonproffitt  for code


add mod file

go modules will be enabled in 1.13
after merge it would be nice if you would tag this repo: e.g. v1.0.0

this will allow consumers something more consistent and readable than v0.0.0-20170831122431-f6a15ece2cfd

Thanks! I don't feel OK marking it 1.0 without some updates in the readme etc. (regarding e.g. the _amd64 naming, which is now a recommended practice and should be explained there), but then I can't get to maintaining/gardening this project properly anymore... I put it on https://www.codeshelter.co/ recently; not seeing much help from there yet, but it's a very fresh thing, so I assume we need to be patient to see if it gets enough traction and support...

makes total sense, and thanks a bunch for the merge; would you be willing to tag it as v0.1.0, v0.9.0, or v1.0.0-rc (as none of these bind you to the compatibility guarantees of v1.0.0?

Great idea, thanks! It appears I'm not educated in modules well enough yet, in my mind I somehow believed v0.x.y behaves similar to the v0.0.0-... pseudo-version. Cool, v0.8.0 marked, thanks again. :heavy_check_mark:


fix: marshalling list in generic and enabling forJSON reader option for MapThriftGeneric

What type of PR is this?
fix

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: tomasz-meresinski-bytedance:x: blazej-jaworowski-bytedanceYou have signed the CLA already but the status is still pending? Let us recheck it.

Take a look at these comments about coverage @blazej-jaworowski-bytedance


Memory leak in Faidx.pm/xs

Hi,
It looks like there is a mem leak in the Faidx.pm/xs module:
$ /usr/bin/time perl snpPanelGcCorrections.pl genome.fa SnpPositions.tsv
	Chr	Position	...
AUTO_1	1	3023783	...
0.19user 0.02system 0:00.22elapsed 97%CPU (0avgtext+0avgdata 129104maxresident)k
0inputs+0outputs (0major+10915minor)pagefaults 0swaps

$ /usr/bin/time perl snpPanelGcCorrections.pl genome.fa SnpPositions.tsv
	Chr	Position	...
AUTO_1	1	3023783	...
AUTO_2	1	3036178	...
0.36user 0.03system 0:00.40elapsed 97%CPU (0avgtext+0avgdata 237648maxresident)k
0inputs+0outputs (0major+18918minor)pagefaults 0swaps

$ /usr/bin/time perl snpPanelGcCorrections.pl genome.fa SnpPositions.tsv
	Chr	Position	...
AUTO_1	1	3023783	...
AUTO_2	1	3036178	...
AUTO_3	1	3050521	...
0.52user 0.06system 0:00.60elapsed 95%CPU (0avgtext+0avgdata 308112maxresident)k
0inputs+0outputs (0major+25291minor)pagefaults 0swaps

Each line is the result of 16 requests against faidx around a position increasing up to 10mb

Simple script to show this issue:
#!/usr/bin/perl

use strict;
use Bio::DB::HTS::Faidx;
use Devel::Size qw(size total_size);

my ($ref, $iter) = @ARGV;

my $index = Bio::DB::HTS::Faidx->new($ref);
printf "Faidx object before use is %.2fk\n\n", total_size($index)/1024;

for(0..($iter-1)) {
  my ($seq, $length) = $index->get_sequence("1:1-1000000");
  printf "seq of length %d uses %.2fk\n", $length, size($seq)/1024;
  printf "Faidx object using %.2fk\n\n", total_size($index)/1024;
}

Example output for 1 and 10 iterations:
$ /usr/bin/time -v perl htsFaidx.pl test.fa 1
Faidx object before use is 0.07k
seq of length 1000000 uses 976.61k
Faidx object using 0.07k
	Command being timed: "perl htsFaidx.pl test.fa 1"
	...
	Maximum resident set size (kbytes): 19920
        ...
	Exit status: 0

$ /usr/bin/time -v perl htsFaidx.pl test.fa 10
Faidx object before use is 0.07k
seq of length 1000000 uses 976.61k
Faidx object using 0.07k
seq of length 1000000 uses 976.61k
Faidx object using 0.07k
seq of length 1000000 uses 976.61k
Faidx object using 0.07k
seq of length 1000000 uses 976.61k
Faidx object using 0.07k
seq of length 1000000 uses 976.61k
Faidx object using 0.07k
seq of length 1000000 uses 976.61k
Faidx object using 0.07k
seq of length 1000000 uses 976.61k
Faidx object using 0.07k
seq of length 1000000 uses 976.61k
Faidx object using 0.07k
seq of length 1000000 uses 976.61k
Faidx object using 0.07k
seq of length 1000000 uses 976.61k
Faidx object using 0.07k
	Command being timed: "perl htsFaidx.pl test.fa 10"
	...
	Maximum resident set size (kbytes): 58960
	...
	Exit status: 0

Test::Valgrind gives the following output:
1..15
ok 1 - InvalidFree
ok 2 - MismatchedFree
not ok 3 - InvalidRead
ok 4 - InvalidWrite
ok 5 - InvalidJump
ok 6 - Overlap
ok 7 - InvalidMemPool
ok 8 - UninitCondition
ok 9 - UninitValue
ok 10 - SyscallParam
ok 11 - ClientCheck
not ok 12 - Leak_DefinitelyLost
not ok 13 - Leak_IndirectlyLost
ok 14 - Leak_PossiblyLost
not ok 15 - Leak_StillReachable

Just to add to this. I suspect it is because the XS variable seq is never freed.
The following is an extract form the htslib code.

/*!
@abstract    Fetch the sequence in a region.
@param  fai  Pointer to the faidx_t struct
@param  reg  Region in the format "chr2:20,000-30,000"
@param  len  Length of the region; -2 if seq not present, -1 general error
@return      Pointer to the sequence; null on failure
@discussion The returned sequence is allocated by malloc family
and should be destroyed by end users by calling free() on it.
*/
char *fai_fetch(const faidx_t *fai, const char *reg, int *len);

Looking at the code @drjsanger it looks like seq is freed after it gets copied into a new SV https://github.com/Ensembl/Bio-HTS/blob/master/lib/Bio/DB/HTS.xs#L386

@andrewyatz that's not the same code, that is 'Bio::DB::HTS::Fai' (directly ported from Bio::DB::Sam) not 'Bio::DB::HTS::Faidx', Faidx is more useful as it includes:
$faidx->get_all_sequence_ids();
$faidx->length($seq_id);

These are only available if you have a Htsfile object otherwise (which you won't when just using fasta).
Relevant bits are:
https://github.com/Ensembl/Bio-HTS/blob/master/lib/Bio/DB/HTS/Faidx.xs#L133-L140
and
https://github.com/Ensembl/Bio-HTS/blob/master/lib/Bio/DB/HTS/Faidx.xs#L60-L76
If you just add free((void*)seq) to this you get errors as you clear the value you're passing back (at least I think that's what happens)

Apologies quite right I was in the wrong place. Okay yes that will be an issue if it doesn't free the char
Sent from my mobile.

On 10 Mar 2016, at 12:46, Keiran Raine<EMAIL_ADDRESS>wrote:
@andrewyatz that's not the same code, that is 'Bio::DB::HTS::Fai' (directly ported from Bio::DB::Sam) not 'Bio::DB::HTS::Faidx', Faidx is more useful as it includes:
$faidx->get_all_sequence_ids();
$faidx->length($seq_id);
These are only available if you have a Htsfile object otherwise (which you won't when just using fasta).
Relevant bits are:
https://github.com/Ensembl/Bio-HTS/blob/master/lib/Bio/DB/HTS/Faidx.xs#L133-L140
and
https://github.com/Ensembl/Bio-HTS/blob/master/lib/Bio/DB/HTS/Faidx.xs#L60-L76
If you just add free((void*)seq) to this you get errors as you clear the value you're passing back (at least I think that's what happens)
—
Reply to this email directly or view it on GitHub.

Okay plot thickening. Not sure if @rishidev has seen this. We do free the char at https://github.com/Ensembl/Bio-HTS/blob/master/lib/Bio/DB/HTS/Faidx.xs#L70-L75. The call you flagged up uses this other subroutine, which does issue a free to the seq afterwards.
From some quick observations I've made from looking at the binary on my machine

Memory consumption seems to explode when the sv_catpv line is on
Once I comment out sv_catpv memory still increases but at a more consistent and smaller rate
Commenting out free() really makes the memory consumption go through the roof
Creating a new Faidx object doesn't help to keep the memory consumption down
Very oddly if I comment out everything apart from *seq = newSVpvn("",0); I can still cause an increase in resident memory size.

I had a version of the code that only carried out htslib actions and the memory usage was constant. The moment I brought in the SV work in memory started to grow. Somehow the SV is being mis-handled. However what makes it really odd is that doing a Devel::Peek on the results shows refcount being 1. Here's an example:
#SEQ
SV = PV(0x7fa84a8043b0) at 0x7fa84a853fc8
  REFCNT = 1
  FLAGS = (PADMY,POK,pPOK)
  PV = 0x7fa84a407980 ""\0
  CUR = 0
  LEN = 16

#LEN
SV = IV(0x7fa84b803c48) at 0x7fa84b803c58
  REFCNT = 1
  FLAGS = (PADMY,IOK,pIOK)
  IV = 1000

# FAIDX object
SV = IV(0x7fa84a82dc90) at 0x7fa84a82dca0
  REFCNT = 1
  FLAGS = (PADMY,ROK)
  RV = 0x7fa84a8062b0
  SV = PVMG(0x7fa84a84d550) at 0x7fa84a8062b0
    REFCNT = 1
    FLAGS = (OBJECT,IOK,READONLY,pIOK)
    IV =<PHONE_NUMBER>01984
    NV = 0
    PV = 0
    STASH = 0x7fa84a834480	"Bio::DB::HTS::Faidx"

There's some real horrible magic going on here ...

I've tried a few things but my C/XS foo isn't getting me far.  The only thing I've spotted is that there is a warning about creating PVs inline like here, but this doesn't seem to be the cause (but thought I'd mention it as it's in quite a few places):
https://github.com/Ensembl/Bio-HTS/blob/98177d8edb445a747442ea5d0099cf14453fc1bf/lib/Bio/DB/HTS/Faidx.xs#L70
From perlguts:

Also remember that C doesn't allow you to safely say foo(SvPV(s, len), len);. It might work with your compiler, but it won't work for everyone. Break this sort of statement up into separate assignments...

Updated example code which drops the perl-heap for each iteration:
#!/usr/bin/perl
use strict;
use Bio::DB::HTS::Faidx;
use Devel::SizeMe qw(total_size perl_size heap_size);

my ($ref, $iter) = @ARGV;
my $index = Bio::DB::HTS::Faidx->new($ref);
my @summary = (sprintf "Faidx object before use is %.2fk\n", total_size($index)/1024);
for(0..($iter-1)) {
  my ($seq, $length) = $index->get_sequence("1:1-1000000");
  push @summary, sprintf "%s seq of length %d uses %.2fk\n", '>' x ($_+1), $length, total_size($seq)/1024;
  push @summary, sprintf "%s Faidx object using %.2fk\n", '>' x ($_+1), total_size($index)/1024;
  push @summary, sprintf "%s Perl size using %.2fk\n", '>' x ($_+1), perl_size() / 1024;
  push @summary, sprintf "%s Perl heap using %.2fk\n", '>' x ($_+1), heap_size() / 1024;
}
print "\n\n",join(q{}, @summary),"\n\n";

Output now:
$ /usr/bin/time -v perl htsFaidx.pl test.fa 3
## some blah from Devel::SizeMe
Faidx object before use is 0.07k
> seq of length 1000000 uses 976.61k
> Faidx object using 0.07k
> Perl size using 2465.36k
> Perl heap using 2465.44k
>> seq of length 1000000 uses 976.61k
>> Faidx object using 0.07k
>> Perl size using 3442.22k
>> Perl heap using 3442.25k
>>> seq of length 1000000 uses 976.61k
>>> Faidx object using 0.07k
>>> Perl size using 4418.92k
>>> Perl heap using 4418.95k

Sorry, I was away last week so only saw this yesterday. Thanks for catching this - will start having a look now.

I took a bit of a punt and wrapped the allocation of the seq sv with an sv2mortal call. I think it's caused the leak to go away.
Sent from my mobile.

On 15 Mar 2016, at 08:57, rishidev<EMAIL_ADDRESS>wrote:
Sorry, I was away last week so only saw this yesterday. Thanks for catching this - will start having a look now.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/Ensembl/Bio-HTS/issues/6#issuecomment-196728142

That seems to have worked, thanks.

Awesome stuff :+1:

On 15 Mar 2016, at 11:00, rishidev<EMAIL_ADDRESS>wrote:
That seems to have worked, thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/Ensembl/Bio-HTS/issues/6#issuecomment-196765899 https://github.com/Ensembl/Bio-HTS/issues/6#issuecomment-196765899

It's just come through ;-)
https://metacpan.org/release/RISHIDEV/Bio-DB-HTS-1.11

Awesome work :)

On 15 Mar 2016, at 16:17, rishidev<EMAIL_ADDRESS>wrote:
It's just come through ;-)
https://metacpan.org/release/RISHIDEV/Bio-DB-HTS-1.11 https://metacpan.org/release/RISHIDEV/Bio-DB-HTS-1.11
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/Ensembl/Bio-HTS/issues/6#issuecomment-196903682 https://github.com/Ensembl/Bio-HTS/issues/6#issuecomment-196903682


updated zh-cn/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md

original file: https://kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/

Overall looks good to me. 👍

/retitle [zh-cn] updated /kubeadm/troubleshooting-kubeadm.md

/approve

/lgtm


error while doing save as

Traceback (most recent call last):
File "/home/adytia/.config/inkscape/extensions/aieps_output.py", line 1186, in
print(converter.convert())
File "/home/adytia/.config/inkscape/extensions/aieps_output.py", line 1160, in convert
self.walkElem(self.root)
File "/home/adytia/.config/inkscape/extensions/aieps_output.py", line 901, in walkElem
self.walkElem(child)
File "/home/adytia/.config/inkscape/extensions/aieps_output.py", line 901, in walkElem
self.walkElem(child)
File "/home/adytia/.config/inkscape/extensions/aieps_output.py", line 901, in walkElem
self.walkElem(child)
[Previous line repeated 2 more times]
File "/home/adytia/.config/inkscape/extensions/aieps_output.py", line 884, in walkElem
self.elemStop(elem)
File "/home/adytia/.config/inkscape/extensions/aieps_output.py", line 733, in elemStop
offsetString = elem.get('offset').strip()
AttributeError: 'NoneType' object has no attribute 'strip'

I hope it is fixed in version 1.0.9
If you still have errors, then please attach an SVG file that causes it.


Mkl changes

All MKL related files are added here after incorporating review comments, major changes include

usage of Clang-format(Linter) with --style = Google
usage of macros for checking input and filter dimension in the mkl operators
merged Max and Average pooling functions
created a new folder for mkl related python scripts in Python folder and moved them there
there is no mkl_alexnet_test.py as that was redundant when convnet_benchmark.py does the same thing

@githubGomathi - I assume that this is now obsolete since #270 is a newer version?

Yes Yangqing…
Thanks
Gomathi
From: Yangqing Jia<EMAIL_ADDRESS>Sent: Tuesday, April 18, 2017 1:51 AM
To: caffe2/caffe2<EMAIL_ADDRESS>Cc: Ramamurthy, Gomathi<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [caffe2/caffe2] Mkl changes (#269)
@githubGomathihttps://github.com/githubGomathi - I assume that this is now obsolete since #270https://github.com/caffe2/caffe2/pull/270 is a newer version?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/caffe2/caffe2/pull/269#issuecomment-294580321, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AVR_khSol747SB_pW23oo5jOQOwalOFqks5rw8mngaJpZM4M_Brv.


App is crashing

The application is crashing after sending an SMS.
Sending signal. PID: 18015 SIG: 9
Lost connection to device.

did you find the solution to this problem ?


CC_142 [Rubik's Cube] Refactoring the 'Move' logic into an enum.

no more need to encode move sequences with characters
new feature: random moves are such, that sequential moves do not cancel each other out

Other than that, does not add anything new, its simply a cleanup/refactoring using the power of enums. Hope it has some educational value.
Cheers!

These are terrific suggestions, thank you for taking the time to do this work! I like to keep the code in this repo matching the video so that viewers can follow along. There are a couple ways we could move forward to incorporate your ideas.

You could submit your own version as a community contribution.
I could create a community "Rubik's Cube" project separate from the website that viewers could develop. I like doing this, but it often becomes difficult to manage.

What do you think?
(I'll also note that I am releasing part 3 tomorrow).

Thanks Daniel!
I suspected, that this PR would not get merged, however I could not think of a more simple way to reach out to you, with a refactoring suggestion. I'm impressed, that this got feedback at all. You and your team are really doing a great job!
So I guess we can just close this PR.
(No worries on my side.)
Keep up the good work!


Use NoSQL for Database Instead of csv

Put the dataset into dynamo DB or mongoDB such that the dashboard is not dependent on csv files.
One of the enhancement items noted in #8.  To be considered after #15.

Not felt to be needed based on current performance of app, closing.


Code example comment lists Border instead of ScrollViewer

In the first code example on this page, the last comment reads
"// Add the Border as the Content of the Parent Window Object"
I think it should not be "Border" but "ScrollViewer" like this.
// Add the ScrollViewer as the Content of the Parent Window Object

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

ID: 712dcc2a-20de-b5be-a9cf-2b548f76768e
Version Independent ID: c4e96199-5cbd-f9ef-ba03-261614d02ffd
Content: ScrollViewer Overview - WPF .NET Framework
Content Source: dotnet-desktop-guide/framework/wpf/controls/scrollviewer-overview.md
Product: dotnet-framework
Technology: dotnet-wpf
GitHub Login: @adegeo
Microsoft Alias: adegeo

Thank you for opening this issue. I'll add it to the backlog.
Thanks again!


Fixed compile error when using react-native 0.57.3 (signature of getJSEventName() changed)

When using this module with react-native 0.57.3 the compiler would complain about the signature of getJSEventName(). This has been recently changed in react-native. This PR uses that new implementation.
Caution this PR breaks with older react-native version and will only be compatible with react-native 0.57.3 and higher.

@godness84 it would be nice if you could review this PR

Tried this, and got new error:
> Task :app:transformDexArchiveWithExternalLibsDexMergerForDebug FAILED
D8: Program type already present: android.support.v4.app.Fragment$SavedState$1

any idea how to fix this?

Tried this, and got new error:
> Task :app:transformDexArchiveWithExternalLibsDexMergerForDebug FAILED
D8: Program type already present: android.support.v4.app.Fragment$SavedState$1

any idea how to fix this?

What version of react-native are you using? This issue don't seem related to this PR..

I am on RN 57.4, Need to set multidex true to solve this. 😊

awesome! seems unrelated then :-)

Closing in favour of #33


Boosting this timeout so we don't have more issues. Should probably f…

…urther optimize this query
@Lal-kottu-zocdoc @chris-smith-zocdoc
This query timed out on three consecutive main ci runs this morning.  While boosting the timeout is definitely not the best solution it should help prevent this from happening again in the future.

:+1: definitely less hacky than the other solution

Just ran this on metrics_datawarehouse in production/repl-db.
It runs as part of the metrics deploy - took 70 seconds :hankey:
i'll look into getting this to behave but if you boys have ideas lmk

Hm do you think I should bother merging this then? I could set the timeout even higher but that's obviously not ideal... I can't believe it takes so long

you should merge this. if it gets higher than this, its a sign for us to fix it ASAP!
but we should not be bogged down by failed runs at 30 seconds.


[API Review] Make "synthetic" HubMessage for Invocations with binding errors

Rather than an "ArgumentBindingException" property, let's make our IHubProtocol implementations return a new HubMessage-derived type BindingErrorMessage (name to be :bike: :house:ed) that identifies the Invocation ID (so a response can be sent) and the error.

Fixed in https://github.com/aspnet/SignalR/commit/b4046b5ed83c6d06abd9783ef67ed794e8be5076


Create custom DiagnosticsNode type for DevTools deep links.

IDEs will look for this specific diagnostic node type in order to prompt the user to inspect the errors in DevTools.
cc @helin24 @DanTup

Addressed review comments and refactored some things. Represented the diagnostic value as a map so I can add useful parameters for IDEs to consume (other wise they would have had to parse information from the url). PTAL.

Addressed review comments and refactored some things. Represented the diagnostic value as a map so I can add useful parameters for IDEs to consume (other wise they would have had to parse information from the url). PTAL.


Flux OCIRepo Support in Zarf

Is your feature request related to a problem? Please describe.
Zarf to be able to create packages that include Flux's OCIRepo
---
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: OCIRepository
metadata:
  name: podinfo
  namespace: default
spec:
  interval: 5m0s
  url: oci://ghcr.io/stefanprodan/manifests/podinfo
  ref:
    tag: latest

Describe the solution you'd like

Given an OCIRepo is listed as a manifest
When the zarf package with an OCIRepo is deployed
Then the OCI manifests/images are transferred to Zarf's internal image registry for the airgap

Describe alternatives you've considered
Additional context
Relates to #1974

Finishing this will require takeover of https://github.com/defenseunicorns/zarf/pull/2005

Hi, any plan ?

Implemented by #2005


pull request for e2e test at 01/08/2017 19:26:10

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Consider and Decide initial phase implementation of the Volunteering pages/pathway

We need to document the current process - perhaps @mburnham-1 has already done this?
Some elements will replicate the current common code.  Others may need to change.
Minimum would be the common codebase initial page (i.e. page which had a link for those wishing to transcriber and a link for those wishing to volunteer as a developer or designer.
For discussion: the former could link to https://www.freebmd.org.uk/Signup.html or more of the process (some, or all) could be handled in FreeBMD2.
The latter, as with th other projects, would link to the FreeUKgenealogy.org.uk website.

Hi Pat,I don't know if Rich has told you but I am unavailable until August.I have completed the Primary & Secondary Links between pages, but not yet completed the tertiary links.
I have done no work on Process at all.
Until later,Best regardsMike
On Friday, 28 June 2019, 11:12:11 BST, PatReynolds<EMAIL_ADDRESS>wrote:
We need to document the current process - perhaps @mburnham-1 has already done this?
Some elements will replicate the current common code. Others may need to change.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Two options for https://test2.freebmd.org.uk/userid_details/transcriber_registration?
a) replace with a Refinery page including a link to FreeBMD1 could include the text and other links from https://www.freebmd.org.uk/Signup.html
b) retain the MyopicVicar page, adding the 'syndicates available' from FreeBMD1 as the choices. See https://www.freebmd.org.uk/cgi/list-synd.pl?reader=0
advantages of (a). It's easier. there would be no need to interface with the systems and databases of FreeBMD1.
advantages of (b). Would mean we could begin the Open Data signup for new transcribers in just one place, rather than possibly in two.
For discussion and decision

With BMD2 initially being Researcher focused, we can link back to BMD1 for anything related to volunteering/transcribing etc.

Context: MVP is about researchers, not transcribers.
However, having first stage volunteer sign up on FreeBMD2 will ensure all new volunteers get the link to the privacy policy, which is not on FreeBMD1 (yet - trac issue #638 still waiting for implementation after a year).
DRAFT MVP implementation on FreeBMD would be
https://freebmd2.freebmd.org.uk/cms/opportunities-to-volunteer-with-freebmd with links as normal for other volunteering, but link  "Proceed for Registration" (to * https://www.freebmd.org.uk/Signup.html)

Text "To register as a transcriber, please press the button below." to be amended to "To register as a transcriber, please press the button below (takes you from FreeBMD2 to FreeBMD1".

DRAFT Preferred implementation on FreeBMD would be:
https://freebmd2.freebmd.org.uk/cms/opportunities-to-volunteer-with-freebmd with links as for FreeREG and FreeCEN.
https://freebmd2.freebmd.org.uk/userid_details/transcriber_registration

excluding the syndicates list
including information from https://www.freebmd.org.uk/Signup.html moved to FreeBMD2
adding an instruction to keep a note of the User ID chosen, as it will be needed in the next step, which will take you out of FreeBMD2 and onto FreeBMD1
Link the 'sign up as a transcriber button'  to https://www.freebmd.org.uk/cgi/list-synd.pl?reader=0  changed to 'continue sign up'

I can't see an easy way of presenting the syndicate choices and then transferring to FreeBMD1 for completion.
Thought of developers on practicality of these, any alternatives, and implementation costs for the two (following refinement) needed.

Note you are using freebmd2.freebmd.org.uk in the previous text. We are currently using test2.freebmd.org.uk. See #105
WRT this story. The following links are active
https://test2.freebmd.org.uk/cms/opportunities-to-volunteer-with-freebmd currently exists. Wording changes in the text can be done in RefineryCMS no programmer input is required
Changing the link to a freebmd1 page is  minor . A size 2
It would be just as easy to leave the Proceed to Registration as is This takes you to
https://test2.freebmd.org.uk/userid_details/transcriber_registration?. Text changes can be made. Size 2-3. Rather than the form for registering the Register as a Transcriber this could be replace with the link to the FreeBMD1 registration page
Total size no more than 5. Benefits are access to policies and any updates and ease of transition to active registration. Downside is that volunteering this way is 3 click process.

This is something of a side issue, but I don't know where else to record it. The text of https://test2.freebmd.org.uk/cms/opportunities-to-volunteer-with-freebmd is almost entirely wrong and does not reflect how FreeBMD transcribing works. Maybe it is WIP but I see no indication of that.

Thanks @archerbarrie, have created story #110 to cover finalising text for the volunteer page (it is placeholder, as you say, although that isn't clear and needs to be be tracked). The same applies to other pages that have been carried over/easily generated from FR (about/cookie page etc).

@PatReynolds  to contact Barrie and Allan re the implementation proposal

Proposed solution: text change as in FreeUKGen/FreeBMD2#110
Remove syndicate choice for MVP release.
Text for auto email as in FreeUKGen/FreeBMD2#110

Hi Pat,Very sorry that I have not been around for a long time.Hopefully back in action in the near future.RegardsMike
On Monday, 7 October 2019, 12:30:44 BST, PatReynolds<EMAIL_ADDRESS>wrote:
Proposed solution: text change as in #110
Remove syndicate choice for MVP release.
Text for auto email as in #110
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

We can now close this - we have stories that cover what is now needed.


Migrate from Matt's teslamate add-on to lildude's

Hi Lildue,
Many thanks for taking over this add-on. I have added your repo but don't see Teslamate as an add-on. Further, how do I migrate to your version of add-on without losing my data from the previous one?
Thanks,
Shiva

TeslaMate will only become availave in my add-ons repo when I've merged lildude/ha-addons#17.
I've deliberately not done this year as I'm still ironing out a few things in this repo, including writing steps for migrating without losing data; there shouldn't be any as we're leaving the DB etc as-is, but I still need to test this to be 100% sure and write it down for others.

Thank you updating the add-on and writing the migration steps. Now just eagerly waiting for the add-on to be included in your add-on repository. Thank you for all your hard work.

Migration worked beautifully :) Thanks for your effort.


Portal files aren't deleted filling up the HD

Hi
On a customer's Switch Server the Portal files aren't deleted and it's filling up the HD.
I've checked the folder for the permissions which are full R/W.
Time,Id,Type,Module,Ticket,Flow,Element,File,Message
2017-11-20T09:01:51.804Z,2213273,warning,Outgoing,,INPUT,Cerm Thumb Incoming,,unpackJob returned false. Could not unpack. Skipping this file.
2017-11-20T09:01:51.804Z,2213272,error,Outgoing,,INPUT,Cerm Thumb Incoming,,Unarchiving of the job to the temporary folder was unsuccessful.
Any pointers please to fix this please?
Thanks
Malcolm Mackenzie
Folder location
C:\Users\ArtworkUser\AppData\Roaming\Enfocus\Switch Server\ScriptData\SwitchPortalsEther\Portals_C-MessageFileUploaded

Hi Malcolm,
This is the method the script is using:

unarchive( source-path : String, destination-path : String, passwords : String[ ] ) : Boolean
Extracts all files from the archive at the source path and places them as a file or folder at the destination path. The last (optional) argument provides a list of passwords for opening password-protected archives.
Returns true if successful, false if not (in which case an appropriate error message is logged).
This function supports the ZIP and RAR archive formats.
Very large archives (+4 GB) can be processed as well.
Note: The first correct password is used for all of the password protected files. If there are files with another password, those files will be skipped.

From here: http://www.enfocus.com/manuals/DeveloperGuide/SW/17/en-us/common/sw/reference/r_environment_class.html
It says that an error message should be logged when unarchive fails. Could you turn on debug log messaging and see what is printed to the log?

Hi Dominick
I'll get the debug going and send through the results.
Thanks
Malcolm Mackenzie
07910 413421
On 20 November 2017 at 15:36, Dominick Peluso<EMAIL_ADDRESS>wrote:

Hi Malcolm,
This is the method the script is using:
unarchive( source-path : String, destination-path : String, passwords :
String[ ] ) : Boolean
Extracts all files from the archive at the source path and places them as
a file or folder at the destination path. The last (optional) argument
provides a list of passwords for opening password-protected archives.
Returns true if successful, false if not (in which case an appropriate
error message is logged).
This function supports the ZIP and RAR archive formats.
Very large archives (+4 GB) can be processed as well.
Note: The first correct password is used for all of the password protected
files. If there are files with another password, those files will be
skipped.
From here: http://www.enfocus.com/manuals/DeveloperGuide/SW/17/
en-us/common/sw/reference/r_environment_class.html
It says that an error message should be logged when unarchive fails.
Could you turn on debug log messaging and see what is printed to the log?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/open-automation/switch-portals/issues/20#issuecomment-345713547,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYAp0xp0sdz8ZIsUt7dvT9nldifDFdBlks5s4Y5RgaJpZM4QkHNj
.

I've attached a log file to see if that will help
Thanks
logs.csv.zip

Any thoughts on next steps please?

Hi
I think we have a similar issue with this, if we have a flow turned off with an Outgoing portal when the flow is turned back on it won't pickup any jobs that have been sent into it while its been off. The jobs will just stay in the SwitchPortalsEther folder.
Is this something we're doing wrong with Portals?
Thanks
Matthew

@matthewkayy and the same configuration works when the flow is turned off? If not, then I would think your scope:channel are mismatched. Outgoing Portals in offline flows should process as soon as it goes online again.

@MalcolmMackenzie This is the part that is failing for you: https://github.com/open-automation/switch-portals/blob/master/Unpacked/Outgoing_v3/Outgoing_v3.js#L224-L225
Portals needs to create a temporary folder and unpack the packed job (jobs are packed in zips with metadata between portals) into that temporary folder. After that is complete, a new job is created, all files added back to the job, and metadata is attached to the job. All of this stems from the temporary folder. The createPathWithName method, according to the documentation, should throw an exception if it fails -- so we can assume it worked fine since it got far enough to print the log message below.
So the problem appears to be one of two things, both stemming from Switch's unarchive method.

unarchive may not be able to read the contents of the packed zip file
unarchive may not be able to write to the temporary folder

The temporary folder is created with http://www.enfocus.com/manuals/DeveloperGuide/SW/17/en-us/common/sw/reference/r_job_class.html So there could be something wrong with your Switch configuration where Switch is not actually giving you a writable path. This method is supposed to do that, but if Switch had some odd permissions, perhaps it could hand out a path to a location it couldn't write to. The best way to test this would be to write a script that would use this method and  write to the temporary path that was created.
The other option is that unarchive couldn't read the incoming file and failed as a result. This could happen if you're using mismatched versions of Portals, because at some point I think I may have changed the naming of packed files between versions. It could also be caused by another permissions issue where Switch, for whatever reason, didn't have permission to read the packed file.
Long story short, I don't exactly know what the issue is. But to troubleshoot, what I would do is to create some new flows, drop in new scripting elements into the flow canvas, add new portals v3 (found here https://github.com/open-automation/switch-portals/tree/master/Packed). If that didn't resolve it, then I would modify the scripts to log each of the possible values above (the path of the temporary directory, the filename unarchive is trying to unzip) etc... until it was apparent. So, do you have the Scripting module?

OK thanks Dominick, we'll have a look


Pre-provisioning error

Background:

I have backed up to a stable release 2.5.1 and everything is fine but on the latest commit in master (57fb88d) pre-provisioning fails with this error message:

TASK [Run configured pre-provision shell scripts.] *****************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: IndexError: list index out of range
fatal: [gw]: FAILED! => {"failed": true, "msg": "Unexpected failure during module execution.", "stdout": ""}

Additional Information:

My config.yml might have something out of date in it.  I can verify that it works with 2.5.1.  I am willing to try a different commit if that would help diagnose this problem.

Would you mind posting your config.yml and checking which ansible version you are using? I'd like to see if I can reproduce it.

Also to provide some more ansible debugging information could you create a Vagrantfile.local in the same directory as the regular Vagrantfile with this:
config.vm.provisioners[0].config.raw_arguments = ["-vvv"]

I ran into something similar.  Add this
pre_provision_scripts: []
next to
post_provision_scripts: []
in your config.yml

@joelpittet could you check which ansible version you have installed?

Nevermind, just realized you fixed it. I was able to reproduce it by removing the variable. Thanks!
I'll try to get a proper fix for it if the variable isn't defined.

@joelpittet I can confirm that your fix works.
@oxyc I can confirm that your patch works. 👍

Fixed via merged PR above #643


Add package SWIG

Please add SWIG to hunter-packages.
https://github.com/SWIG
Pre-requisite for TensorFlow.
Relates: #667

Done: https://github.com/hunter-packages/swig

If it were to be hunterised, should this be based on rel-3.0.12 tag instead of 4.0.0-dev (master)?

I guess it's better to start with stable release, i.e. based on rel-3.0.12


Abnormal behaviour with "loaded" event

i was trying to get element's true width value while width is set using percentage value.
so i had try implemented it in below nativescript playground project
https://play.nativescript.org/?template=play-ng&id=FpaWzb&v=15
as you can see it is not working, output is not what we expected.
but if add (loaded)="getHeight(abc)" to GridLayout  it starts showing desired output.
here is playground https://play.nativescript.org/?template=play-ng&id=FpaWzb&v=16
here  "getHeight" functions simply console.log the View.effectiveWidth, View.getMeasuredWidth() and  View.getActualSize().width value.
Note: look at the device logs,  View.effectiveWidth, View.getMeasuredWidth(), View.getActualSize().width all value are 0. i'm unable to get correct width value.

if i'm just console log some value on loaded event then it should not effect the UI.
also what is the correct way of creating square or aspect ratio based element while having percentage width?
when and how can i get correct hieght and width measurements ?

First of all, thank you for the sample projects.
I reviewed them and was able to recreate an issue with getting the actual component width and height while using getActualSize method.  The returned value for the width and height will be 0 on the loaded event. To workaround this case I would suggest setting up timeout with 200 milliseconds. For example:
home.component.html
<ActionBar title="Home" class="action-bar">
</ActionBar>

<ListView [items]="a"  class="list-group">
	<ng-template let-country="item" let-i="index" let-odd="odd" let-even="even">
		<WrapLayout  width="100%"  orientation="horizontal" backgroundColor="palegreen">
			<GridLayout rows="*,*" #abc  (loaded)="getSize($event)" columns="*"  width="20%" [height]="testWidth" backgroundColor="lightgray">

			</GridLayout>
		</WrapLayout>
	</ng-template>
</ListView>

html.component.ts
import { Component, OnInit, ViewChild } from "@angular/core";
import { PercentLength } from "tns-core-modules/ui/styling/style-properties"
import { GridLayout } from "ui/layouts/grid-layout"
@Component({
    selector: "Home",
    moduleId: module.id,
    templateUrl: "./home.component.html",
    styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
    a = ['1', '2', '1', '2', '1', '2', '1', '2', '1', '2', '1', '2', '1', '2', '1', '2', '1', '2', '1', '2', '1', '2', '1', '2', '1', '2', '1', '2', '1', '2',]
    @ViewChild('abc') abc;
    testWidth = 0;
    constructor() {

    }
    getSize(args) {
        setTimeout(() => {
            let grid = <GridLayout>args.object;
            var gridSize = args.object.getActualSize();
            var gridWidth = gridSize.width;
            var gridHeight = gridSize.height;
            console.log("gridWidth: " + gridWidth);
            console.log("gridHeight: " + gridHeight);
            this.testWidth = gridWidth;
        }, 200);
    }
    ngOnInit(): void {
    }
    toDevicePixels(percentage: PercentLength) {
        console.dir(PercentLength.convertToString(percentage))
        return PercentLength.toDevicePixels(percentage,0,0);
    }
}

In the code sample is also show, how to bind and set up the height of the GridLayout dynamically, which will allow you to create the needed square in the ListView template.

what i'm trying to accomplish here is creating 5*n grid where grid child elements must have same height as their width, even after rotating from landscape to portrait or portrait to landscape, their height must be same as width, but using above approach and binding element "height" attribute  to "this.testWidth" will work only on portrait mode.
do you have any workaround for this?
and actual bug i had reported is that without loaded event UI is not working properly, can u explain what is the cause of that?

HI @bhavincb,
This issue seems to be related to this feature request #3946 for providing event, which will notify you at the time when the components are rendered, and you can take their actual size.
Regarding the problem you are facing you can try to call ListView's refresh method on orientation change or to specify the rows and columns size with fixed numbers. For example:
<GridLayout rows="100, *" #abc   columns="100"   [height]="abc.getActualSize().width" backgroundColor="lightgray">

			</GridLayout>

hii @tsonevn ,
problem i am facing is that without loaded event binding UI doesn't render at all. as we can see in playground sample project i had provided.

HI @bhavincb,
In the sample project, you are using getActualSize() method and  width property which are not from type observable. In this case, the UI will not be notified for the change of the actual size and the Layout width will not be changed as well.
This could be handled by using the orientation change event and binding the width property. When the orientation changes, you could get the needed data with the getActualSize() and to set up the new width value.

hii @tsonevn ,
i had thought about orientation change event but unable to locate any documentation relating that. mark an suggestion or request that all this event should be added to documentation with some examples of themselves.

Hi @bhavincb,
Thank you for the suggestion.
Indeed we will provide examples, which demonstrates how to handle orientation change event in for NS Angular and non-Angular project. Regarding that, we logged new task  in our docs repository.

For those who want to get the measured width or height of an element you can use the next code in your ngAfterViewInit lifecycle callback:
this.someViewElement.on(ViewBase.loadedEvent, () => {
      setTimeout(() => {
        const elementHeight = this.nativeView.getMeasuredHeight()
        console.log('view height', this.elementHeight)
      })
})


Update all non-major dependencies

~This PR contains #1463, so please merge that one first then this one. To review, check only 7e8b3f9.~
Everything went smooth.

Rebased PR against latest dev, and re-updated all non-major dependencies.

Thanks @felipecrs !


[WFCORE-5465] Using local repos used for git configuration persistenc…

…e respect the default 'master' regardless of local gitconfig defaultbranch settings
https://issues.redhat.com/browse/WFCORE-5465
This is a draft as I'm suspicious we have other bugs; see added TODO in GitRepositoryTestCase. Plus this needs more thought in general to make sure the semantics are correct.

This is almost certainly wrong, at least in the production code, as it's doing things to work around WFCORE-5523. My instinct is the production code should not care what the default branch of a repo is; it should always ensure it's using the configured branch.

I think we talked about this elsewhere but I'll respond here for the history.
First, the changes I made to production code -- i.e. setting the initial branch to master -- are wrong and are just workarounds to https://issues.redhat.com/browse/WFCORE-5523. So those will be removed in favor of ensuring the configured branch is always checked out.
Second, the default value of '--git-branch' is 'master' and changing that would be a breaking change. Note that the branch in question is the user's branch. We should evaluate changing that default but I think that should be handled separately from WFCORE-5465 and WFCORE-5523 work.

Closing this as @petrberan has taken over this work, see #4706


feat: ignore custom dlls when packing biz

Description
This PR adds logic to ignore custom dlls when packing business solution.
Open topics
Should we add this logic in here? If yes, should we add any kind of guard for projects that really need to deliver custom dlls?
Tests
Still need to test on the pipeline if is being ignore when deploying.
Tested manually: After running the packing command, the manifest has the following default steps:
  <steps>
    <step type="Generic" onExecute="$(Agent.Root)/agent/scripts/stop_host.ps1" />
    <step type="DeployFiles" contentPath="**/!(Cmf.Custom.*.BusinessObjects.*.dll)" />
    <step type="Generic" onExecute="$(Agent.Root)/agent/scripts/start_host.ps1" />
  </steps>

@oliveriosousa should we drop this, or is this still something impacting your workflow?

I'll take the radio silence as a yes, if this is still something you want open please a new PR


Fixed broken url for implementing Serializable interface

Fixed a broken url for implementing the Serializable interface. The link was pointing to an outdated German version of php.net manual.

@GeekMode thanks!


Interaction Improvement

This is a very useful plugin.  However, as I am developing my own plugin I am finding it necessary to have to reload my plugin frequently.  It would be nice if the plugin refresher would continue to stay on last plugin selected. Not too painful, but it would be useful I think especially in the case I described.

I would be happy if it would stay on the last plugin selected within the
same editor session.  Unless I'm doing something wrong in my plugin
GDScript code I am finding that I need to reload the plugin to immediately
see the effects of the changed code.  Therefore, it would be super handy
for the plugin refresher to stay on the last selected plugin so all I need
to do is click the refresh button.
On Wed, Dec 5, 2018 at 8:28 AM Will Nations<EMAIL_ADDRESS>wrote:

Do you mean, staying on the last plugin selected between editor sessions?
Ex. Open editor, change value, close editor, re-open editor, plugin still
displays the changed value.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/willnationsdev/godot-plugin-refresher/issues/2#issuecomment-444503609,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHHgUb8ymRCRib5zfoNjVGPaE5Oggy4tks5u19f1gaJpZM4ZCwTS
.

--
Robert E Morse

Therefore, it would be super handy for the plugin refresher to stay on the last selected plugin so all I need to do is click the refresh button.

I had been under the impression that this was actually what it did. Whoops. Guess I'll have to examine it again. I built the thing in a short afternoon, so it's not entirely surprising. Thanks for letting me know. I'll look into it.

Actually you are correct.  It does stick to the last plugin until I modify
my plugin and save.  Then it loses its hold, which loses the purpose for
which I want to use your plugin.
On Wed, Dec 5, 2018 at 8:43 AM Will Nations<EMAIL_ADDRESS>wrote:

Therefore, it would be super handy for the plugin refresher to stay on the
last selected plugin so all I need to do is click the refresh button.
I had been under the impression that this was actually what it did.
Whoops. Guess I'll have to examine it again. I built the thing in a short
afternoon, so it's not entirely surprising. Thanks for letting me know.
I'll look into it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/willnationsdev/godot-plugin-refresher/issues/2#issuecomment-444508903,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHHgUbhFGHvUx2Fye1mNvGrMWosfS9juks5u19uAgaJpZM4ZCwTS
.

--
Robert E Morse

Yeah, I'll probably have to do some sort name lookup that it might not be doing now. Haven't looked at this thing in a long time, but will do so when I get any time available.

I think it would have to cache the most recently selected value within the referesher script and then the refresher can find the option with that value after the while loop in reload_items.


Add a simple DNS example

@thockin HTH

Cool!  Thanks.

@ddysher  can you look at the shippable errors. they seem legitimate.

@ArtfulCoder Done, added copyright boilerplate

@ArtfulCoder Is this good to go now?

Updated copyright year

@ArtfulCoder Shippable is green. Is this good to go?


[nrf fromtree] drivers: serial: nrfx_uarte: Use of legacy shim on RISCV

Legacy shim takes less flash so it should be a first choice on cores with less code memory (like RISCV cores on nrf54h20). Adding new instances support to the legacy shim.
Signed-off-by: Krzysztof Chruściński<EMAIL_ADDRESS>(cherry picked from commit d07b13dbc203be8066e9f840edf917dd8969ce00)

The NCS CoreMark sample requires this change so that the PPR core can correctly log the benchmark results.


pass in-edges during node creation

If g() function called with more then 1 argument, these additional arguments should be treated as in-edges.

Or even better, if arguments can be arrays of edges


Setup jest for client and backend

Jest is now setup for the backend with a very basic test.
I created a setup with enzyme for the client and added a basic test.
The ci should now run the tests for the client and backend.

Btw I saw you are using react 15 maybe it can be a good idea to use react 16.

thanks @pradel Adding Jest was one of the action items!
@nikgraf I am going to merge this PR, looks good to me for basic Jest setup.

you guys are rocking! 🙌


depth chart is broken

The depth chart is supposed to show the depth of the orderbook, but at the moment, it does not show anything.
See this picture from the README how it's supposed to work:

depth chart is broken because depth field has been removed in orderbook in mm2
(https://github.com/particle4dev/hyperdex/blob/master/app/renderer/components/DepthChart.js#L37)

https://github.com/particle4dev/hyperdex/issues/14#issuecomment-574622367


Yarn 3.2.2 - tslib missing on dependencies from response-cache-redis

Issue workflow progress
Progress of the issue based on the Contributor Workflow

[ ] 1. The issue provides a minimal reproduction available on Stackblitz.

Please install the latest @envelop/* packages that you are using.
Please make sure the reproduction is as small as possible.

[ ] 2. A failing test has been provided
[ ] 3. A local solution has been provided
[ ] 4. A pull request is pending review

Describe the bug
13:11:46 - Found 0 errors. Watching for file changes.
/Users/vini/projects/order-bff/.pnp.cjs:24662
      Error.captureStackTrace(firstError);
            ^

Error: @envelop/response-cache-redis tried to access tslib, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.

Required package: tslib
Required by: @envelop/response-cache-redis@npm:1.1.0 (via /Users/vini/projects/order-bff/.yarn/cache/@envelop-response-cache-redis-npm-1.1.0-c8131b30a2-1151c5305d.zip/node_modules/@envelop/response-cache-redis/cjs/)

Require stack:
- /Users/vini/projects/order-bff/.yarn/cache/<EMAIL_ADDRESS>-<EMAIL_ADDRESS>- /Users/vini/projects/order-bff/packages/server/build/src/index.js
    at Function.require$$0.Module._resolveFilename (/Users/vini/projects/order-bff/.pnp.cjs:24662:13)
    at Module.Hook.Module.require (/Users/vini/projects/order-bff/.yarn/unplugged/dd-trace-npm-3.0.0-9de71772ad/node_modules/dd-trace/packages/dd-trace/src/ritm.js:51:29)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/Users/vini/projects/order-bff/.yarn/cache/@envelop-response-cache-redis-npm-1.1.0-c8131b30a2-1151c5305d.zip/node_modules/@envelop/response-cache-redis/cjs/index.js:3:17)
    at Module._compile (node:internal/modules/cjs/loader:1097:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1151:10)
    at Object.require$$0.Module._extensions..js (/Users/vini/projects/order-bff/.pnp.cjs:24706:33)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.require$$0.Module._load (/Users/vini/projects/order-bff/.pnp.cjs:24546:14)
    at Module.require (node:internal/modules/cjs/loader:999:19)

Node.js v17.5.0

By installing<EMAIL_ADDRESS>on Yarn 3.2.2 with PnP enabled, I get many issues with dependency validation to a library called tslib.
To Reproduce
Steps to reproduce the behavior:

Create workspace via yarn yarn init
Set version to 3.2.2 yarn set version 3.2.2
Install @envelop/core
Install @envelop/response-cache
Install @envelop/response-cache-redis

Expected behavior
Dependencies should
Environment:

OS: MacOS
NodeJS: 17.5.0
@envelop/* versions:

"@envelop/core": "2.5.0",
"@envelop/response-cache": "3.1.0",
"@envelop/response-cache-redis": "1.1.0",

Additional context

Current workaround is to use Package extension to each of the subsequent packages, on yarnrc.yml:
packageExtensions:
  '<EMAIL_ADDRESS>    dependencies:
      tslib: '*'

  '<EMAIL_ADDRESS>    dependencies:
      tslib: '*'

  '<EMAIL_ADDRESS>    dependencies:
      tslib: '*'

  '<EMAIL_ADDRESS>    dependencies:
      tslib: '*'

  '<EMAIL_ADDRESS>    dependencies:
      tslib: '*'

  '<EMAIL_ADDRESS>    dependencies:
      tslib: '*'

@viniciuspalma do you want to resolve this?

@n1ru4l Sounds good, I'm actually trying to set an environment where I can test changes to the packages. Do you have some advices where to start?

You can clone this project locally, make your changes, build the packages using yarn build, then use yarn pack for generating a tarball of the package you want to try out, then install this into your local project.
Not the easiest solution, but it works.

I think we are fine with using importHelpers: false IMHO.
It adds a bit more code for CommonJS builds, but in my opinion, we should not add a dependency that is not needed for ESM 🤔 .
Thoughts @dotansimha

Related:

https://www.typescriptlang.org/tsconfig#importHelpers

Okay turns out I misunderstood the importHelpers, option. 😓  I thought it is only for handling import/export statements. However, it is for all kinds of helpers...
Thus a generic solution within bob seems potentially like a good solution. 🤔
For now, let's just add tslib as a dependency to all packages.

Yes, it removes the duplication of helpers, as far I understood.
In bob, it could verify if the tsconfig has this property and on dist/package.json files insert tslib as dependency or simply assume that this is a default and always include.

@n1ru4l PR created please let me know if something more is needed.

@n1ru4l Up!

@viniciuspalma SOrry for letting this slip! Releasing in a second!


[docs] update deprecation schedule

@jmdavis could you take a look at the subject?

Ah, I see that the comment is not outdated itself. So since October 2019 has passed what is the current date for removing deprecated symbols now?

The deprecation was delayed/forgotten. #7282 made the documentation private in december and hence the removal needs to be delayed as well.

@MoonlightSentinel Thanks for info. I updated deprecation schedule.


Dagger Node Keeps Freezing Every 4-6 hours on 2 Seperate VPS and requires Stop and Start to get it back running

I am currently running 2 nodes. 1 on Google Cloud VPS and 1 on CONTABO VPS. The issue that i noted that both my nodes will run for 4-6 hours each time before they no longer finalized. And i would have to do a manual stop and start and they will be back on again. You can see from the CPU chart the period that they are up and running and period that they are not which require a manual stop start.
#Node 1
Node 1 Pub ID: Hp6bdWqcFNKqYVAfJt59ktMuVteCttFSqyRuu2KhCSDy
This node is running on Google Cloud Series E2, 16vCPU + 32GB, 250GB SSD Persistent disk.
Node 1 has been running for around 2 days. I ran this cmd to extract some logs: "tail -n 5000000  config.log > ~/GCP_LOGS.txt"
Here is the link to download the logs: https://we.tl/t-Y2uKrhg7XU
I have also attached the GPU Chart for this node.

#Node 2
Node 2 Pub ID: n7rPKpu14FRGFfwFLssyg9UVkpud3twy22mW7YMypTh
This node is running on Contabo, 24vCPU + 120GB, 2.4 TB SSD
Node 1 has been running for around 1 day. I ran this cmd to extract some logs: "tail -n 2000000  config.log > ~/CONTABO_LOGS.txt"
Here is the link to download the logs: https://we.tl/t-pxCO2GlPVY

#Node 3
Node 3 Pub ID: F3gm2fudUdkGDNwMF8rNbyvMMZ3ozjwCjR2BdJw1684o
This node is running on AWS EC2 (Instance type c5.4xlarge), 16vCPU + 32GB, 250 GB SSD
Node 1 has been running for around 1 days. I ran this cmd to extract some logs: "tail -n 5000000  config.log > ~/AWS_LOGS.txt"
Here is the link to download the logs: https://we.tl/t-7ljBdETOgo

#Node 3
Node 3 Pub ID: F3gm2fudUdkGDNwMF8rNbyvMMZ3ozjwCjR2BdJw1684o
This node is running on AWS EC2 (Instance type c5.4xlarge), 16vCPU + 32GB, 250 GB SSD
Node 1 has been running for around 1 days. I ran this cmd to extract some logs: "tail -n 5000000  config.log > ~/AWS_LOGS.txt"
Here is the link to download the logs: https://we.tl/t-7ljBdETOgo

Looks like issues #6, #10, #12, and #13 are related to this. Since this is the original report, we will communicate via this one.

We hoped the recent 0.7.2 update would've resolved this issue, but it seems to be an issue with the epoch boundary process. The team is analyzing all the logs provided to see if the issue can be pinpointed.

May have just had this happen for the first time.
Contabo 16c VPS. My 24c is still running fine.
Looking at the logs it was finalizing fine and then just stopped at 20:53 and the logging stopped.
Restarted at 21:13.
Logs
https://drive.google.com/file/d/1-EP76Xit9OktcOPfdnyJb_4GaBmn9_5v/view?usp=sharing
Grafana Dashboard if it's useful.
http://<IP_ADDRESS>:3000/d/rYdddlPWk/node-exporter-full?orgId=1&from=now-3h&to=now&refresh=10s

We believe there's some issues related to the contabo hosting provider. While cost-effective, they seem to have some reliability issues. I'd suggest reaching out to your host provider for more support on your node's connectivity issues.


Perfome a small A/B-Test to decised between the two used frameworks

In order to deside which gui framework we will use, we should performe a small A/B-Test.
Summary
Perform an A/B-Test with a small group of end users.
Acceptance Criteria
Which criteria has to be reached to be accepted
None
Tasks
Which tasks are included to add this feature

[ ] find a small group of 2-5 users to test different implementations of the frontend.
[ ] perform a basic feature comparision between the two versions
[ ] compare speed and ressource usage of the two implementation
[ ] talk with the other members about the results and discuss the solution for our project.

Dependencies
Which dependencies are introduced to the project
None
Estimates
Estimated effort for completion: 5h
Additional Information
If it's not possible to compare the two implementation, because of missing features or not working on several platforms, I would choose the more feature complete version.

We carried out a simplified A/B test as part of the GUI decision.
This included user-friendliness, usability, feature scope and the UX of the GUI.
As developers, we also evaluated the performance, resource utilization and developer friendliness.
The participants were:

Anna Hegenberg
Mira Urban
Manuel Keidel
Patryk Hegenberg

The results are summarized as follows:

The Flutter variant is more user-friendly and easier to use.
The UX design is better with the Flutter variant.
The resource utilization seems to be similar, although only one debug build was tested with the Tauri variant.
The performance seems to be on a similar level
Developer friendliness is significantly higher with Tauri.

This led us to the conclusion to use the Flutter variant for the beta release, but to opt for the Tauri variant in the long term.
The design of the Flutter version will be adopted in Tauri and, if possible, all features will be transferred to this version.


Add internal_list key to MAINTAINERS

This change adds a reference to the Google group the maintainers are associated with.

LGTM. I amended the commit to prepend (maint) to appease the commit checker.


Glory to the Tux

What is your username and discriminator?
'Palamar#2291
Why did you join Discord Linux?
I am a Linux user and would like to join the Linux Discord community.
Where did you hear about Discord Linux?
I've heard of the Linux discord server on the Hypesquad server
What is the passphrase that was assigned to you by the bot?
Glory to the Tux

From simonizor :
The passphrase you have entered is not correct.  Please check the message that mentions you in the welcome channel to find your passphrase.

Closing as it has been much longer than 24 hours.


Excessive Whitespace in Footer - Visual Disruption

This issue reports excessive whitespace present at the bottom of the webpage's footer. This whitespace creates a visually unappealing layout and disrupts the overall design coherence.

@rajdesai17 someone already assigned for it, pls cgdck for other issues!

@rajdesai17 assigned it to you

@rajdesai17
changes you have to do are:

Remove the excessive whitespacing of footer

add transform: scale(1.2) hover to the links

Add links to my social icons , only for Linkdin and Github

Have you understand the task?? @rajdesai17

yes


Calendar UI - View

Note: for support questions, please use one of these channels:
https://github.com/angular/material2/blob/master/CONTRIBUTING.md#question.
This repository's issues are reserved for feature requests and bug reports.

Do you want to request a feature or report a bug?
a Calendar UI - View

What is the current behavior?

If the current behavior is a bug,
please provide steps to reproduce and if possible a minimal demo of the problem
via https://plnkr.co or similar.

Plunker Template: http://plnkr.co/edit/o077B6uEiiIgkC0S06dd?p=preview

What is the expected behavior?
Select days, months and year and time

What is the motivation / use case for changing the behavior?
I don't found and Calendar UI to Ionic2

Which version of Angular and Material, and which browser and OS does this issue affect?
Did this work in previous versions of Angular / Material?
Please also test with the latest stable and snapshot versions.

Other information
(e.g. detailed explanation, stacktraces, related issues, suggestions how to fix)

A calendar-style widget it something we'd like to look into eventually, but isn't on our radar before initial release. Feel free to re-file once we've had our 1.0 release.