getPoissonGating bug

Error when running getPoissonGating. This bug affects both master and dev branches as far as I can tell.
??? Index expression out of bounds. Attempted to access element 2. The valid range is 1-1.
More information
Error in ==> getPoissonGating Line: 52 Column: 6
Code generation failed: View Error Report
Removing failed compiled solve file: /Users/davestanley/GDrive/git/model-dnsim-kramer_IB/kramer_IB/study_d171112_t012604/solve/solve_ode_study_d171112_t012604.m
Error:

The relevant lines in getPoissonGating.m are:
dt=T(2)-T(1);
interval=T(end)-T(1);

I think this is working on the latest version of the dev branch. Let me
know if it still doesn't work and I'll look into it further.
On Sun, Nov 12, 2017 at 1:33 AM, Dave<EMAIL_ADDRESS>wrote:

Assigned #284 https://github.com/DynaSim/DynaSim/issues/284 to @jsherfey
https://github.com/jsherfey.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/DynaSim/DynaSim/issues/284#event-1337489435, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AB8qCUCeKsEAds_hB5jeacl82Uw5PFEKks5s1pEsgaJpZM4Qaxrm
.

Hey @jsherfey , i'm still getting the same error:
??? Index expression out of bounds. Attempted to access element 2. The valid
range is 1-1.
More
information
Error in ==> getPoissonGating Line: 52 Column: 6
            to: /projectnb/crc-nak/stanley/model-dnsim-kramer_IB/kramer_IB/study_d171206_t011211_DeltaFig8a_OnsetPoisson1/solve/sim1/solve_ode_20171206011325_541_mex

Again, it's the same line from getPoissonGating.m:
dt=T(2)-T(1);
interval=T(end)-T(1);

I'm not sure how to fix this, so I'm just going to work on an older version of dev until this gets resolved

Most likely it's not that simple, but anyways, according to the file...
if nargin<9, T=(0:.01:1000)'; end % ms
... T is supposed to be a column vector, did you double-check?

If that doesn't solve the issue, I guess it would help if you could show here the differences between a working version of the file (old version) and the current one (assuming the rest is the same, i.e., the calling mechanism, the main script of the model, etc.), otherwise all the differences should be showed...

Also the report by the Matlab Coder can be useful

I think the issue is that Total_time (e.g. a single value telling the max time point, T(end) ) was replaced with T (e.g., an array of time values) in getPoissonGating.m.
I guess I either need to update my code to work with this, or make getPoissonGating.m backwards compatible.
Actually, I've found the exact commit that Jason made on Nov 2: a9aaf0bb52bbda19aa60dc46ea15d09c02f5ee65
"use built-in DynaSim time vector instead of constructing one from dt"

In general, if we're going to make changes to core DynaSim functions that will affect not just their internal workings, but also their input-output behaviour, it would be good to inform people of these changes so they can update their code. We could use a new function name (e.g. getPoissonGating2.0.m) so that we could phase these modifications in and put a warning in the old function that it is being depreciated. This is how MATLAB does it, anyways.
@erik-roberts @asoplata, feel free to weigh in on what you think would be good procedures here.
This bug caught me right as I was finalizing my poster for SFN and the last thing I wanted to deal with at that time was hunting back through the commit history to find a working version (as I said, this bug even affected the master branch)

Yes, but there is no reason why an array cannot work, right? Once you adapt the code that calls the function, of course....
@jsherfey is there any reason why an array is preferred?
I can see one pro: an array contains the info about t_start t_end and dt, while just Total_time is limited by t_start equal 0 and dt equal to some value, which is pretty bad as dt should be consistent with dt in the solver to keep the same integration order... (of course same thing could be achieved by passing 3 arguments)

In general, if we're going to make changes to core DynaSim functions that will affect not just their internal workings, but also their input-output behaviour, it would be good to inform people of these changes so they can update their code. We could use a new function name (e.g. getPoissonGating2.0.m) so that we could phase these modifications in and put a warning in the old function that it is being depreciated. This is how MATLAB does it, anyways.

Agreed, these changes could (and probably should) be made more gradual, but I bet most of us would ignore things until the change is finally imposed anyways. But certainly there are two responsibilities here, one by the dev and another by the user, putting us in the dev skin, this is sth we should definitely consider.

This bug caught me right as I was finalizing my poster for SFN and the last thing I wanted to deal with at that time was hunting back through the commit history to find a working version (as I said, this bug even affected the master branch)

That was indeed very unfortunate. A lesson to be learned (putting me first as this sort of things have happened to me too): never update/pull/etc changes when running on a deadline (unless one strictly needs so, e.g., if there is a bug of some sort that was fixed).

The way I see it, the specific "bug" is solved, although it raised an important issue to discuss.
I would propose to close this specific issue and open another one about that matter...

I think I corrected this bug before submitting the manuscript. I actually
restored it to its original form.
There is now a mechanism "iPoisson" that wraps around getPoissonGating()
and is documented here:
https://github.com/DynaSim/DynaSim/wiki/Using-the-Poisson-mechanism
This is how to use it:
eqns='dV/dt=@current; {iNa,iK,iPoisson}; V(0)=-65; DC=2000; gext=.01';
data=dsSimulate(eqns,'tspan',[0 1000]);
dsPlot(data,'variable',{'V','gPoisson'});
The header for getPoissonGating has examples of using it without relying on
the mechanism, that should work in Matlab:
https://github.com/DynaSim/DynaSim/blob/master/models/getPoissonGating.m
For instance:
% % Example 1:
% baseline=1000; % Hz, baseline rate
% DC=1000; % Hz, steady component of the signal
% AC=1000; % Hz, oscillatory component of the signal
% f=10; % Hz, modulation frequency of the signal
% phi=pi; % radians, phase at which the signal begins
% onset=200; % ms, start time of signal
% offset=800; % ms, stop time of signal
% tau=2; % ms, synaptic time constant
% time=0:.01:1e3; % ms, time vector
% Npop=2; % size of target population
% s=getPoissonGating(baseline,DC,AC,f,phi,onset,offset,tau,time,Npop);
% dsPlot(s,'plot_type','waveform');
% dsPlot(s,'plot_type','power');
Do these examples work for you?
On Wed, Dec 6, 2017 at 2:48 AM, kupiqu<EMAIL_ADDRESS>wrote:

The way I see it, the specific "bug" is solved, although it raised an
important issue to discuss.
I would propose to close this specific issue and open another one about
that matter...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/DynaSim/DynaSim/issues/284#issuecomment-349561404,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB8qCW1QAfIo4hwUi3Ty1EKYSc6px2QHks5s9kbRgaJpZM4Qaxrm
.

Ok thanks @jsherfey  I'll give this a try

This example shows how to use getPoissonGating() to create an AMPAergic
synaptic input:
% eqns={'dV/dt=@current+Iampa(V); {iNa,iK}; monitor Iampa';
% 'Iampa(V)=-gexts(k,:).(V-0); s=getPoissonGating(0,DC,AC,f)';
% 'gext=.001; DC=25000; AC=25000; f=5; V(0)=-65'};
% data=dsSimulate(eqns,'tspan',[0 1000]);
% dsPlot(data,'variable',{'V','Iampa'});
On Wed, Dec 6, 2017 at 7:44 PM, Dave<EMAIL_ADDRESS>wrote:

Ok thanks @jsherfey https://github.com/jsherfey I'll give this a try
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/DynaSim/DynaSim/issues/284#issuecomment-349823795,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQFleUx5J6Dl1tYT_vwgiYHm-VFlCcMDks5s9zTygaJpZM4Qaxrm
.

Thanks I figured out how to use it. It was pretty straight forward
The problem was more with the fact that I was trying to debug other things at the same time and was not expecting the underlying code base to change.
If we are going to change how the function definitions work for front-end user-accessible functions, I think it would be good to fade these changes in gradually. This is especially the case when we're pushing these changes to master

I'll close this issue but perhaps we can discuss the procedure for this at the next meeting

I agree. I think the bug arose in the first place because the front-end
user-accessible function was changed by someone without discussing it and
without there being a procedure in place.
On Wed, Dec 6, 2017 at 8:56 PM, Dave<EMAIL_ADDRESS>wrote:

Thanks I figured out how to use it. It was pretty straight forward
The problem was more with the fact that I was trying to debug other things
at the same time and was not expecting the underlying code base to change.
If we are going to change how the function definitions work for front-end
user-accessible functions, I think it would be good to fade these changes
in gradually. This is especially the case when we're pushing these changes
to master
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/DynaSim/DynaSim/issues/284#issuecomment-349837191,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB8qCd8oaJoV1Gsn8ZPFJ4CcOUGlO2Taks5s90XogaJpZM4Qaxrm
.

In general, if we're going to make changes to core DynaSim functions that will affect not just their internal workings, but also their input-output behaviour, it would be good to inform people of these changes so they can update their code. We could use a new function name (e.g. getPoissonGating2.0.m) so that we could phase these modifications in and put a warning in the old function that it is being depreciated. This is how MATLAB does it, anyways.
@erik-roberts @asoplata, feel free to weigh in on what you think would be good procedures here.
This bug caught me right as I was finalizing my poster for SFN and the last thing I wanted to deal with at that time was hunting back through the commit history to find a working version (as I said, this bug even affected the master branch)

ideally the default IO would not change. but if a change is done, it should not affect default behavior and thus be backward compatible. to do this one could use varargin and check inputs or  tack on a final flag for using the new version, and then phase out the default behavior after a committee review.

In general yes, but in this particular case, I think the old behavior was buggy. If I'm not wrong, it utilized a fixed dt which caused two potential problems:

a mild problem: dt in the function is not associated to dt of the solver, so the integration order is messed up

an important problem: also the Poisson realization won't be consistent because of the distinct dt, events will appear in the solver happening earlier or later, if, as I think it's hapenning, each Poisson current timestep is read out by the solver file by a natural index...


prepare commit hash for audit

Codecov Report
Base: 99.62% // Head: 99.62% // No change to project coverage :thumbsup:

Coverage data is based on head (8d95af1) compared to base (a458b07).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##              1.2     #776   +/-   ##
=======================================
  Coverage   99.62%   99.62%
=======================================
  Files          48       48
  Lines        2429     2429
  Branches      353      353
=======================================
  Hits         2420     2420
  Misses          8        8
  Partials        1        1

Flag
Coverage Δ

production
99.35% <ø> (ø)

reference
99.91% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


UP_squared: Booting Zephyr over network

Update grub script and add documentation

Codecov Report

Merging #11705 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #11705   +/-   ##
=======================================
  Coverage   48.21%   48.21%
=======================================
  Files         279      279
  Lines       43308    43308
  Branches    10370    10370
=======================================
  Hits        20880    20880
  Misses      18282    18282
  Partials     4146     4146

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 c43a116...3428350. Read the comment docs.

@dbkinder Updated docs


Bio-Formats 5.8.2 release

See https://trello.com/c/d8L35ViM/27-open-pr-against-wwwopenmicroscopyorg

Looks good on snoopy


Release/5.0.1

Changelog
[5.0.1] - 2022-05-25
Fixed

Updated Setup Assistant keys for the macos_user resource to properly enable autologin after updating to 11.6.6
Updated required macOS minimums for the xcode resource to evaluate compatibility for the most recent Xcodes.

Excellent :)


update coredns configmap to rewrite for sonarqube

should fix issues with running with sonarqube locally

closing in favor of #69


Text/TextInput: Android now supports maxFontSizeMultiplier prop

Introduced by this commit: https://github.com/facebook/react-native/commit/4936d284df36071047ce776d9e2486c0371f7b97
Adam Comella
Microsoft Corp.

Yay! Thank you.


Windows & MacOS support.

Need confirmation about work stability on this systems. Will apriciate if somebody will confirm that plugin works on his system.

#7 will fix for windows.


[Bug]: Gameover dialog flickers to loss before going home

Bug Summary
When you click the 'Go Home' button from the GameOverDialog, the dialog quickly flickers to show 'You Lose' before navigating home
Detailed Description
See gif:

This is likely a result of clearing the store state before navigating to the home page
Current Behavior
No response
Expected Behavior
No response
Steps to Reproduce

I'd like to work on this!

Great! Hopefully the CONTRIBUTING.md file will have everything you need to set up, but feel free to ask any questions about setup or the bug itself here in the comments of this issue. Or if you're on discord, you can reach out on the cuttle server to chat with the other devs in realtime in the #code channel


Provide a way to change min_rank and max_rank values

This are currently defined as
  # Signed MEDIUMINT in MySQL
  #
  MAX_RANK_VALUE = 8388607
  MIN_RANK_VALUE = -8388607

in https://github.com/mixonic/ranked-model/blob/master/lib/ranked-model.rb#L8
But it will be nice if we could change them as options of the rank method. E.g.:
ranks ..., min_rank_value: 0, max_rank_value:<PHONE_NUMBER>

This to play nice with other gems (closure_tree's deterministic ordering) and to increase the range if necessary. For example postgre's integer ranges from -2147483648 to +2147483647.

I am wondering if you could do the following to set the MIN and MAX value
RankedModel::MIN_RANK_VALUE = 0
RankedModel::MAX_RANK_VALUE = 8388607*2

Closing due to age. Open to PRs on this concept though.


Make including path info in hash a kwarg

As discussed in person, it would be handy to have the option to not include the filename and modification time in the "binhash".

Should be pretty straightforward.


index.html not being copied across to ratpack resources

I have attempting to get this project running but this bit
index.html
sym-linked, built from node
Doesn't seem to work, is there something I special I have to do to copy the index file into my Ratpack resources? I am running Ubuntu
Thanks for the awesome project.

Think this was due to my gradle file having a typo, is it possible to symlink the index.html file to a different folder? Where does the symlink stuff get done? Thanks


Awesome stuff!

hey @RothAndrew, wanted to thank you for this, it's helped me out quite a bit!  I'm wondering what modifications you had to make to the base azure-cli image?

It's in the Dockerfile in this repo.

Oh I see what you are saying. The base image for this image is also an image I made. I'll have to look, hopefully I have it still laying around somewhere

https://github.com/RothAndrew/docker-azure-cli-ubuntu-latest/blob/master/dockerfile

Thanks!


Support for WINDOW clause

The syntax and semantics are described in section 7.15 of the SQL specification.
<table expression> ::=
  <from clause>
      [ <where clause> ]
      [ <group by clause> ]
      [ <having clause> ]
      [ <window clause> ]

<window clause> ::=
  WINDOW <window definition list>
<window definition list> ::=
  <window definition> [ { <comma> <window definition> }... ]
<window definition> ::=
  <new window name> AS <window specification>
<new window name> ::=
  <window name>
<window specification> ::=
  <left paren> <window specification details> <right paren>
<window specification details> ::=
  [ <existing window name> ]
      [ <window partition clause> ]
      [ <window order clause> ]
      [ <window frame clause> ]
<existing window name> ::=
  <window name>

<window function> ::=
  <window function type> OVER <window name or specification>
<window name or specification> ::=
    <window name>
  | <in-line window specification>
<in-line window specification> ::=
  <window specification>

This feature allows declaring a named window specification, which can then be used when calling window functions. It is useful to eliminate duplication when multiple window function invocations use the same window specification. The window specification can refer to other window specifications, allowing partial reuse.
Implementing this feature will require changing the parser, analyzer, and planner, but will not require any execution engine changes.

@Praveen2112 - is this still on your radar? FWIW, we'd love to see it implemented.

@JamesRTaylor Yes !! I'm working on it !! Parser part is completed , need to change the analyzer and planner for it

Any update on this issue, @Praveen2112?


[WIP] feat: Add dockerstats quickstart

Summary
Adds a quickstart for the Dockerstats receiver of Opentelemetry collector

Pre merge checklist

[x] Did you check you NRQL syntax? - Does it work?
[ ] Did you include a Data source and Documentation reference?
[ ] Are all documentation links publicly accessible?
[x] Did you check your descriptive content for voice and tone?
[x] Did you check your descriptive content for spelling and grammar errors?
[ ] Did you review your content with a subject matter expert? (e.g. a Browser agent quickstart is reviewed with a member of the Browser Agent team)

Dashboards

[x] Does the PR contain a screenshot for each of your dashboards?
[x] Do your screenshots show data?
[x] Has the sanitization script been run on each dashboard?

Alerts

[ ] Did you check that your alerts actually work?

@mangulonr

Hi @seemantk


[ALLUXIO-3002] Remove lock downgrade of the last node in inodetree

https://alluxio.atlassian.net/browse/ALLUXIO-3002
The use of downgradeLast in inode.createFile is risky and could lead to race conditions.
The downgrade to read lock in create file was based on the assumption that file node creation is an atomic operation that after the inode is created it would not be modified and therefore it's safe for other threads to read, in order to improve the throughput.
However, such assumption is not necessarily true as in the case that a getFileInfo discovers a file in UFS and creates an inode in Alluxio. The creation consists of two steps: (1) create the inode in the inodetree (2) complete the file with the block IDs generation. If the lock is downgraded, it's possible that a concurrent getFileInfo request of the same file accesses the partial state before the inode is completed. Since the code block of create and then complete is guarded by the lock on the inode list, the lock should not be downgraded.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16532/Failed Tests: 2org.alluxio:alluxio-tests: 2alluxio.master.file.ConcurrentFileSystemMasterCreateTest.concurrentListFilesExistingDiralluxio.master.file.ConcurrentFileSystemMasterCreateTest.alluxio.master.file.ConcurrentFileSystemMasterCreateTest
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16537/Failed Tests: 2org.alluxio:alluxio-tests: 2alluxio.master.file.ConcurrentFileSystemMasterCreateTest.concurrentListFilesExistingDiralluxio.master.file.ConcurrentFileSystemMasterCreateTest.alluxio.master.file.ConcurrentFileSystemMasterCreateTest
Test FAILed.

jenkins, test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16541/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16551/Failed Tests: 64org.alluxio:alluxio-tests: 64alluxio.cli.fs.command.CatCommandIntegrationTest.catalluxio.cli.fs.command.CatCommandIntegrationTest.catWildcardalluxio.cli.fs.command.CatCommandIntegrationTest.catDirectoryalluxio.cli.fs.command.CheckConsistencyCommandIntegrationTest.consistentalluxio.cli.fs.command.CheckConsistencyCommandIntegrationTest.inconsistentalluxio.cli.fs.command.ChecksumCommandIntegrationTest.checksumalluxio.cli.fs.command.CopyFromLocalCommandIntegrationTest.copyFromLocalDirNotReadablealluxio.cli.fs.command.CopyFromLocalCommandIntegrationTest.copyFromLocalLargealluxio.cli.fs.command.CopyFromLocalCommandIntegrationTest.copyFromLocalalluxio.cli.fs.command.CopyFromLocalCommandIntegrationTest.copyFromLocalOverwritealluxio.cli.fs.command.CopyFromLocalCommandIntegrationTest.copyFromLocalAtomicalluxio.cli.fs.command.CopyFromLocalCommandIntegrationTest.copyDirectoryFromLocalToExistingDirAtomicalluxio.cli.fs.command.CopyFromLocalCommandIntegrationTest.copyFromLocalTestWithFullURIalluxio.cli.fs.command.CopyFromLocalCommandIntegrationTest.copyFromLocalDirNotReadableInnerDiralluxio.cli.fs.command.CopyFromLocalCommandIntegrationTest.copyDirectoryFromLocalAtomicalluxio.cli.fs.command.CopyToLocalCommandIntegrationTest.copyToLocalalluxio.cli.fs.command.CopyToLocalCommandIntegrationTest.copyToLocalLargealluxio.cli.fs.command.CopyToLocalCommandIntegrationTest.copyToLocalRelativePathDiralluxio.cli.fs.command.CopyToLocalCommandIntegrationTest.copyToLocalRelativePathalluxio.cli.fs.command.CountCommandTest.countalluxio.cli.fs.command.CpCommandIntegrationTest.copyToLocalalluxio.cli.fs.command.CpCommandIntegrationTest.copyFromLocalDirNotReadablealluxio.cli.fs.command.CpCommandIntegrationTest.copyToLocalLargealluxio.cli.fs.command.CpCommandIntegrationTest.copyFromLocalLargealluxio.cli.fs.command.CpCommandIntegrationTest.copyFromLocalalluxio.cli.fs.command.CpCommandIntegrationTest.copyFromLocalOverwritealluxio.cli.fs.command.CpCommandIntegrationTest.copyFromLocalAtomicalluxio.cli.fs.command.CpCommandIntegrationTest.copyDirectoryFromLocalToExistingDirAtomicalluxio.cli.fs.command.CpCommandIntegrationTest.copyFromLocalTestWithFullURIalluxio.cli.fs.command.CpCommandIntegrationTest.copyFromLocalDirNotReadableInnerDiralluxio.cli.fs.command.CpCommandIntegrationTest.copyDirectoryFromLocalAtomicalluxio.cli.fs.command.DuCommandIntegrationTest.dualluxio.cli.fs.command.HeadCommandIntegrationTest.headSmallFilealluxio.cli.fs.command.HeadCommandIntegrationTest.headFileWithUserSpecifiedBytesalluxio.cli.fs.command.HeadCommandIntegrationTest.headWildcardalluxio.cli.fs.command.HeadCommandIntegrationTest.headLargeFilealluxio.cli.fs.command.LsCommandIntegrationTest.lsWildcardNoAclalluxio.cli.fs.command.LsCommandIntegrationTest.lsWithFormatSpecifierCharacteralluxio.cli.fs.command.LsCommandIntegrationTest.lsalluxio.cli.fs.command.LsCommandIntegrationTest.lsralluxio.cli.fs.command.LsCommandIntegrationTest.lsNoAclalluxio.cli.fs.command.LsCommandIntegrationTest.lsPinnedalluxio.cli.fs.command.LsCommandIntegrationTest.lsDirectoryAsPlainFileNoAclalluxio.cli.fs.command.LsCommandIntegrationTest.lsrNoAclalluxio.cli.fs.command.LsCommandIntegrationTest.lsWildcardalluxio.cli.fs.command.LsCommandIntegrationTest.lsHumanReadablealluxio.cli.fs.command.MkdirCommandIntegrationTest.mkdirComplexPathalluxio.cli.fs.command.MkdirCommandIntegrationTest.mkdirShortPathalluxio.cli.fs.command.MkdirCommandIntegrationTest.mkdiralluxio.cli.fs.command.MvCommandIntegrationTest.renamealluxio.cli.fs.command.MvCommandIntegrationTest.renameParentDirectoryalluxio.cli.fs.command.PersistCommandTest.persistTwicealluxio.cli.fs.command.PersistCommandTest.persistalluxio.cli.fs.command.RmCommandIntegrationTest.rmalluxio.cli.fs.command.RmCommandIntegrationTest.rmNotExistingDiralluxio.cli.fs.command.RmrCommandIntegrationTest.rmralluxio.cli.fs.command.StatCommandIntegrationTest.statFileFormatalluxio.cli.fs.command.StatCommandIntegrationTest.statDirectoryFormatalluxio.cli.fs.command.TailCommandIntegrationTest.tailFileWithUserSpecifiedBytesalluxio.cli.fs.command.TailCommandIntegrationTest.tailLargeFilealluxio.cli.fs.command.TailCommandIntegrationTest.tailSmallFilealluxio.cli.fs.command.TailCommandIntegrationTest.tailWildcardalluxio.cli.fs.command.TouchCommandIntegrationTest.touchalluxio.cli.fs.command.TouchCommandIntegrationTest.touchTestWithFullURI
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16556/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16577/Failed Tests: 1org.alluxio:alluxio-tests: 1alluxio.master.file.ConcurrentFileSystemMasterCreateTest.concurrentLoadSameDirMetadataNonPersistedDir
Test FAILed.

jenkins test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16578/
Test PASSed.


Failed to perform copy command due to error: OAuth token, SAS token, or shared key should be provided for Blob FS - (SUSE 12.X)

Which version of the AzCopy was used?

latest - 10.3.1

Which platform are you using? (ex: Windows, Mac, Linux)

NAME="SLES"
VERSION="12-SP4"
VERSION_ID="12.4"
PRETTY_NAME="SUSE Linux Enterprise Server 12 SP4"
ID="sles"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:12:sp4"
kernel - 4.12.14-6.23-azure
(marketplace image)

What command did you run?

Authenticate using secret key is successful:
env AZCOPY_SPA_CLIENT_SECRET= ./azcopy login --service-principal --application-id  --tenant-id< id>
INFO: If you set an environment variable by using the command line, that variable will be readable in your command line history. Consider clearing variables that contain credentials from your command line history.  To keep variables from appearing in your history, you can use a script to prompt the user for their credentials, and to set the environment variable.
INFO: SPN Auth via secret succeeded.
This is failing:
azcopy copy /azcopy/azcopy.tar.gz "https://mydatalakestorage.dfs.core.windows.net/mydatalakecontainer"
failed to perform copy command due to error: OAuth token, SAS token, or shared key should be provided for Blob FS
https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal

What problem was encountered?

The azcopy copy command will fail with the mentioned error:
failed to perform copy command due to error: OAuth token, SAS token, or shared key should be provided for Blob FS.
(The same output will be logged if authenticating using certificate instead of secret key)

How can we reproduce the problem in the simplest way?

This seems to be happening on SUSE version 12.x only - you can just deploy a SUSE 12.4 VM from marketplace and test the above commands
NAME="SLES"
VERSION="12-SP4"
VERSION_ID="12.4"
PRETTY_NAME="SUSE Linux Enterprise Server 12 SP4"
ID="sles"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:12:sp4"
kernel - 4.12.14-6.23-azure

If instead, i run the same commands (against the same ADLS2 container) on RHEL or SUSE latest versions, the command will be successful (both versions are coming from Azure marketplace - latest available version for each distro)
NAME="Red Hat Enterprise Linux Server"
VERSION="7.7 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.7"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.7 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.7:GA:server"
kernel - 3.10.0-1062.4.1.el7.x86_64
NAME="SLES"
VERSION="15"
VERSION_ID="15"
PRETTY_NAME="SUSE Linux Enterprise Server 15"
ID="sles"
ID_LIKE="suse"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:15"
kernel - 4.12.14-5.30-azure

Have you found a mitigation/solution?

No
I have noticed SUSE 12.4 is using keyutils 1.5.9 while SUSE 15 is using keyutils 1.5.10.
I have managed to install keyutils 1.6 on SUSE 12.4
https://software.opensuse.org/download/package?package=keyutils&project=security
zypper addrepo https://download.opensuse.org/repositories/security/SLE_12_SP4/security.repo
zypper refresh
zypper install keyutils
However, same error message is logged

It sounds like it might be a known issue. Can you see this comment please: https://github.com/Azure/azure-storage-azcopy/issues/452#issuecomment-503812803

It worked - thanks John :) i had looked everywhere but in that article

Any suggestions on where else we should document it?  E.g. where did you look? Maybe we should mention it there.


[RFC] new extension point IBeforeProcessingTransform

This PR adds a new extension point IBeforeProcessingTransform. Its method IBeforeProcessingTransform.Transform(SiteContext) is called after all pages and posts are loaded. This enables plugins to add additional information to a page's bag.
E.g. I've written this plugin to support series, which replaces the seriestag in the frontmatter with a list of all posts with the same series tag:
public class SeriesPageTransform : IBeforeProcessingTransform {
    private const string SeriesTag = "series";

    public void Transform(SiteContext context) {
        var allPages = context.Posts.Concat(context.Pages);

        var allSeries = from page in allPages
            let series = GetSeriesFromPost(page)
            where series != null
            group page by series;

        foreach (var series in allSeries) {
            var allPagesForSeries = series.OrderBy(p => p.Date).ToList();
            foreach (var page in series) {
                page.Bag[SeriesTag] = allPagesForSeries;
            }
        }
    }

    private static string GetSeriesFromPost(Page page) {
        object obj;
        return page.Bag.TryGetValue(SeriesTag, out obj) ? obj as string : null;
    }
}

I'm unsure about the name IBeforeProcessingTransform but I couldn't think of something better. (You know, the two hard things in CS :wink:). If you know a better name I'd appreciate it.
BTW, I had to make Configuration public so I can use it in my unit tests.

Excellent, this could also fix #270. @k94ll13nn3, can you test it for your issue?
You are absolutely right about the name, I can't find a good one either :smile:
Let's just roll with this one for now, a documentation on the wiki will do fine.
But I don't want Configuration to be public, only IConfiguration should be.
Could you reverse the change on Configuration and create a quick mock for your unit tests?
Or should we ship a Pretzel.Logic.TestingHelpers with an 'official' mock like System.IO.Abstractions is doing?

Yeah, naming is hard :laughing:
I reverted the changes to Configuration, it's internal again.
I don't think it's worth to introduce Pretzel.Logic.TestingHelpers.

Yep, the IBeforeProcessingTransform solved my problem :+1:


panic when image does not exist, warnings/errors have been emitted and running on CI or with CROSS_NO_WARNINGS=1

bors try

Does this still need to be a draft? Should be good to go, and since this is opt-in, we don't have to worry about breaking changes or anything.

I think this should be included in 0.3.0, however as it is breaking in a subtle way, I think emitting a true "cargo" style warning (so that githubs and other CI's problem matchers pick it up) for deprecation/wrongness is good, we can make the env var force the behaviour, and later toggle the behaviour to always work

Now that we've merged breaking changes for v0.3.0, this is ready for merging once all the conflicts have been fixed.

/ci try -t aarch64-unknown-linux-gnu

/ci try

/ci try


Fix project URL for kulfon, Adjust description #1

The project URL has changed recently. This PR fixes that. Also, the description is slightly updated.

Thanks for the update!


Update vasp german

Testing train.py running on Andes.
Getting some strange system error (bus error) with train_binaries_predict_ternaries.py. I am still checking.

Based on the GitHub issue that you mentioned din your last email
https://gitlab.com/ase/ase/-/merge_requests/3253
and based on this documentation
https://wiki.fysik.dtu.dk/ase/ase/io/io.html
we should safeguard ASE from using multi-threading by setting parallel=False. However, your PR does not do this anywhere.
How did you fix the errors that I was getting?

It is fixed from the ASE library itself (conda environment).

parallel=False is put in the ASE library:
/lustre/orion/world-shared/cph161/jyc/andes/sw/anaconda3/2022.10/envs/hydragnn/lib/python3.8/site-packages/ase/io/vasp_parsers/vasp_outcar_parsers.py

I think it runs now. You can merge if it looks ok.


Getting rid of Line Fill For StockLines/SmoothLines

Before filing an issue please ensure the following boxes are checked, if applicable:

[x ] I have searched for existing issues
[ x] I have provided detailed instructions that can reproduce the issue (including code and data necessary)

So I want to use either the StockLine or SmoothLine to represent a multiple line chart graph, however I haven't been able to get rid of the default fill area under each of the line. Does anybody know how I would manage that?

Check toggle options.showAreas

Thanks that's exactly what I needed, but on a side note do you know how I can just show the area for a certain line and not all the lines I have in the chart?


Allow instantiation of models without a spec (use default values)

Prerequisite to programmatically building a network of models

Addressed by f75cf3b973a56ffdbfbbd983954b83f9643ae972


Automated multiarch docker builds with travis ci

This is the setup and automated build process for multiple architectures.
This was pretty much just lifted whole cloth from https://github.com/moikot/golang-dep
@joshuamorris3 you just need to setup travis.ci with your github account & add your docker login.
This will mean that you can run this on a raspberry pi or other arm device without having to rebuild on the device.
Its already up on https://hub.docker.com/r/gdunstone/namecheap-ddns-update if you want to compare or try.

I just added build status, but that will point to my version of the repo. when you get setup its pretty trivial to change.


Copy and Cut to Clipboard not working in Safari or App Containers like Unite/Fluid

code-server version: 1.939-vsc1.33.1
OS Version: Ubuntu 18.04 LTS
Safari Version: 12.1 on macOS Mojave

Description
When using Safari or any application container that uses Safari as the engine (such as those generated by Unite or Fluidapp -- my favorite way to use code-server), highlighting text and pressing Cmd+C, Cmd+X, or choosing "Copy" or "Cut" from the Edit menu has no effect. Pasting after doing any of those things results in the previous contents of the clipboard being pasted. Chrome does not have this issue.
Steps to Reproduce

Copy text to your clipboard from any text file or website outside of code-server
Open code-server in Safari and highlight text in an open file
Press Cmd+C
Press Cmd+V. The text copied in Step 1 will be pasted.

Thanks for this incredible project!

Playing around with different releases, this commit last night seems to be the culprit: https://github.com/codercom/code-server/commit/2bc6e1a457b4ca5298f5207d164a3699ec443bfc

Any update on a release date for this fix?

I'm also running into this and it's pretty annoying.

I managed to downgrade with out any problems - just use the same settings and execute the older build file. It’s not broken on the version below :)
I haven’t updated to the newer version yet as i’m sure this bug still exists.

@BaileyJM02 Hey, faced the same issue on iPad, which version do you use now?

Any workarounds for this in the short-term?

Long-term is downgrade to the version prior to this commit: https://github.com/cdr/code-server/commit/2bc6e1a457b4ca5298f5207d164a3699ec443bfc I mean you can always use another browser but I haven’t seen anything related to this within any commits yet.

So it's the copying that doesn't work while the paste works fine?
We try to use the clipboard API if navigator.clipboard exists (we call navigator.clipboard.writeText()). If permission has been denied it will fail silently (we need to add an error popup message for this).
If navigator.clipboard doesn't exist it inserts the text to copy into an input then runs execCommand("copy"). We should show a message when that fails, too.

Additionally, if permission has been denied we should also fall back to the execCommand method.

Yeah i didn’t have a lot of time to dig that deep, but suffice to say, regardless of what’s supported, the current implementation results in a broken copy (as in I can’t even copy out of the editor to a notepad)

@code-asher I also get some errors such as:
 when using the last version before copy and paste was broken.
Any update on progress? Really wanna update to see if it fixed the memory hog error.

I have the save issue on IpadOS 13. With version 1.1156-vsc1.33.1. Can not copy or cut anything.

Just for iPadOS, I wanted to share a hack I've been using locally to achieve full clipboard functionality (please see the commit linked above).
Maybe it will be useful to anyone similarly desperate to access code-server on an iPad, but unfortunately in its current form it isn't pull-request appropriate. It's the best I could manage via editing the patch file by hand.

The copy/paste mechanism in question has been entirely replaced with v2 so I'm going to close this. The only clipboard issues I'm aware of now are #1106 and #1015.


Mean read quality calculation in guppyplex.py

In guppyplex.py you have a formula for mean read calculation:
def get_read_mean_quality(record):
return -10 * log10((10 ** (pd.Series(record.letter_annotations["phred_quality"]) / -10)).mean())
Although this is technically correct if one wants to get the mean on the probability scale, aren't these scores meant to be averaged at the log-scale (phred scale)? This severely biases the value towards lower qualities, for example the sequence of bases [10,10,10,10,10,10,10,10,2,1] would have 8.3 score on a linear scale, but has 6.53 as a result for your calculation.
None of my reads pass your default filter of 7, for example:
[4, 7, 6, 10, 3, 6, 14, 3, 3, 11, 5, 7, 5, 3, 3, 11, 6, 11, 2, 4, 4, 2, 5, 2, 3, 3, 7, 10, 3, 15, 15, 4, 3, 4, 13, 4, 4, 15, 2, 5, 8, 10, 3, 4, 3, 3, 2, 4, 5, 5, 5, 5, 2, 2, 5, 3, 3, 6, 4, 3, 2, 3, 9, 2, 5, 9, 4, 3, 4, 5, 5, 11, 10, 2, 4, 9, 2, 2, 2, 3, 5, 4, 4, 3, 10, 7, 3, 6, 5, 5, 3, 6, 10, 4, 4, 4, 4, 3, 8, 3, 9, 5, 9, 2, 7, 6, 3, 7, 4, 4, 3, 4, 2, 4, 4, 11, 4, 6, 2, 3, 3, 4, 6, 3, 4, 6, 4, 3, 5, 4, 2, 2, 4, 4, 3, 7, 2, 7, 3, 7, 8, 8, 4, 2, 8, 3, 4, 3, 4, 2, 2, 3, 10, 3, 3, 2, 7, 5, 8, 11, 3, 4, 4, 1, 2, 2, 4, 6, 2, 5, 5, 2, 3, 4, 3, 8, 2, 3, 4, 3, 4, 8, 6, 13, 13, 6, 10, 20, 17, 8, 4, 6, 7, 8, 5, 4, 3, 4, 4, 3, 3, 6, 3, 7, 6, 6, 7, 5, 3, 3, 5, 2, 3, 10, 6, 5, 3, 4, 5, 5, 7, 4, 4, 13, 7, 2, 3, 5, 2, 7, 10, 3, 4, 5, 5, 4, 10, 7, 4, 3, 8, 4, 2, 2, 1, 4, 5, 15, 6, 4, 3, 4, 3, 3, 7, 10, 4, 4, 8, 6, 5, 2, 3, 3, 3, 8, 6, 5, 6, 6, 10, 7, 11, 10, 11, 10, 8, 6, 8, 4, 6, 2, 4, 7, 8, 2, 4, 6, 3, 12, 9, 4, 10, 10, 4, 8, 4, 3, 3, 9, 12, 5, 12, 1, 3, 6, 2, 3, 1, 2, 3, 3, 2, 7, 9, 3, 9, 13, 9, 3, 8, 6, 7, 2, 8, 7, 2, 9, 7, 3, 2, 5, 3, 4, 2, 3, 2, 3, 3, 4, 4, 4, 2, 7, 2, 3, 7, 8, 3, 4, 4, 2, 5, 7, 5, 4, 4, 3, 7, 5, 7, 5, 12, 13, 3, 14, 12, 6, 8, 8, 12, 5, 4, 5, 7, 5, 8, 4, 6, 11, 8, 16, 17, 12, 3, 6, 4, 3, 3, 1, 5, 14, 20, 13, 7, 4, 3, 2, 6, 3, 2, 5, 7, 10, 3, 2, 7, 3, 6, 5, 4, 10, 5, 4, 5, 2, 3, 2, 3, 9, 3, 4, 3, 5, 4, 6, 8, 8, 10, 4, 3, 1, 4, 2, 5, 3, 5, 3, 4, 3, 5, 4]
In the meantime, this is my quality tab from MinKNOW:

Is this intended?

Hi,
that is actually very interesting, and to me looks like an unintended feature. Maybe it would be better to rely on quality filtering performed by tools as NanoFilt?
Simone


OCTOPUS-602: Changes added for Customization script

OCTOPUS-602: Changes added for Customization script

Raising a PR for Customization Script changes

/lgtm

/approve


Searching for binomials does not return trinomials

This is probably already planned and just not implemented yet, but when searching with a binomial, it's important that the trinomials of that binomial are returned in the search results just as in the CoL public interface. (As a heads up, this example dataset does not include all of the infraspecies in CoL, but I'd expect Leptoiulus trilineatus nigra to be returned when searching for Leptoiulus trilineatus.)
Oddly, when searching with just the species epithet, trilineatus, the trinomials are returned but not the binomial.
Ideally if search can return results for abbreviated genera (e.g., L. trilineatus) and partial names (e.g., neatus)  that would be extremely useful, too. The current CoL search only seems to be able to do partial match on the prefixes and not on suffixes. In the past, the CoL public search was able to do prefixes, middle parts of names, and suffixes.

Indeed this is wrong. Not sure why it does that, @ayco-at-naturalis would you expect this?
Binomial search only returns binomial
http://api.col.plus/dataset/2046/name/search?q=Leptoiulus trilineatus
even though the trinomial exists:
http://api.col.plus/dataset/2046/name/search?q=Leptoiulus trilineatus nigra

Searching and ranking results is a tricky game.
Personally I would prefer a fuzzy token based search that allows to hit any part of the name with 1 fuzzy char match and the scientific name normalization which includes gender stemming and removal of silent h and double letters. It would not do prefix or suffix match as this yields entirely different results which are a very different use case in my mind. Prefix search should exist though as a separate service to support autocompletion. Maybe we need to spec out the search behavior better?

This is odd, I suspect it has something to do with the maximum length of the tokens (ngrams) the sci name broken up into. I might be though that we need another analizer besides the one we already have

Looking closer into Geoff's remarks, it seems clear that Elasticsearch's auto-complete query does not satisfy our use case(s).
I currently see two possible ways ahead:

Use the auto-complete mechanism only for auto-completion i.e. to fill up the search box. Then the user has to press enter and a more heavy and savvy query mechanism is used. Probably straight ngram queries, or full-text search or both. This way auto-completion keeps working speedily. Since we only use it to help the user fill up the search box, we don't even need to apply the query constraints from the facets, so it may even work faster than now. This probably also requires some redesign of the frontend.

Ditch the auto-complete mechanism altogether in favour of ngrams/full-text search. In principle this is better, but it might be too heavy for auto-complete purposes.

Like I have written in my remark above I believe we have 2 use case:
a) autocomplete, mostly for populating filter forms. This should do a prefix based search I think, matching on substrings of a token I dont think is really needed.
b) do the real search. Here I always thought we do regular token based searches with an analyzer that normalizes a name in a way we support fuzzy search for often misspelled cases (e.g. silent h y->i etc). That means only match on entire name tokens, not ngrams or other partial matches. I use token here in the sense of a lucene token stream that the analyzer produces. I.e. 4 tokens Abies alba subsp alpina are kept for the string Abies alba subsp. alpina

separating these two into different services is probably wise to do

Are you sure we don't need ngrams? With ngrams searches, too, the query string is brokup up along word boundaries, so it gives you to best of both worlds. If a user types (.e.g.) "rilinea", do we not want "Leptoiulus trilineatus nigra" to come back?
The "fuzzy" aspect of the search is accomplished by name normalization (which is already happening in the simple auto-complete phase by the way).
Note that both the weakly normalized and the strongly normalized names are already tokenized as it is. Only with tokens that start from the beginning of the word, which now seems to be our problem.
But anyway, yes, we should split the current service into a simple auto-complete service. That service might as well return a list of strings, rather than full-blown NameUsageWrapper instances.
Plus another service that implements what's discussed here.

I don't think its very useful to search for rilinea. It might even clutter real results in some cases.
But as we lack proper use cases this is potentially wrong ;)

and yes, the autocomplete could return sth really simple like a generic id & label object so we can reuse that for all autocompletions

@mdoering question: the scientifc names ending up in the Name's scientificName field, do they include rank and/or hybrid markers? Or are these normalized away in the import process? If not, we should probably include them as "stop words" so their presence or absence in name has no influence on whether one name matches another.
If it is important that all such markers are filtered out, we must do it programmitically using the GBIF RankUtils class. If it's OK to only filter away to most common ones (like subsp.) - and take our chances with the rest - we can create an Elasticsearch stop word token filter.
If programmatically, this should then probably the first normalization, even before the SciNameNormalizer normalizations.
Then finally, to accomodate Geoff's request to match on abbreviated genus epithets, we must also store a version of the name (if sub-generic) with the genus epithet, eh, abbreviated. This is not necessary while the user has typed less characters than the maximum ngram token length. However, as this issue makes clear, after that we must switch to another analyzer, probably a combination of straight lowercase comparison and the standard (full-text) analyzer.
Note that there is always an area, between the maximum ngtam token length and the full length of a specific or subspecific epithet, where all matches suddenly disappear, because neither the auto-complete analyzer, nor the full-text analyzer, nor lowercase comparison (from the start) will work, But well ... it's search
What is your take on this?

the name.scientificName is generated from the parsed name parts using the NameFormatter which should include the hybrid sign and rank markers. Also quotes for cultivars and other non regular latin bits. The scientificName can also be just anything in case of unparsable names, e.g. virus names.
For parsed names it is easy to generate a canonical name that excludes all of the above.
Just use the NameFormatter to generate the simplest possible string, e.g a bi/trinomial with nothing else. See various Name.canonicalName() methods. Said that I am not exactly sure why we would want to do that. I would need more time to dive into the search details again.

It's just so that if the user types "Larus fuscus fuscus" and the scientific name happens to be "Larus fuscus subsp. fuscus", that still counts as a 100% match. Anyway, I will skip this part for now, and only include the name-with-abbreviated-genus version in the index

yes. And if a user types "Larus fuscus" it should also hit 100% names such as "Larus maritima var. fuscus". Ranking the various 100% matches is yet another problem. The higher the taxonomic rank the better I think. And the closer to the start of the name string the better. So "Larus fuscus var. maritima" should rank lower I reckon. But thats not crucial now, most ordering the UI uses will be alphabetically anyways

btw, here is the EDIT CDM name search Yuri mentioned that he liked best in Rome 2013:
http://api.cybertaxonomy.org/col/name_catalogue/fuzzy
I cannot get anonymous access to the code yet, but you can browse it:
https://cybertaxonomy.eu/cdmlib/source-repository.html

EDIT CDM code is mirrored to github: https://github.com/cybertaxonomy/cdmlib
There are also docker images for the cdm-server: https://hub.docker.com/r/cybertaxonomy/cdm-server

@ayco-at-naturalis can we close this?


rcb: remove async implementation

and improve the simple one by:

using geometry::BoundingBox to keep track of min and max
keep track of the sum of each split
use crate::partial_cmp to use half as much float comparisons
don't push work on rayon's back for small sets (currently, point sets with less than 4096 elements)

depends on #164

Codecov seems to complain because lot of previously-covered lines were deleted? Though the coverage diffs are all on the positive side (except for the spurious vnfirst :/)


Seed value ignored? Reproducibility not given.

We observed different behaviors depending on the OS.
Given this code:
seed1 = 2
seed2 = 3
set.seed(1)
library(xgboost)
d = matrix(runif(1000), nrow = 200)
y = 3 + d %*% runif(ncol(d), min = 0.1, max = 5) + rnorm(nrow(d), sd = 10)
d = xgb.DMatrix(data = d, label = y)
set.seed(seed1)
m = xgb.train(data = d, nrounds = 3, objective = "reg:linear", lambda = 0.4, alpha = 0.2, booster = "gblinear")
p1 = predict(m, newdata = d)
set.seed(seed2)
m = xgb.train(data = d, nrounds = 3, objective = "reg:linear", lambda = 0.4, alpha = 0.2, booster = "gblinear")
p2 = predict(m, newdata = d)
all(p1 == p2)

On OSX this will be always true. Even if seed1 and seed2 are different.
On Linux this will be always false. Even if seed1 and seed2 are the same.
For Windows in test I made some time ago it seemed like it has the same behavior as OSX.

Don't think multi-threading is the error. Seeds were set below either by passing 'seed' param to xgb.train or by using R's set.seed() function.
Independently verified (by extracting value of .Random.seed) after calling set.seed() that seed was indeed being changed (it was).
nthread was set to 1 for both training/test runs with the same model parameters. Predicted probabilities appear below and are identical for two different seed values.
Predicted probabilities (seed=1):
0.4745588005
0.9879690409
0.5989014506
0.9906733632
0.5989014506
0.9928959012
0.1146880165
0.9928619266
0.9917168021
0.9958292842
Predicted probabilities (seed = 2):
0.4745588005
0.9879690409
0.5989014506
0.9906733632
0.5989014506
0.9928959012
0.1146880165
0.9928619266
0.9917168021
0.9958292842

Can confirm seeing exact same behavior (with exact same parameter settings), though different predicted probabilities in Python version.
Predicted probabilities (seed = 1):
0.141121
0.98446
0.805141
0.949947
0.805141
0.979856
0.511622
0.990588
0.985136
0.987054
Predicted probabilities (seed = 2):
0.141121
0.98446
0.805141
0.949947
0.805141
0.979856
0.511622
0.990588
0.985136
0.987054

I'm seeing this behavior as well on macOS, using nthread=1 and different values of seed, including seed=0, which according to the docs should disable a specific seed. The outputs from the engine are unchanged.
Versions:
macOS 10.12.6
Python 3.6.4
xgboost==0.71


An option whether to show popover on the page or not

Is your feature request related to a problem? Please describe.
It disturbs a lot when there are some warnings always displayed on the page. For instance, when u are using console.log to debug and it will be caught by eslint. And I found it not easy to use since the state of closing is not saved. Every time I refresh the page, the popover is always displayed even if I chose to close last time.
Describe the solution you'd like
The solution is to add an option to determine whether to show the popover on the page. And btw to add a local cache for the state of closing.  If it's suitable,  I'd like to submit a PR for this feature.
Describe alternatives you've considered
No response
Additional context
No response
Validations

[X] Read the docs.
[X] Read the Contributing Guidelines.
[X] Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.

https://vite-plugin-checker.netlify.app/configuration/config.html, does initialIsOpen meets the requirement?


Recommended lifetime of HttpClient? (documentation request)

First of all, thanks for making this.  I wasted much time with a different library first, and life got much better when I switched to yours.
I have an app with a server that listens to several endpoints.  One of them is /clocktick.  In order to test this app, I made a tester which assigns to each endpoint a key on the keyboard.  So, when I press enter the tester app sends an empty POST request at '/clocktick'.
I have noticed that if I hit enter quickly (say, once per second) the requests make it through.  But if I stop and wait for six seconds, and then hit it, the request will get dropped and I will get an exception when client.request is called (read_until: An established connection was aborted by the software on your host machine).  I noticed a timeout in your README.md of 5 seconds--it seems like HttpClient holds a connection open for some duration, and if I catch it while that connection is closing I have the problem.  If I wait longer, there is a delay for the first request--perhaps it is reopening a connection?
I create an instance of HttpClient when my program starts up and pass pointers to interested classes so they can each use it (i.e. dependency injection).  I'm thinking maybe it would be better if the client was created right before it was needed, and then disposed of until next use--that way there would be no risk of catching it in the 5-seconds-later window where it doesn't work.  Would that make sense?
I plan to investigate using Simple-WebSocket-Server to propagate clockticks instead--but I do still plan to use Simple-Web-Server for other resources and it would give me a nice happy feeling if I understood a bit more about what was happening regarding those timeouts.  This issue is to request that you expand the readme a bit so that users of your library are better prepared to use it in a way that makes sense.
Also, if this is basic knowledge about HTTP that a typical user should already know, then I apologize and thank you for your time.

The HttpClient is very basic, and in this case I would wait with constructing HttpClient until I had the data ready to send. The reason why there is a separate constructor and request method is that you can send several request in the same connection. If it is a good idea to establish the connection already at the constructor is another discussion, but in C++, having extra functionality in the construction of an object is not uncommon. std::thread is a good example of this, and you are free to delay the construction of the object in many ways, for instance using std::unique_ptr instead to store the client instance.
You can change the request timeout in the HttpServer constructor, default is 5 seconds if I remember correctly, and 30 seconds on content. I should maybe document a bit more, you are quite right there! I'll have a look at this library during the summer, and most likely implement Simple-Web-Server 2.0 that is fully asynchronous (see the enhancement issue, and feel free to add your input).
Yes, I would suggest using Simple-WebSocket-Server, which is already fully asynchronous, for full-duplex communications, like clockticks if I understand the application correctly, to and from a web client. If you want to write the server in C++ that is:) My initial thought of this library was streaming and more heavy processing tasks, however, which it should be able to handle.
Sorry for the late response!


The Adapter doesn't connect

This is the Message in oibroker's log:

tradfri.0
2017-08-18 09:25:19.461
error
unhandled promise rejection: No security parameters given for the resource at coaps://gw-*****************

When did you install the adapter? I changed the behaviour for connection by hostname a few days ago, it should have fixed the issue you mention.

doesn't seem to be relevant... closing


Yaml2Csv.convert returns csv with last column blank

This is such a useful tool - thanks for making it! I am having one problem, though, and I'm not seeing an obvious reason.
When I call LocalesExportImport::Yaml2Csv.convert(['es.yml, fr.yml, it.yml, de.yml], 'output.csv'), output.csv will have a column for "de_value", but all the rows are blank (whereas the actual file is not). When I change the order of the filenames in the array, the last one is always blank, but the files that do get converted are converted correctly.

Nevermind this - the issue was a typo on my end 😳

Hello! From the first comment I see you've forgot to close the matching '-s, right?
No problem, good that it was not a bug. Thank you for feedback!

Ha, that was just a typo in my comment, but good catch. (fixed now)
Actually, you might be interested in this behavior. The typo was a mismatch in keys en.yml has a key called assistance and de.yml had the key misspelled - assitance. As it is now, I believe this program uses the first file's keys as the keys to match. Not sure if there'd be a use case for wanting to grab any additional keys from the other files....but perhaps an addition for the future.
Thanks again!


POWERLEVEL9K_VCS_GIT_HOOKS does not work until .zshrc is sourced

So unless I source my .zshrc file manually I don't see any change in my vcs cli. I'm using zsh installed via Brew (zsh 5.4.2 (x86_64-apple-darwin15.6.0)) on mac osx 10.11.6 with iTerm2 3.0.15. My environment variables are set to be
export POWERLEVEL9K_VCS_GIT_HOOKS=(vcs-detect-changes git-untracked git-aheadbehind git-tagname)
And I've tried with both the export and without the export but it still keeps showing the stash count when I open a new terminal. The only way it goes away is by sourcing the file. Is there something else I should try?

Just to get you right: You do not want to see stashes, right?
In that case your POWERLEVEL9K_VCS_GIT_HOOKS looks good, but it must be defined before you source the theme or your ZSH framework.

Ah!! That is probably what it is. I will check.

It fixed it! Thanks!


Add Ruby 3.1 to CI matrix

To get CI running I needed to switch to a supported setup-ruby action (ruby/setup-ruby) and remove the trailing '.x' from each of the version strings.

Thanks for your contribution @petergoldstein!


Fix requirements, add contributors, pin version.

ping @gracieflores, @ldko, this is ready for review.

The changes look good and thanks for fixing what I missed. 👍🏼


Re-selecting region temporarily connects to outdated selection corner

Steps to reproduce:

Start cleave.
Create a selection with the mouse.
Start a second selection with the mouse, but don't move the mouse yet.

Now the new region is connected to the bottom-right corner of the old region until you move the mouse:

Fixed with this commit


APT whitelist request for go-bindata

Now apt fails with:
E: Unable to locate package go-bindata
For an example, see: https://travis-ci.org/ginabythebay/poltroon/jobs/168504154


UI may have a memory leak

Embassy Metrics page becomes unreachable (tab seems to crash) and gives 'out of memory' error.

Reported by: @kn0wmad

I cannot reproduce. @kn0wmad please try to reproduce this while taking occasional memory snapshots from the browser.

With the exception of the error messages, the results are similar to this issue, happening on same page:

@MattDHill are you attempting to reproduce with Mocks only? I anticipate this is not something that can be detected by largely static data.

@MattDHill are you attempting to reproduce with Mocks only? I anticipate this is not something that can be detected by largely static data.

Correct, no love testing to date. @kn0wmad taking snapshots of the browser memory tab over time should reveal a leak.

Will do

@kn0wmad have you had a chance to collect that data?

I took several snapshots and did not see any drastic data.  I'm wondering if this is related to the healthcheck process that was destroying my system.  Could that produce this result?

Yes, that's most likely it IMO. We should close this ticket and address if/when if happens again.

Closing for now.  Will keep an eye on possible causes.

@kn0wmad a healthcheck process that hurts your system wouldn't change anything about the memory footprint of the UI which runs on an entirely separate machine. It is almost certainly the case that it would have zero impact here. If we can't reproduce we can leave this closed but keep in mind that the idea presented as a potential cause is not consistent with how things work.

I don't think we can conclude that the "out of memory" error originated with the FE. It seems possible the FE was displaying this error because it was thrown by the BE.

We absolutely can. That error is browser originated.

Then this issue should not be closed

Monitored the page.  Memory use fluctuated from 45 to 128 MBs.  Always went back down.  No evidence of leak.


fix: Adjustting asyncapi and requirements versions

Codecov Report

Merging #186 (565adfb) into main (a5df034) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #186   +/-   ##
=======================================
  Coverage   97.11%   97.11%
=======================================
  Files          11       11
  Lines         900      900
=======================================
  Hits          874      874
  Misses         26       26

Flag
Coverage Δ

unittests
97.11% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

asynction/types.py
100.00% <ø> (ø)

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 a5df034...565adfb. Read the comment docs.


Cop Gemspec/OrderedDependencies breaks when parsing a frozen gem name.

Expected behavior
Gemspec/OrderedDependencies parses frozen gem names correctly.
Actual behavior
The cop chokes when trying to call downcase after parsing a frozen gem name. The problem seems to come from this line of code since str_content returns nil for a gem name that is explicitly frozen.
Stack trace of the error:
NoMethodError:
  undefined method `downcase' for nil:NilClass

./lib/rubocop/cop/mixin/ordered_gem_node.rb:19:in `case_insensitive_out_of_order?'
./lib/rubocop/cop/gemspec/ordered_dependencies.rb:67:in `block in investigate'
./lib/rubocop/cop/gemspec/ordered_dependencies.rb:104:in `block in dependency_declarations'
./lib/rubocop/ast/node.rb:575:in `block in visit_descendants'
./lib/rubocop/ast/node.rb:185:in `block in each_child_node'
./lib/rubocop/ast/node.rb:183:in `each'
./lib/rubocop/ast/node.rb:183:in `each_child_node'
./lib/rubocop/ast/node.rb:574:in `visit_descendants'
./lib/rubocop/ast/node.rb:576:in `block in visit_descendants'
./lib/rubocop/ast/node.rb:185:in `block in each_child_node'
./lib/rubocop/ast/node.rb:183:in `each'
./lib/rubocop/ast/node.rb:183:in `each_child_node'
./lib/rubocop/ast/node.rb:574:in `visit_descendants'
./lib/rubocop/ast/node.rb:260:in `each_node'
./lib/rubocop/cop/gemspec/ordered_dependencies.rb:102:in `dependency_declarations'
./lib/rubocop/cop/gemspec/ordered_dependencies.rb:65:in `each'
./lib/rubocop/cop/gemspec/ordered_dependencies.rb:65:in `each_cons'
./lib/rubocop/cop/gemspec/ordered_dependencies.rb:65:in `investigate'
./lib/rubocop/cop/commissioner.rb:96:in `block (2 levels) in invoke_custom_processing'
./lib/rubocop/cop/commissioner.rb:105:in `with_cop_error_handling'
./lib/rubocop/cop/commissioner.rb:95:in `block in invoke_custom_processing'
./lib/rubocop/cop/commissioner.rb:92:in `each'
./lib/rubocop/cop/commissioner.rb:92:in `invoke_custom_processing'
./lib/rubocop/cop/commissioner.rb:43:in `investigate'
./lib/rubocop/rspec/cop_helper.rb:71:in `_investigate'
./lib/rubocop/rspec/cop_helper.rb:25:in `inspect_source'
./lib/rubocop/rspec/expect_offense.rb:61:in `expect_no_offenses'

Steps to reproduce the problem
Attempt to run Rubocop with a gemspec file like the following:
spec.add_development_dependency "rspec".freeze
spec.add_development_dependency "rubocop".freeze

RuboCop version
$ rubocop -V
0.58.0 (using Parser <IP_ADDRESS>, running on ruby 2.5.1 x86_64-linux-musl)

Thanks for the feedback. I confirmed this reproduction and I opened a PR #6087.


using Basic corrected tiles as input for ashlar

Hi! I am applying cyclic immunofluorescence and would like to try ashlar to stitch and align the images.
I have been using Basic in ImageJ (flatfield correction only) to correct for shading correction of each individual tile, as derived from a czi file. For each individual cycle I have a folder with the individual tiles named (C1_001, C1_002 etc) for which C represents the channel, and the 001 the position of the tile. This grid consists of 9x10 tiles with 20% overlap.
I have been trying to use ashlar on one cycle by applying the following code:
ashlar "fileseries|/exports/klim-hpc/Janine/ENT067_cycle1|pattern=C{channel:1}_{series:3}.tif|overlap=0.2|width=9|height=10|pixel_size=0.445|layout=snake"
However, I ran into the following error: "images must be same shape" (after phase cross correlation)
Is there any way by which I can solve this?
And as a next step, how do I make sure that Ashlar recognizes the individual cycles and aligns them?
Thanks!
Janine

Hello, I am also running into this same issue on version 1.17 of ashlar. In my case I have CODEX images in a 5x5 grid that I'm trying to assemble. Ashlar seems to find the images but also fails in the phase_cross_correlation function ( see trace stack below) I print out the shape of the images that are being fed into the function but I'm not sure how to resolve the issue. Images are normally 1344x1008. I tried using images before and after running BaSiC but still got the same error which I would expect given that the image shape is the same. Let me know if you need more info, thanks!

I was able to get this up and running on the latest docker image, I tried the same images on 1.17 and got the same error as above, this seems to be an issue with this version 1.17. Also exporting as ome.tiff will result in imagecodecs error as in #174 but exporting as tiff works fine.
docker run -v './ashlar_inputs':/input -v "./ashlar_outputs":/output -it labsyspharm/ashlar:1.18.0b3 ashlar "filepattern|/input/reg005/t001|pattern=reg005_X{col:02}_Y{row:02}_t001_z001_c{channel}.tif|overlap=0.3|pixel_size=0.377454" -o /output/reg005.tiff --output-channels 0


[Style] The navbar has still spacing issues

What's the style idea?
We need to improve spacing between them

Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSoC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

It has already been corrected so I am closing this issue.
Thankyou


Skel source update

Removed config and args methods from MiscSource class.

Codecov Report

Merging #1275 (b760997) into master (7ef0808) will decrease coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1275      +/-   ##
==========================================
- Coverage   84.96%   84.88%   -0.09%
==========================================
  Files         174      174
  Lines       10977    10973       -4
  Branches     1822     1822
==========================================
- Hits         9327     9314      -13
- Misses       1280     1289       +9
  Partials      370      370

Impacted Files
Coverage Δ

dffml/util/data.py
72.92% <0.00%> (-2.77%)
:arrow_down:

tests/util/test_net.py
98.30% <0.00%> (-1.70%)
:arrow_down:

dffml/noasync.py
78.94% <0.00%> (-1.06%)
:arrow_down:

dffml/base.py
83.81% <0.00%> (-0.29%)
:arrow_down:

dffml/df/memory.py
79.48% <0.00%> (-0.26%)
:arrow_down:

dffml/util/testing/consoletest/commands.py
60.74% <0.00%> (-0.09%)
:arrow_down:

dffml/source/df.py
57.62% <0.00%> (ø)

dffml/source/dfpreprocess.py
75.60% <0.00%> (ø)

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 7ef0808...b760997. Read the comment docs.


OpenBSD changes needed: Changed makefile using sh, changed main.cpp i…

For OpenBSD I needed to change the Makefile /bin/bash to /bin/sh
(or do a ln -s /usr/local/bin/bash in /bin)
OpenBSD failed on #include <sys/statfs.h>

Thanks! I'll merge this after testing if I can get it working on all platforms. The tests are failing because the parallel test uses <(), which isn't supported in /bin/sh on one of the target systems.

I was glad I could get it working for OpenBSD.
Many thanks!!
Raymond
On 2021-02-12 17:33, Eric Fischer wrote:

Thanks! I'll merge this after testing if I can get it working on all
platforms. The tests are failing because the parallel test uses <(),
which isn't supported in /bin/sh on one of the target systems.
--
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub [1], or unsubscribe
[2].

Links:
[1] https://github.com/mapbox/tippecanoe/pull/894#issuecomment-778300173
[2]
https://github.com/notifications/unsubscribe-auth/ABCXNAVYWZCLA4IIJQIFJKDS6VJ6PANCNFSM4VDDZ4TQ


Redirect after successful registration

This looks promising https://stackoverflow.com/questions/45856929/redirect-to-requested-page-after-login-using-vue-router

Issue solved with latest commit.


Prettier hook after each module

The prettier hook applied after each module instead of 1, so it's a little bit slow
I wonder if we can apply it only at the end of all modules, instead of each

That mean doing one commit for all module instead of one for each module and I don't think this is a good idea

Yes, maybe it's not easily doable
Let's keep this opened, maybe we can have some ideas later

I don't think it will do that much since prettier only format the updated files

Here the reason why I created this ticket initialy: https://youtu.be/RnLGnY-vzLI?t=1890
But as you said, not sure we can do something as it's directly related to git commit hook

In fact I'm not sure that playing the hook only once will be really faster since it's formatting the updated files

In fact, I though it was prettier:format the problem, but no, it's the hook!
Let's close this, as it's not so important, we can rethink later if it's a real problem :)


Upload artifacts to maven central

Currently all our maven artifacts reside on a nexus installation on the freme-dev server. We will upload it to Maven central so the artifacts can live after the projects lifetime.
This is the guide how this works: https://maven.apache.org/guides/mini/guide-central-repository-upload.html

make a new branch of fremecommon
change version number to 0.1 in pom.xml
apply changes in the guide
use mvn:deploy to upload the artifact to maven central

When you have uploaded an artifact to maven central, please write a guide on how to upload an artifact. Currently I do not know which information the guide will contain so please collect all important information and links on how to upload an artifact here in this issue.

Upload artifacts to the Central Repository
All FREME artifcats can be found in the
Central Repository
so everyone can access them easily.
This article shall help developpers to prepare their artifacts such that they can be uploaded to the repository. For
detailed instructions, have a look at the official documentation.
Getting access
First of all, you need to sign up to Sonatype JIRA which
automatically creates a JIRA issue for your request. You will be asked to enter the groupID for your artefacts and for
some additional information such as the website of your project. The groupID of the FREME project is
com.github.freme-project, i.e. in the repository you will find it under
com/github/freme-project. This groupID is used instead of eu.freme because we do not own the FREME-servers, i.e.
they will shutdown when the lifetime of the  project comes to an end.
Before you can actually upload artifacts you will have to wait for Sonatype to review the information that you  provided
This  can take up to two buisiness days but usually it only takes a couple of hours. They will comment on your Ticket
that your configuration has been prepared.
Preparing the data
There are a few requirements that need to be fullfilled by your projects in order to successfully upload their artifacts.
A detailed description for the requirements can be found on the Sonatype documentation.

Provide Javadoc and Source archives. You can use the Maven source-plugin.
Your files need to be signed with a GPG/PGP signature which has to be provided for each file by a .asc file
containing the signature. After the configuration of the keys, as described in the GPG article
in the Sonatype documentation, this can be done with the maven-gpg-plugin.

TODO check for scala-projects since it was mentioned that fake ones are needed

The project's pom file must contain the following information

groupId - The one you specified when signing in. It specifies the namespace that you own and to which your
artifacts are uploaded. You can add subfolders by appending .yoursubfolder to the groupId in your pom file.
artifactId
version
packaging (only if it's not the default, i.e. jar)

Provide License information. The FREME-project uses the Maven License Plugin.
Provide Developpers information
TODO check how must officially be mentioned.

<developers>
  <developer>
    <name>Jan Nehring</name>
<EMAIL_ADDRESS>
        <organization>DFKI</organization>
        <organizationUrl>http://www.dfki.de</organizationUrl>
  </developer>
</developers>

Provide information about the Source Control System (SCM). The following example shows the information for the freme-parent project.

<scm>
    <connection>scm:git:git@github.com:freme-project/freme-parent.git</connection>
    <url>scm:git:git@github.com/freme-project:freme-parent.git</url>
    <developerConnection>scm:git:git@github.com:freme-project/freme-parent.git</developerConnection>
</scm>

Do not use <repositories/></repositories> and <pluginRepositories></pluginRepositories> but publish all
required components to the Central Repository

Deployment
In order to deploy to the Central Repository, the correct configuration needs to be added to the project's pom file.
<distributionManagement>
    <snapshotRepository>
        <id>ossrh</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
        <id>ossrh</id>
        <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
</distributionManagement>

The <id> must be identical to the <id> specified in your settings.xml file which is stored or
needs to be created directly inside your maven folder, e.g. ~/.m2/. The file should contain the following
information:
<settings>
  <servers>
    <server>
      <id>ossrh</id>
      <username>your-jira-sonatype-username</username>
      <password>your-jira-sonatype-password</password>
    </server>
  </servers>
</settings>

You can upload SNAPSHOT-versions of your project, but they will not be synchronized with the Central Repository and your
projects do not necessarily have to fulfill the requirements mentioned above. In the Sonatype documentation you will
find a detailed article about the Deployment with Apache Maven.
When your maven build was successfull, you will find your project in the Nexus Repository Manager
under Staging Repositories. Now you have to close the Repository with the close icon on top which will trigger
automatic checks that verify if your project fulfills all requirements. If it does, you can release it by clicking on
the release icon on top. Otherwise you will have to drop the project, fix the problems and do it again. When you
finished this, you have to comment again on the JIRA Ticket created in the beginning that you promoted your first
release.
In order to see if your project is available now in the Central Repository, browse its contents on the
Central Repository Website.
Permissions for your namespace in the Central Repository
The owner of the namespace can add people to the list of developpers that are allowed to publish artifacts to your
namespace.
--- TODO check how (field appeared when signing up)
--- TODO check if and how owner can be changed.

Please try to change the group id to eu.freme. ...
check for scala-projects since it was mentioned that fake ones are needed
Jan created freme-developer user and put it in the FREME keystore. Please give this user read / write access to snapshots and releases, no admin rights for maven central.
Please give all rights to freme-admin user.
Try to add the PGP key (or keys) to the keystore. Maybe under "notes"?
Try to upload freme-common. Please try if it is possible to remove distribution management and repositories tags because the first is inherited from freme-parent and the second is not needed.

Next steps - please do not do this right away.

Update all pom.xml files with developer information, maybe more plugins (java doc, ...). Remove all repository tags and hopefully distribution management also
Upload all artifacts to maven central
All developers need to create a settings.xml

Please try to change the group id to eu.freme. ...

done

check for scala-projects since it was mentioned that fake ones are needed

done but needs to be checked again. we will upload all artifacts and see if there is a problem with freme
ner

Jan created freme-developer user and put it in the FREME keystore. Please give this user read / write access to snapshots and releases, no admin rights for maven central.

done

Please give all rights to freme-admin user.

pending

Try to add the PGP key (or keys) to the keystore. Maybe under "notes"?

this needs to be tested with the freme-developer user before we can add the key to the keystore

Try to upload freme-common. Please try if it is possible to remove distribution management and repositories tags because the first is inherited from freme-parent and the second is not needed.

removed the tags, uploaded it to the stating repo. this worked out, but it is not published on maven central.
Next steps

move freme-common pom.xml to a branch. set the version number to 0.11 and the parent to the freme-parent artifact on maven central (http://search.maven.org/#search|ga|1|a%3A"freme-parent")
publish fremecommon in version 0.11 on maven central
delete local maven repository (rm -rf ~/.m2/repository/eu) and rebuild fremecommon. it should download freme-parent from maven central.
When this works, please update all group ids.
Update all developer tags. This waits for #42

All steps above done.
Please check if there is a way to gpg sign the artifacts only during release so normal developers do not need to setup gpg.

I released freme-parent, freme-common, basic services ,freme-ner and epublib and uploaded them to maven central: http://oss.sonatype.org/content/repositories/snapshots/eu/freme-project/
Currently we are waiting for https://github.com/freme-project/e-Link/issues/74 because this is the blocker to upload e-services and freme-packages to maven central.

This is the article. I still have to add a section about the release. I will do that when we have uploaded everything to the central repository.

I think this is the link. Please mention that most of these information are already added by freme-parent so there is no need to add javadoc or distribution management.

I think the freme-developer credentials inside the .settings.xml is just necessary for deploying to the snapshot repository, but it is not for accesing it.

great

This task is done


SCT-158 Add test mode boolean to config

Adds the ability to turn test mode on and off via the configuration.
Tested manually. Next is integration tests for the test user endpoints.

I've been trying to get this build to pass all day but it keeps failing for this:
    [junit] Testcase: kbaseDummyPostEndpoint took 0.399 sec
    [junit] 	FAILED
    [junit] unexpected http code 500, wanted 400. Entity contents:
    [junit] {"error":{"httpcode":500,"httpstatus":"Internal Server Error","message":"The @FormParam is utilized when the content type of the request entity is not application/x-www-form-urlencoded","callid":"6376426067878356","time":1514434033030}}
    [junit] junit.framework.AssertionFailedError: unexpected http code 500, wanted 400. Entity contents:
    [junit] {"error":{"httpcode":500,"httpstatus":"Internal Server Error","message":"The @FormParam is utilized when the content type of the request entity is not application/x-www-form-urlencoded","callid":"6376426067878356","time":1514434033030}}
    [junit] 	at us.kbase.test.auth2.service.ServiceTestUtils.failRequestJSON(ServiceTestUtils.java:117)
    [junit] 	at us.kbase.test.auth2.service.api.TokenEndpointTest.kbaseDummyPostEndpoint(TokenEndpointTest.java:446)

It's intermittent as it sometimes fails on the openjdk test, and sometimes fails on the oracle java test. It appears to have become more prevalent as I've never had this error on a PR before, although @sychan has seen it on builds. I have a potential fix in the next PR so I'm going to merge this one.


proposal: extract the scene graph out from leva to different component

Ideally it would be really intuitive if the scene graph sits outside of the leva panel into as its own UI.
Reasons:

Leva panel is properties inspector, so it might slowly grow to include many other properties for the elements.
The scene hierarchy in many cases will be long and navigating through it on the leva panel will become a bit tedious

@nksaraf any specific reason to have the scene graph in the leva panel ?

No particular scene apart from just didn't do the setup for multi panel setups .. I want to have to a way of persisting positions of the panel and maybe some configurability of the panel.
But otherwise it makes sense to have separate panels.

I think ive finally landed on an architecture and separation that makes sense! your starting the refactor was very helpful.
As per configurability, I meant, being able to drag it out of the main panel into separate panels and being able to merge it back. Need to hack leva a bit for that.


IDWriteGlyphRunAnalysis::CreateAlphaTexture uses a &mut [u8] slice, which implies unnecessary initialization of its contents

It seems that the signature of IDWriteGlyphRunAnalysis::CreateAlphaTexture was changed to take a &mut [u8] slice as an output parameter.
If I'm not mistaken, such slices always contain initialized data, which shouldn't be necessary since CreateAlphaTexture should write to the buffer represented by the slice. IIRC, the previous signature took a combination of *mut u8 and a usize to specify the size of the output buffer, which allowed the use of uninitialized memory (via Vec::with_capacity + set_len or MaybeUninit).
There might be a reason for this change but I couldn't find anything in the issues or the release notes.

The win32 metadata provides information about certain parameters representing arrays that I have transformed into Rust slices for convenience. For example:
unsafe HRESULT CreateAlphaTexture([In] DWRITE_TEXTURE_TYPE textureType, [In][Const] RECT* textureBounds, [Out][MemorySize(BytesParamIndex = 3)] byte* alphaValues, [In] uint bufferSize);

Note how the alphaValues and bufferSize parameters are logically associated with the MemorySize attribute.

which allowed the use of uninitialized memory (via Vec::with_capacity + set_len or MaybeUninit)

I don't think that Vec provides uninitialized memory. I have had another request to support MaybeUninit, but it gets complicated. #2065
Is the concern here that this would be costly? Does the buffer required by CreateAlphaTexture tend to be large?

Is the concern here that this would be costly? Does the buffer required by CreateAlphaTexture tend to be large?

Yes, my main concern is the additional cost of having to initialize the output buffer, although in the particular case of CreateAlphaTexture the cost of the function itself probably dwarfs the cost of initializing the buffer. That said there might be other functions where it's more problematic.
Here's the code I used before:
unsafe {
    let mut data = Vec::with_capacity(buffer_size);
    self.analysis.CreateAlphaTexture(texture_type, &bounds, data.as_mut_ptr(), buffer_size as u32)
                 .expect("CreateAlphaTexture failed");
    data.set_len(buffer_size);
}

This skips the initialization of the vec contents, and I think this is OK with regard to UB (a similar use case is presented in the docs for Vec::set_len).
Now I need to use this:
let mut data = vec![0u8; buffer_size];
self.analysis.CreateAlphaTexture(texture_type, &bounds, &mut data).expect("CreateAlphaTexture failed");

and pay the (negligible, in this case) cost of initialization.

Slice transformation for out parameters could be &[MaybeUninit<T>] since MaybeUninit is repr(transparent) for T, casting a slice from &[MaybeUninit<T>] to &[T] should be safe as long as the out result and length written are checked ?