Cordova With TabrisJS Subsequent Camera Plugin Calls Fail

Sorry for my English.
I have tested Cordova with TabrisJS and they worked as expected. Now I'm facing problem that cordova-plugin-camera only works at first call to navigator.camera.getPicture(onSuccess, onError, Options);. Subsequent calls always fail with Camera cancelled during app lifecycle. Closing the app (not pausing) and reopen it brings the plugin to work, but again, fails on subsequent call. No error log found when using Chrome Remote Debugging.
I also tested this plugin with several HTML5 frameworks (Onsen UI, Phonon, plain html+js) without TabrisJS  and they worked succesfully, so I'm pretty sure this is TabrisJS issue.
I'm requesting advice on this.
Project Specs:
Cordova 6.3.1 with TabrisJS 1.9, cordova-plugin-camera 2.3 (the only plugin used), camera permission (not necessary though).
My JS Code:
var page = new tabris.Page({
  title: 'Example App',
  topLevel: true
});

var button = new tabris.Button({
  centerX: 0, top: 10,
  text: 'Snap a Pic!'
}).appendTo(page);

var textView = new tabris.TextView({
  id: 'txtView',
  centerX: 0, top: [button, 50],
  font: '24px'
}).appendTo(page);

var img = new tabris.ImageView({
	id: "imgFoto",
	background: "rgb(220, 220, 220)",
	scaleMode: 'fit',
	image: {src: 'images/001.jpg', scale: 1},
	layoutData: {left:10, top: '#txtView 10', right:10, height:200}
}).appendTo(page);

button.on('select', function() {
  navigator.camera.getPicture(function onSuccess(uri) {
		img.set('image', {src: uri, scale:1});
		textView.set('text', uri);
	}, function(msg){
		textView.set('text', 'Cancelled...');
	}, {
		targetWidth: 1024
		, targetHeight: 1024
		, destinationType: window.Camera.DestinationType.FILE_URI
		, sourceType: Camera.PictureSourceType.CAMERA
		, encodingType: Camera.EncodingType.JPEG
		, cameraDirection: Camera.Direction.BACK
		, quality: 80
		// , allowEdit: true
		//
	});
});

page.open();
Please help me. Any recomendation and suggestion are welcome. Thank you.

Thanks for your detailed description. We made some changes in the cordova integration recently. These improvements are available in the nightly build when you build on tabrisjs.com. Could you try to run your snippet against the nightly?

Thank you @mpost  I'm going to test it now. Be back soon to report.

I built the code using TabrisJs online build. Apk generated but not camera plugin available.
I'm figuring out how to add plugin to online build service.

@jokorivai You need to add the plugin in your config.xml.
Example:
<?xml version='1.0' encoding='utf-8'?>
<widget
    id="my.first.app"
    version="1.0.0"
    xmlns="http://www.w3.org/ns/widgets"
    xmlns:cdv="http://cordova.apache.org/ns/1.0">
    ...
  <plugin name="cordova-plugin-camera" spec="1.2.0" />
  <plugin name="cordova-plugin-dialogs" spec="1.1.1" />
</widget>

Thankyou.
I did that but the build failed. I tested several times and couldn't get it work.
Back to local build, I replace cordova-plugin-camera with cordova-plugin-nativecamera (not wezka's fork) and it works.


Added code for face and eye detection

I have added the code for face and eye detection using Haar Cascade. Also,along withthe code i have added the requirements for the same.I will be contributing a  readme.txt very soon seperately.

I have added readme.txt file successfully.


feat: some smaller changes; removed lineids; a little bit of code styling

Hi Ben,
first, thanks for this package! I have made some smaller improvements:

var_inst in some methods (performance improvements)
using an enumeration for states instead of constants
removed lineids in files (not needed)
removed project version in plcproj (less hustle when merging from different twincat versions)
Also i have done some code styling. I did not change the coding conventions, because i was not sure on which standard you are currently sticking. Here is a proposal from us (Zeugwerk), maybe you wanna use this? It is especially aimed for a more modern approach in ST (IEC61131-3 Structured Text with OOP Extension).
Please review and give some feedback to my PR.
Regards
M.

Hi Matthias,
thanks for contributing and your valuable feedback!
I'd like to discuss enums instead of constants for library projects, though. Why would you consider enums a better fit? I deliberately chose local constants since the states are only used for the internal state machines within one method of the respective FB and do not get reused anywhere else.
Pro enum:

Exhaustiveness check possible with static analysis rule SA0076 in CASE statement
Possibility to convert enum to string with TO_STRING

Contra enum:

Pollutes global namespace
Does not  keep definition and use of enum tightly together in one place

There are also local enums, however, they seem to come with their own drawbacks so I decided not to use them for now.
Code styling and naming conventions are an opinionated but important topic, thanks for bringing it up! I'm happy to use your proposal. To keep it consistent for future changes of this project, I think we should set up a code formatter and static analysis for this project. Are you using a specific formatting tool? And do you have a preferred static analysis configuration that enforces your style guide? The rules that you can set to the Beckhoff PLC Static Analysis seem to be limited to the Beckhoff style guide.

Hi,
thanks for your reply.
sorry i forgot to make those enums internal
i share all your pro arguments and want to add some

by adding qualified only, the compiler checks if the right type is used
you avoid misusing entries in different FBs by having different enums
if you make enums internal, there is no pollution
we also define as standard, that types are in a separate folder -> see last commit

Its a good idea, we have an internal tool which is currently not shareable.
We also tried some static analysis tools and are working on a new one, but iam not sure until when we can release that for public use.
Regards
M.

The code has been updated to the proposed Zeugwerk naming conventions with  3591818. This introduced breaking changes in several method signatures.
It now also uses TcBlack for formatting.

Hi Matthias,
I have some questions about the Zeugwerk naming conventions where the documentation remains unspecific:

Input for methods declared within VAR_IN ... END_VAR in the method itself should be camelCase or PascalCase? I'd prefer camelCase like in the C# naming conventions, but then that would conflict with PascalCase of the FB signature. One could argue though, that IN, OUT and IN_OUT could be seen like public fields, but I think at least the IN part of an FB behaves much more like arguments to a method.
Do you use a specific folder structure / names for the folders? E.g. to separate interfaces from data types and POUs?

Hi,
at the very top of the coding conventions we have a short list (cheatsheet), where we tried to sumarize the most important "rules".
For method inputs and outputs (if you use outputs, not returns) (e.g. VAR_INPUT, VAR_OUTPUT) these should be lower camelCase -> as it is in C#, you are right, we have a lot of our Conventions from C#.
For FBs or PRGs as these are Public members in VAR_INPUT and VAR_OUTPUT we use PascalCase. The difference to VAR_INPUTs of methods is, that for methods these are not members, for FBs these stay on the heap.
For PRG members we also use PascalCase, because in ST these are publicly accessible, Those in FBs are not, therefore we use a _prefix here. This makes it also easier to quickly see the difference with auto completion.
In our Framework-Libraries we use the name of the object as main folder and then it depends a little. Most of the time there are some Datatypes (DUTs as it is called in ST) and for these we add a folder _DataTypes (even if it is only one).
For Tests, we usually write our tests in the same solution in order to keep it simple and easy to use, we have a folder _Test.
If you like i can do it for your project in a new PR and then you can decide if you like it!? Also let me know if you have any troubles with zkdoc.
Regards
M.

Thanks for the clarification!
I'm currently updating the comments to the zkdoc style and I'd just update the method arguments to camelCase right with it. I changed them all to PascalCase in the last commit 😄
Once I'm done with that I'd put the tests in the same project and update the folder names. The leading _ of the folder names stands for internal objects?
I guess there is no preview feature for zkdoc, am I right? I can only see it after the commit.

ok, sorry for that, i will see if we can write it more specific in our coding conventions. Also a good feedback for us :-).
A lot of datatypes are only used internally in our libraries but there are also some which are not. One reason is, that the folder is always located at the very top of the objects folder (listing after names in ascending order).
Go into my forked TcLog repository -> https://github.com/seehma/TcLog and on the right you can click on gh-pages, there you can see how it will look after our ci/cd system pushes the documentation.


chore: Refactor code quality issues

Description
Hey :wave:, I'm a Developer Outreach at DeepSource and ran DeepSource analysis on my fork of the repo. It found some interesting code quality and performance improvements to consider.
This PR fixes a few of the issues detected for you to assess if it is right for you.
Happy to provide the tweaks separately otherwise :)
Summary of changes

Use literals instead of function calls to create data structures.
Simplify the if statements.
Remove calling len() for comparison.
Refactor unnecessary use of comprehension.
Remove unnecessary generators.

Cute Animal Picture
Here's a cute sloth :)

If you're ok cleaning up the few linting errors this will be able to be merged..

@pipermerriam I fixed the lint errors.

@pipermerriam, Thanks for merging the PR :heart:
I'd just like to point out that the issues fixed here were detected by running DeepSource analysis on the repo. If you like, you can activate analysis for your repository to detect such code quality issues/bug-risks on the fly for every new change made before merging it. It significantly reduces code review time and runs like any other check on a PR. You can also use the Autofix feature to fix them with one click.
Here's how you can quickly activate DeepSource to continuously analyze your repository:

Sign up on DeepSource and Activate analysis for this repo.
Create .deepsource.toml configuration which you can use to configure your analysis settings (This PR already added that, but you can still edit it).
Activate/Check analysis here.

If you have any doubts or questions, you can check out the docs, or feel free to reach out :)

@pipermerriam do you need any help with activating DeepSource?
I ask so because the .deepsource.toml file that you merged will only take effect if analysis is activated.


Sed bugfix

@cekees I refactored it to prevent memory leaking. I found some lines commented out because it would make drag nonlinear. Yet I 'd like these lines in, as they enable a smooth transition from packed situation to a suspended one. The line in the code is below

https://github.com/erdc-cm/proteus/blob/WT_optimisation/proteus/mprans/SedClosure.h#L81

@cekees I have not merged this one yet. I was about to but then I thought I would add a solitary wave theory to WaveTools.
I used Eleni's formulation and I created the unit tests by copying / pasting the formulation in OpenFOAM source code, where we know that it works as we ahve tested it. It passed all tests, so unless we there are any objections, I say we merge, if the tests pass

+1


TIM-247 feat(rooms): add page title

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#17
#16  👈
#15
#14
#13
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @xdjeremy and the rest of your teammates on  Graphite


(URGENT) Update Ribose PDF to new layout

Ribose Document Design_v2.pdf
Described in https://github.com/metanorma/mn-native-pdf/issues/125

Ribose Whitepaper (text in header)
author's list
RNP and Confium team, Ribose Inc.
Delivered to<EMAIL_ADDRESS>
These data items are present in the XML, we need to make this customisable.

Used fonts:

HelveticaNeue-Light
HelveticaNeue-Light Italic
HelveticaNeue-Medium
HelveticaNeue-Bold

@Intelligent2013 let’s use Source Sans for now, Helvetica Neue isn’t a free font.

@Intelligent2013 let’s use Source Sans for now, Helvetica Neue isn’t a free font.

@ronaldtse ok.

These data items are present in the XML

@ronaldtse I've generated XML from https://github.com/metanorma/mn-samples-ribose/sources/nistir-8214a but still I don't see in xml these data:

Ribose Group Inc.
Author's list
Unrestricted word
RNP and Confium team, Ribose Inc.
Ribose Group Inc
Ribose Whitepaper (I think that we should just get 'Ribose' + 1st letter uppercased doctype, right?)

To generate XML I did:
git clone https://github.com/metanorma/mn-samples-ribose
cd mn-samples-ribose
bundle update
bundle exec metanorma -t ribose -x pdf sources/nistir-8214a/nistir-8214a-comments.adoc

What I did wrong?

@Intelligent2013 I have just added those missing attributes there. Can you re-check? I also have used the doctype "report" instead of "white paper" as it wasn't allowed in the flavor. Thanks!

@ronaldtse Ribose pdf xslt updated.
Resulted PDF: nistir-8214a-comments.presentation.pdf
There are differences between data from design Layout and resulted PDF:
1.
design PDF:

resulted PDF:

Reason: xslt gets value from /rsd-standard/bibdata/ext/editorialgroup/committee (RNP and Confium team)
2.
design PDF:

resulted PDF:

Reason: in xml only 4 authors.
3.
design PDF:

resulted PDF:

Reason: in xml <localized-string key="table_of_contents" language="en">Table of contents</localized-string>
4.
design PDF:

resulted PDF:

Reason: in xml there isn't standalone value Ribose, xslt gets value from /rsd-standard/bibdata/contributor[role/@type='publisher']/organization/name.

Reason: xslt gets value from /rsd-standard/bibdata/ext/editorialgroup/committee (RNP and Confium team)

This is okay.

Reason: in xml only 4 authors.

This is good, fixed.

Reason: in xml Table of contents

Need help from @opoudjis .

Reason: in xml there isn't standalone value

I think we do "Ribose {doctype}" directly for indicating doctype. Regardless of the publisher the doctype remains the same. Thanks!


Refactor: use jupyter-packaging

This is a small PR to use jupyter_packaging instead of the bundled setupbase

Thanks!

Thanks!


New properties

closeOnSelect
matcher?
readOnly?
removeOnly
showDropdown

More info: https://arendjr.github.io/selectivity/


Fix mailing address bug and typo in spanish translation

🔗 Jira ticket
Link
✍ Description

📷 Design reference

✅ Completion tasks

[ ] Added relevant tests
[ ] Meets acceptance criteria

@coltborg - great! I'll close this PR and we can consider it a proof of concept to confirm that this was the underlying issue.


remote debug

Can you ask how to debug docker compose remotely through idea

I can't debug successfully

You can read the doc: https://www.jetbrains.com/help/idea/run-and-debug-a-spring-boot-application-using-docker-compose.html#debug_app, the debug steps for Turms should be the same.

thanks let me try

thanks it's ok


error log reading 'getBoundingClientRect'

Hi, thanks for this great lib!
I have a scroll implementation and this error in my log, once I scroll
Uncaught TypeError: Cannot read properties of undefined (reading 'getBoundingClientRect')     at get _elRectRelativeToContainer (aat.min.js:1:2081)     at d._calculatePercentageY (aat.min.js:1:2380)     at d._onScroll (aat.min.js:1:2726)     at d.onScroll (aat.min.js:1:621)     at custom.js:174:5     at Array.forEach (<anonymous>)     at custom.js:160:19
This is my setup in js:
`const cardsContainer = document.querySelector(".cards .elementor-widget-wrap");
const cards = document.querySelectorAll(".fkf_testimonal_card");
const headlineContainer = document.querySelector(".fkf_stack_right .elementor-shortcode");
cardsContainer.style.setProperty("--cards-count", cards.length);
cardsContainer.style.setProperty("--card-height", ${cards[0].clientHeight}px);
headlineContainer.style.height = cardsContainer.offsetHeight + 'px';
Array.from(cards).forEach((card, index) => {
const offsetTop = index * 8;
if (index === cards.length) {
	return;
}

const toScale = -(index - 10) * -0.75;
const nextCard = cards[index + 1];
const cardInner = card.querySelector(".fkf_testimonal_card .elementor-widget-container");

ScrollObserver.Element(nextCard, {
	offsetTop,
	offsetBottom: window.innerHeight - card.clientHeight
}).onScroll(({ percentageY }) => {
	cardInner.style.transform = `rotate(${valueAtPercentage({
		from: 0,
		to: toScale,
		percentage: percentageY
	})}deg)`;
});

});`

Any news here :)

@ruben-with-b sorry I took a while to get back to you! To fix this, you need to make sure that the next card you access is within limits. So, you need to update the check to ensure that the current card in the loop is not the last card.
So, update if (index === cards.length) to if (index === cards.length - 1) in this code:
Array.from(cards).forEach((card, index) => {
  const offsetTop = index * 8

  if (index === cards.length) {
    return
  }
  // ...

So it becomes this:
Array.from(cards).forEach((card, index) => {
  const offsetTop = index * 8

  if (index === cards.length - 1) {
    return
  }
  // ...

Let me know if you have any questions :)

Perfect, that was the issue. Thanks a lot!!

Glad to hear that :)


definition: optional in components

To deal with extensible protocols requires an essential feature: Optional data.
Based on the principle of Tolerant Readers, it is easy and fairly safe to add extra information to the serialization of a schema.
In the following example, both sentences are safe, and we are adding new data to the same type. It illustrates how data can be added without breaking compatibility:
type TypeAt2020 = { a: number, b: string }
const dataAt2020: TypeAt2020 = { a: 1, b: "hello" }
const dataAt2022: TypeAt2020 = { a: 1, b: "hello", c: "something new" }

The following on the other hand, doesn't work because the b: string is required:
type TypeAt2020 = { a: number, b: string }
const dataAt2020: TypeAt2020 = { a: 1, b: "hello" }
const dataAt2022: TypeAt2020 = { a: 1 } ❌

The tolerant readers principle states that you must be conservative on what you read and strict on what you produce, so serialized the data type must contain always ALL the required fields.
The same applies to types, adding new fields is only viable when the deployed software is compatible with the datatype, and adding a required field will definitely break the synchronization of the system
type TypeAt2020 = { a: number, b: string }
const dataAt2020: TypeAt2020 = { a: 1, b: "hello" }
type TypeAt2022 = { a: number, b: string, c: boolean }

// ❌  c is missing in type TypeAt2020 and required in TypeAt2022
conct dataAt2022: TypeAt2022 = dataAt2020 ❌

A walkaround for this limitation is to introduce optional types, making this scenario compliant and conflict free, both for internal systems and serialization
type TypeAt2020 = { a: number, b: string }
const dataAt2020: TypeAt2020 = { a: 1, b: "hello" }
type TypeAt2022 = { a: number, b: string, c?: boolean }

const dataAt2022: TypeAt2022 = dataAt2020 ✅

This mental model is applied in the proto-compatibility-tool  and we are reusing the logic for our components. Newer versions of protobuf3 support the optional keyword, we are using the optional to extend new types.
An important part of this definition is that the systems USING the component will decide the default values, and those MUST NOT be serialized and broadcasted over the network.
A practical example is the addition of a optional boolean visibility field to a component. The rendering system will decide the default value for visibility based on its absence. It must NOT set the "default" value back to the component, keeping it "null/undefined".

Another thing to consider is how the final user creates a component.
If we don't use optional in all the fields that are not strictly necessary, the users need to specify each value, each time it is creating a component. This can be confusing since the user may not know what the default value is.
As an example, take the TextShape  component creation. If we don't use optional, the user needs to specify all these values:
TextShape.create(entity, {
      text: 'Hello world',
      visible: false,
      font: 'false',
      opacity: 0,
      fontSize: 15,
      fontAutoSize: false,
      hTextAlign: 'vertical',
      vTextAlign: 'horizontal',
      width: 200,
      height: 200,
      paddingTop: 211,
      paddingRight: 212,
      paddingBottom: 213,
      paddingLeft: 214,
      lineSpacing: 215,
      lineCount: 216,
      textWrapping: false,
      shadowBlur: 218,
      shadowOffsetX: 219,
      shadowOffsetY: 220,
      outlineWidth: 221,
      shadowColor: { r: 1, g: 1, b: 1 },
      outlineColor: { r: 1, g: 1, b: 1 },
      textColor: { r: 1, g: 1, b: 1 }
    })

The user may not know what shadowBlur  is and it should try every value until it finds something that works. This will be almost impossible to code since you need to understand perfectly a component to make use of it.
However, if we use optional for all properties you could do something like this:
TextShape.create(entity, {
      text: 'Hello world',
    })

And the renderer has the responsibility to assign the default values even if the user doesn't specify it

Also, another thing to have into consideration is the amount of data that is passed through the wire.
For example, take into consideration the following component:
 UiTransform.create(entity, {
      parent: 0,
      alignContent: YGAlign.YGAlignCenter,
      alignItems: YGAlign.YGAlignFlexEnd,
      alignSelf: YGAlign.YGAlignFlexStart,
      borderBottom: 1,
      borderLeft: 1,
      borderRight: 1,
      borderTop: 1,
      direction: YGDirection.YGDirectionLTR,
      display: YGDisplay.YGDisplayNone,
      flex: 1,
      flexBasis: 3,
      flexBasisUnit: YGUnit.YGUnitPoint,
      flexDirection: YGFlexDirection.YGFlexDirectionColumnReverse,
      flexWrap: 1,
      flexGrow: 4,
      flexShrink: 1,
      height: 1,
      heightUnit: YGUnit.YGUnitPoint,
      justifyContent: YGJustify.YGJustifyFlexEnd,
      marginBottom: 1,
      marginBottomUnit: YGUnit.YGUnitPoint,
      marginLeft: 1,
      marginLeftUnit: YGUnit.YGUnitPoint,
      marginRight: 1,
      marginRightUnit: YGUnit.YGUnitPoint,
      marginTop: 1,
      marginTopUnit: YGUnit.YGUnitPoint,
      maxHeight: 1,
      maxHeightUnit: YGUnit.YGUnitPoint,
      maxWidth: 1,
      maxWidthUnit: YGUnit.YGUnitPoint,
      minHeight: 1,
      minHeightUnit: YGUnit.YGUnitPoint,
      minWidth: 1,
      minWidthUnit: YGUnit.YGUnitPoint,
      overflow: YGOverflow.YGOverflowVisible,
      paddingBottom: 1,
      paddingBottomUnit: YGUnit.YGUnitPercent,
      paddingLeft: 1,
      paddingLeftUnit: YGUnit.YGUnitUndefined,
      paddingTopUnit: YGUnit.YGUnitPoint,
      paddingRight: 1,
      paddingRightUnit: YGUnit.YGUnitPoint,
      paddingTop: 1,
      positionBottom: 1,
      positionBottomUnit: YGUnit.YGUnitPoint,
      positionLeft: 1,
      positionLeftUnit: YGUnit.YGUnitPoint,
      positionRight: 1,
      positionRightUnit: YGUnit.YGUnitPoint,
      positionTop: 1,
      positionTopUnit: YGUnit.YGUnitPoint,
      positionType: YGPositionType.YGPositionTypeRelative,
      width: 1,
      widthUnit: YGUnit.YGUnitPoint
    })

Even if we only want to set the width for this component, and we don't see them as optional, we will send all the data of each field.
However, if we put optional in the proto, we will only send the width and the renderer will set the default value for the rest of the fields, This will reduce the amount of data send in the wire

Closed by https://github.com/decentraland/js-sdk-toolchain/pull/218


ul / ol support

I'm using the trix gem in my rails app, the text is being serialized/deserialized correctly and most of the html tags are working properly but ul/ol do not. for example, this text:

ulist

abc

def

olist

a

b

c

is saved correctly, deserializied correctly but then when repopulating the editor is simply ulistabcdefolistabc
Steps to Reproduce
<% @var = "
ulist

abc

def

olist

a

b

c

" %>
<input id='text_input' type="hidden" name="content" value="<%= @var %>">
<trix-editor input='text_input'></trix-editor>
Details

Trix gem version: 0.9.10
Browser name and version: firefox 51.0.1
rails: 4.2.5
ruby: 2.1.1p76

Thanks a lot!

Hi @guyas! Are you able to reproduce this issue using solely the Trix JS/CSS assets? This gem is just a wrapper on those assets. If so, then this might be a bug in the basecamp/trix project.


Add Text Spotting notebook using text-spotting-0005 model from OTE

This notebook should show how to do the following:

perform fine-tuning on pre-trained PyTorch model available from OpenVINO Training Extensions
convert PyTorch model to OpenVINO IR
test inference with sample image
enable user to upload and try their own images

More details: https://github.com/openvinotoolkit/training_extensions/blob/develop/models/text_spotting/model_templates/alphanumeric-text-spotting/readme.md
This is a snapshot of the model: https://storage.openvinotoolkit.org/repositories/openvino_training_extensions/models/text_spotting/alphanumeric_text_spotting/text_spotting_0005/epoch_25.pth
Training template: https://github.com/openvinotoolkit/training_extensions/blob/develop/models/text_spotting/model_templates/alphanumeric-text-spotting/text-spotting-0005/template.yaml
Text spotting demo code from OMZ:
https://github.com/openvinotoolkit/open_model_zoo/blob/master/demos/text_spotting_demo/python/README.md

Closing this since we will track with cards


Feature/audio

currently, I am work on adding the intensity and duration of the tone, so please don't merge, until those have be done.

I set your pull request to draft mode, you click "ready to review" whenever you are ready :+1:

You also might want to rebase/merge the main branch into this one, because there is a conflict in the README, that needs to be resolved. This would also enable the CI for this PR.

As a side-note on this code base: @yunlong-wang-cn basically imported https://github.com/TAMS-Group/music_perception with a new name, by now with various modifications. It was apparently his solution to the project requirement to have everything in a single repository.
I don't think it's worth changing this in this project now with the current state, but please at least mention it in the README.md of the package.

I don't think there is a problem right now, except for a missing attribution.
And even that is partially my fault because I did not add explicit authorship information in the original code. :)

@Flova  you still have some requested changes that let this branch can't be merged. Please take a look and let me know if there is something not correct.

Why were the following packages added to the requirements? @Flova  @yunlong-wang-cn
At least the first two are not directly imported. Are they necessary, do I miss something or can they be removed? Aren't the last two managed by ROS either way?
pretty-midi==0.2.10 empy==3.3.4 catkin-pkg==0.5.2 rospkg==1.5.0

@Juphex When you start with a empty python environment or virtual environment, you do need those packages for the package building and so on, therefore I decide to add them here.


[CPU] Enable 'iree-llvmcpu-reassociate-fp-reductions' by default

This PR is mostly to have a discussion about enabling fp reduction reassociation by default. When this flag is disabled, we are basically not vectorizing the reduction dimension at all, which results in extra unrolling of scalar instructions. I think it's a bit difficult that an external user really understands the implications of this flag and that it has to be enabled to get some performance on fp reductions. In my case, even though I'm aware of it, I always forget to use it and always waste time looking into "why this random sequence of instruction is scalar?" in the profiles. Also, in terms of accuracy, I think we are not paying the same attention to other operations that we are approximating by default (e.g., Math ops), so I think enabling this by default and providing a flag to disable it's reasonable. In the future, we may think about introducing a compilation mode that optimizes for accuracy more generally. WDYT?

I am fine with enabling by default. For the other math ops that have similar precision issues, we should guard it by the same flag.....

The tests failures seem reasonable.... I am OK with enabling this flag, but just beware, we might get a lot of precision related bugs, cause we are now changing the precision.

Sorry, my fault. I sometimes enable it when I think the review is mostly done or it's a trivial change to minimize the turnaround if the PR is approved. Let me exclude the test.

I'm surprised that we can pass the test. I thought it should fail when I read the file name.

The test would fail but it's not part of the src or BACKEND_TESTS lists so it's not running for that suit where the reassoc flag is enabled by default.


"[]" in function name breaks file parsing

Describe the bug
Adding a "[]" to a function name causes all errors in the file containing the function to "disappear". The error "The [name] form cannot be used" is not shown unless something is written between the brackets.
If the function with the brackets is inside a file that has been added as library, all the functions and other stuff from the file won't be read/used, apparently.
To Reproduce
Steps to reproduce the behavior:

Create a new lua file
Write "function asdf[]() end"
Write random text in the file and notice no errors are found

Expected behavior
An error to be shown (and all the other errors in the file, if any)
Environment (please complete the following information):

OS: Windows
Client: VSCode

Additional context
log file

Thank you for reporting!


bug: edit modal shadow is diplayed incorrectly

The dropdown shadow does not work correctly.

Fixes in #149


fix for issue #22347

fix for #22347 in contrib/graph_editor/transform: clear the colocation attribute when copying the node_def such that the new subgraph can be exported separate from the original copied subgraph

I can't find any documentation on the node_def so I'm only going off what I saw in my examples, which I agree is not rigorous. I'll have to find out if the "_class" attribute can hold things other than colocation. I'll try to dig into this more next week.

Nagging Reviewer @purpledog: You have been added as a reviewer to this pull request. Please add your review or reassign. It has been 15 days with no activity and the awaiting review label has been applied.

It has been 14 days with no activity and the awaiting response label was assigned. Is this PR still valid? Assigning the stalled label. Please comment to reassure me that this is still being worked on.

Please resubmit a clean pr

I'm going to close this as my application might be a special case and it's easier for me to just maintain my own version of transform.graph_replace


javascript setAttribute use an unauthenticated fetch in CSS

@timbl @timea-solid
In SolidOS you need to be be able to load authenticated resources.
The setAttribute javascript function returns a 401 error in CSS, not in NSS
img.setAttribute('src', image.uri)

A solution is to fetch download with blob in all concerned app/functions
      // img.setAttribute('src', image.uri)

      // get image with authenticated fetch
      store.fetcher._fetch(image.uri)
        .then(function(response) {
          return response.blob()
        })
        .then(function(myBlob) {
          const objectURL = URL.createObjectURL(myBlob)
          img.setAttribute('src', objectURL) // w640 h480 //
        })

This solution as been implemented in humane.pane, image and showpane
The issue appears to remain in some other panes like video-pane or contacts-pane
Shall we install the same code or try to run first without and if it fails with the objectURL ?
The impact (I 'm not sure) is stream loading

see issue https://github.com/CommunitySolidServer/CommunitySolidServer/issues/1392

@bourgeoa i would say let's have the same code in place. I was wondering if we can centralize this code... maybe make it part of solid-ui or in solid-panes and just use it exactly the same in all places.


Update simpleSetOperations.md Line 139 had a mismatched $

👷 Deploy Preview for joe-mccann processing.

Name
Link

🔨 Latest commit
aeb8467ecb963edb33c80f4ae628740731f61288

🔍 Latest deploy log
https://app.netlify.com/sites/joe-mccann/deploys/652ee857a57d0400083befc0


[python-package] rabit.tracker_print not outputting logs

Hi guys,
I ran into the strange problem, that even though enabling the verbose option, there are no logs printed during the training. However, when I replace rabit.tracker_print with print everything works fine. Any idea how to solve this, any secret option? Thanks for help and hints!
I am on Ubuntu 15.10 64bit, python3.4 running via Jupyter (XGB compiled via make -j4), here is an excerpt from my code.
import xgboost as xgb

params = {
    'max_depth': 5,
    'n_estimators': 100,
    'learning_rate': 0.05,
    'gamma': 0.25,
    'subsample': 0.9,
    'colsample_bytree': 0.9,
    'seed': 42,
}

fit_params = {
    'early_stopping_rounds': 20,
    'eval_metric': 'auc',
    'eval_set': [(X_test.values, y_test.values)],
}

clf = xgb.XGBClassifier(**params)
clf.fit(X_train.values, y_train.values, **fit_params)

Best,
Christoph

hmm, could due to flush behavior of the logs. so they are not immediately flushed. Can you check if the print happens if you use say python console?

@tqchen is there a way to force the flush? I got the same problem (burst of msg-lines), if I use an IDE like Pycharm, everything works normal from terminal though.

Yeah most likely it is not getting flushed properly, because in some situations it does work. I wonder if there is a specific reason for using the rabit package for logs in python instead of the internal logging module. I do understand that rabit does much more than just writing logs, however the logging module is the best choice for logs in python. I could send a PR for the python-package if this is interesting for the project.

I will add a force flush in next PR. The reason to use rabit is to enable same code to ship to distributed settings and have the message show on user's side

@tqchen alright thanks a lot!

should be fixed by #1102

Hi, was that fixed? I'm running latest code (compiled with make -j4) and still cannot get logs in Jupyter notebook.
params = {
    'objective':'binary:logistic',
    'max_depth':2,
    'silent':0,
    'eta':1
}

num_rounds = 5
bst = xgb.train(params, dtrain, num_rounds, verbose_eval=True)

The only output I get in the console is:
[06:14:52] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 4 extra nodes, 0 pruned nodes, max_depth=2
[06:14:52] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 6 extra nodes, 0 pruned nodes, max_depth=2
[06:14:52] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 4 extra nodes, 0 pruned nodes, max_depth=2
[06:14:52] src/tree/updater_prune.cc:74: tree pruning end, 1 roots, 4 extra nodes, 0 pruned nodes, max_depth=2


API endpoint addition to GET namespace to get metadata along with role mappings

Needed for #491

After stopping the stuck action (waiting for a worker to run), and re-running it, the tests are actually all green 🟢


[Feature] [helper]-[createGridClipPath]？

What problem does this feature solve?
/src/chart/helper/createClipPathFromCoordSys.ts
What does the proposed API look like?
0

clipPath无实体元素


Remove spurious action button on 'create workflow task' view

Fixes #7758. 1fe36d2597dfae558c979150651feff0f949ca03 fixed the generic base template to stop the action_url from leaking into the header, but create_task.html bypasses the base template so needs the fix applying separately.
(it would probably make sense to improve the template inheritance so that we're not repeating so much boilerplate, since this looks like a pretty much vanilla form - but since this is targeting a patch release I've kept the change minimal here.)

Alright, add/edit task views are clear.
Edit workflow has it, but add workflow doesn't.
You can check with https://gasmanfixcreate-workflow-task-cce78.squash.io/admin/workflows/edit/1/

Edit workflow now fixed too.


Add support for "Check for Update.."

@itsgg we have updates notification displayed in status bar. we can add check for upate...  too.

done :+1:


Consider adding a type ProductT

I was looking for a type
data ProductT (f :: (* -> *) -> * -> *) (g :: (* -> *) -> * -> *) m a
    = PairT (f m a) (g m a)

and was pleasantly surprised that this package already provides its sibling ComposeT.
Would a type ProductT be accepted in this package?

@phischu: Sure, I will accept it


PieChart Error : UIView base class does not support pointerEvent value: box-none

Hi, I used library version 1.4.9. RN version 0.72.4 and I still got this error "Error : UIView base class does not support pointerEvent value: box-none". It happened when I was using PieChart. When I was using LineChart, it was working normally
The pie code is:
<PieChart
onPress={() => {}}
donut
textColor="black"
radius={pieRadius}
textSize={20}
textBackgroundRadius={26}
data={pieData}
strokeWidth={4}
strokeColor={strokeColor}
/>

I'm just upgrade react-native version to 0.73.6 and this problem is gone!


API Apply Framework\ORM Namespace to model

See https://github.com/silverstripe/silverstripe-framework/issues/4562 for RFC-6 spec.
Closes #5421
This includes a bunch of other fixes:

Moves all model classes to a new ORM folder to match the namespace.
Explicitly require standard sql field methods in DBSchemaManager.
Add a standard rename map to support the upgrader tool.

Pull requests for other modules incoming.

CMS: https://github.com/silverstripe/silverstripe-cms/pull/1534
SiteConfig: https://github.com/silverstripe/silverstripe-siteconfig/pull/27
Reports: https://github.com/silverstripe-labs/silverstripe-reports/pull/33
Asset admin: https://github.com/silverstripe/silverstripe-asset-admin/pull/199
Test Session: https://github.com/silverstripe-labs/silverstripe-testsession/pull/36 (also https://github.com/silverstripe-labs/silverstripe-testsession/pull/37 to maintain 3.x compat)
Behat extension: https://github.com/silverstripe-labs/silverstripe-behat-extension/pull/117
SQlite https://github.com/silverstripe-labs/silverstripe-sqlite3/pull/23

Fixes for other DB connectors will be resolved with a future issue. See https://github.com/silverstripe/silverstripe-framework/issues/5738

Functionally there's no obvious issues for me. The upgrader worked great on all the modules I use and the unit tests all pass when I run them. Nice work!

SilverStripe\ORM\Versioning\Versioned::augmentWrite()
$manipulation uses the table name as the index now, not the class name.
framework$ git diff -w
diff --git a/ORM/Versioning/Versioned.php b/ORM/Versioning/Versioned.php
index 3b5297e..16e5dff 100644
--- a/ORM/Versioning/Versioned.php
+++ b/ORM/Versioning/Versioned.php
@@ -896,7 +896,7 @@ class Versioned extends DataExtension implements TemplateGlobalProvider {

             // If we're editing Live, then use (table)_Live instead of (table)
             if($this->hasStages() && static::get_stage() === static::LIVE) {
-                               $this->augmentWriteStaged($manipulation, $class, $id);
+                $this->augmentWriteStaged($manipulation, $table, $id);
             }
         }

Oh, you're right @mikenz good spotting.

We need to adjust heaps of markdown docs - is there a follow up task for this? It's going to be at least 50% manual I'd say.
We also need to adjust all the lessons, which will be loads of fun (re-recording videos?). Where's that work tracked?
I think given how many devs will need to read the 4.0 upgrading guide closely now, we should revise this document. It's grown quite organically over time, and doesn't have the changes with the biggest impact easily findable (references to the "upgrader" are hidden halfway through the doc)
We list renamed classes in other parts of the 4.0 upgrading guide, why don't we do this for all the namespaces? It should at least point to upgrade.yml.
PHPDoc follows the same namespace rules as PHP which means we don't need to fix @param, @return and such. But: {@link MyClassName} can link to any class (not required to be listed in use statements), so we need to go through those. Could be deferred, as long as its tracked in a ticket?
i18nTextCollector will collect fully qualified "namespaces" through DataObject->provideI18nEntities() now (for {$this->class}.SINGULARNAME. Is it too hacky to use DataObject::$table_name for it, assuming that core classes will get a short table name?
Having an FQN in ModelAdmin URLs is a bit unwieldy, do we need to allow creation of an alias there? E.g. admin/test/SilverStripe-FrameworkTest-Model-Employee should be admin/test/Employee. Low priority of course.
Needing to use FQN for string arguments and the Config system sounds a pain in the butt. Have aliases been discussed? Sorry, I'm a bit out of the loop on this. Just interested in thinking so far.

i18nTextCollector will collect fully qualified "namespaces" through DataObject->provideI18nEntities() now (for {$this->class}.SINGULARNAME. Is it too hacky to use DataObject::$table_name for it, assuming that core classes will get a short table name

My vote goes with "too hacky". My preference would be a yml rewriter that we can pass of the lang files - can we do some kind of extract-transform-load step with transifex as a one-off?

can we do some kind of extract-transform-load step with transifex as a one-off

Yeah. It's also going to mess with everybody else's translations though (not just core), so ideally it's an optional part of the upgrader. Using <MyModel>.SINGULARNAME will be quite common in projects, because the key is generated by default on text collection. Or more explicitly mentioned in the upgrade guide as a manual task.

Needing to use FQN for string arguments and the Config system sounds a pain in the butt. Have aliases been discussed? Sorry, I'm a bit out of the loop on this. Just interested in thinking so far.

The one thing that was rejected (I was one of the first people to say it was a bad idea) was just using short-names for yaml config entries, because it defeats the purposes of introducing namespacing.
So, if you were going to have aliasing, you'd need something like a 'use' statement, which would be yet-more-complexity for the config system.
My inclination would be to park it and wait for it to become an issue. I don't think we need to pre-emptively solve problems that might not be that big of an issue.

Yeah. It's also going to mess with everybody else's translations though (not just core), so ideally it's an optional part of the upgrader. Using .SINGULARNAME will be quite common in projects, because the key is generated by default on text collection. Or more explicitly mentioned in the upgrade guide as a manual task.

We'll need to rebuild a new set of master keys for 4.0 (treating 3.x and 4.x strings as independent) but that shouldn't be a problem. This is best done near the end of the namespacing. I'll create another story.

Happy with the task priorities and split Sam has proposed. +1 from me on merge, I've discovered some missing DBForeignKey use statements which Damian fixed up now. Trialled this by running the upgrader on frameworktest, which has a few models and form fields interacting with them - looks great!

Needing to use FQN for string arguments and the Config system sounds a pain in the butt. Have aliases been discussed? Sorry, I'm a bit out of the loop on this. Just interested in thinking so far.

I’ve encountered this recently, in PHP-land my personal preference is this:
use Config;
use Vendor\Namespace\SubNamespace\ClassName;
// ...
Config::inst()->get(ClassName::class, 'foo');

Doesn’t save anything for one-off calls, but saves typing the namespace repeatedly for multiple calls :)

Also, $this->config()->foo or ClassName::config()->foo works for those classes using the Configurable trait.


Fix SQLUtils.splitSqlScript: keep semicolons after END when semicolon is not the statement separator

This PR continues to stabilize ScriptUtils.splitSqlScript after major rework in https://github.com/testcontainers/testcontainers-java/pull/7646 and bug fixes in https://github.com/testcontainers/testcontainers-java/pull/7818
Problem
Currently in scripts for Oracle, where / is typically used as a statement separator, top-level BEGIN...END blocks are stripped from the semicolon. But unlike other databases, Oracle requires that semicolon is present, otherwise a syntax error occurs.

InputCurrent (incorrect) outputExpected output

BEGIN
  -- do something
END;
/
BEGIN
   -- do something else
END;

BEGIN
  -- do something
END

BEGIN
   -- do something else
END

BEGIN
  -- do something
END;

BEGIN
   -- do something else
END;

This behaviour occurs because of a misplaced line of code
This PR does not change the original behaviour of "recognizing" top-level BEGIN...END blocks when a specific statement separator is not set, i. e.

InputCurrent (correct) output

BEGIN
  -- do something
END;

BEGIN
   -- do something else
END;

BEGIN
  -- do something
END

BEGIN
   -- do something else
END

Thanks again for your contribution, @inponomarev !


Add basic yaml linting test

@deads2k @mfojtik wdyt?

@mfojtik || @deads2k I hope this is good as a first step for validating yamls. If you're ok with it I'll copy this pattern to the rest of operators we have. From there I'll start building more thorough checks for these.


added android biggest community

Fixes Issue

Changes proposed

Screenshots

Note to reviewers

hey,
why is my profile pic not showing on the contributor's list?


installation: harmonise click versions

We should:

[ ] Remove upper boundaries
[ ] Set the same minimum version everywhere

Currently it looks like follows:
$ grep click ./r*/setup.py
./reana-client/setup.py:        'sphinx-click>=1.0.4',
./reana-client/setup.py:    'click>=7,<8',
./reana-cluster/setup.py:        'sphinx-click>=1.0.4',
./reana-cluster/setup.py:    'click>=7,<8',
./reana-commons/setup.py:    'click>=7.0,<8.0',
./reana-server/setup.py:    'click>=7.0,<8.0',
./reana/setup.py:        'sphinx-click>=1.0.4',
./reana/setup.py:    'click>=6.7',
./reana-workflow-engine-cwl/setup.py:    'click>=7,<8',
./reana-workflow-engine-serial/setup.py:    'click>=7,<8',
./reana-workflow-engine-yadage/setup.py:    'click>=7,<8',

[ ] reana-client
[ ] reana-cluster
[ ] reana-commons
[ ] reana-server
[ ] reana
[ ] reana-workflow-engine-cwl
[ ] reana-workflow-engine-serial
[ ] reana-workflow-engine-yadage


V2 vtree

This PR updates the vtree API to match the one from V2 (in a barebones manner), and updates related code
All Submissions:

[ ] Have you followed the guidelines in our Contributing document?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[ ] Does your submission pass tests?

Note: please do NOT include build files (those generate by the build-xxx commands) with your PR,

Thank you for your help in advance, much appreciated !

@z3dev here is one for you :) It does nothing extraordinary, just update the api & internals of vtree (as much as possible, not perfect) to match V2.
Fyi this also includes adding back a very optimised to/from compactBinary for our main data types,
it is only in the last commit, so perhaps I can split that into a seperate PR for your convenience ?

@kaosat-dev thanks
I’ll review tomorrow, and get back to you.

@kaosat-dev this looks ready to merge. Are there any pending changes?

Awesome!


downloadable files required for ftp site

[ ]  CDS_coordinates,
by chromosome
[ ]  exon coordinates

genome

[ ]  fasta by chromosome

[ ]  fasta entire genome

[ ]  gff    (We need to list the features required in the gff file)
needs to include

[ ]  manually curated LTRs  from https://github.com/pombase/website/issues/61

[x] chromosome contigs (already available)

[ ] nucleotide cDNA fasta

[ ]  nucleotide CDS fasta
(for some reason these are currently in the genome directory)

[ ]  fasta for non cds features https://rt.sanger.ac.uk/SelfService/Display.html?id=533148

[ ]  complex file  described here https://github.com/pombase/website/issues/273

[x]  GAF (already available)

[x]  Phaf  (already available)

[x] modifications (already available)

[x] orthologs (already available)

[x] HCPIN datasets (already available)
ftp://ftp.ebi.ac.uk/pub/databases/pombase/pombe/exports/

mapping files
ftp://ftp.ebi.ac.uk/pub/databases/pombase/pombe/Mappings/

[ ]  sysID2product.tsv

[ ]  sysID2product.rna.tsv  (current version contins proten coding psudos!)

[ ]  allNames.tsv

[ ]  PomBase2UniProt.tsv

[ ]  other files with static content

can be done later
protien data

[ ]  peptide stats (non urgent)
[ ]  protein features (non urgent)
[ ]   aa composition (non urgent)

UTR

[ ]  5'  (non urgent)
[ ]  3'  (non urgent)

ftp://ftp.ebi.ac.uk/pub/databases/pombase/FASTA/
i don't know why this stuff is separate, need to decide what we need from here
some seems redundant

I think this is actually quite a complete list. I though I opened a ticket recently  (yesterday) to compile this, but I can't find such a ticket

We have a FAQ that promises a future downloadable

[ ] list of protein-coding genes

(product type = protein and NOT (Characterisation status = dubious OR Characterisation status = transposon))

fasta by chromosome

I can't find that on PomBase V1.  Could you send me the link.

It's probably a good time to reorganise.  It's hard to find things.  I think we should get rid of the pombe and DATASET sub-directories and move the contents.  There are some things to remove as well like "EBeyeXML":
ftp://ftp.pombase.org/

fasta by chromosome

ftp://ftp.ebi.ac.uk/pub/databases/pombase/pombe/Chromosome_Dumps/fasta/
from
http://www.pombase.org/downloads/genome-datasets
but currently empty?

It's probably a good time to reorganise. It's hard to find things.

YES PLEASE!

the public stuff has always been under
ftp://ftp.ebi.ac.uk/pub/databases/pombase/pombe/
I ddn't discover
ftp://ftp.ebi.ac.uk/pub/databases/pombase/
until recently and we have always made sure that the stuff linked from downloads downloads is under
pombase/pombe/
So we only need to pick the stuff we need from
pombase/ all other directories
The stuff hosted in the genome browser is here....that's "DATASETS"
The only other useful thing is
ftp://ftp.ebi.ac.uk/pub/databases/pombase/binding_motifs.bed
which should be in DATASETS
I did once look in the DATASETS directory and notice that it was a bit random....
We can try to rationalise this after public release when you work on JBrowse...
It would be great if we could reach a situation where we can get people to upload their browser trak data in the desired format, and the correct labels, and we don't need to do much but police that it is done correctly....

I suggest we move everything on the new FTP site into an "OLD" directory then move things out as we decide where to put them. We can do that live on a Skype call if you like.  I can move and rename things as we decide.
There are a few directories that I think we should rename.  "DATASETS" is one of them. I think it would be clearer to call it something like "external_datasets" or "community_datasets" to make it clear that they aren't things that we have generated.

Yes it would be pretty easy by Skype. Lets do it on this weeks call.

nucleotide cDNA fasta

The current site has three files:
cdna_introns_utrs.fa.gz
cdna_nointrons_noutrs.fa.gz
cdna_nointrons_utrs.fa.gz

Are all three needed?
ftp://ftp.pombase.org/FASTA/

Hmm, not sure. We would have created these because they were asked for, and I could see all 3 being used....
Although the UTR ones are a bit arbitrary because  you would never know if a gene had them (and they are often incorrect).
I would have thought that
cdna_introns_noutrs.fa.gz was a more common  choice but we don't provide that.
Thoughts anyone?

They're easy enough to generate if they're needed.
Perhaps we can improve the file names though.  This one for example gives me a headache:
cdna_nointrons_noutrs.fa.gz

We shouldn't need to say "nointrons" because a cDNA file shouldn't have introns in it.  And if it hasn't got UTRs it's not cDNA.
I would call that cds.fa or coding_sequences.fa

yes  you are correct.
Lets go through all the ftp files on the call. I reckon we can do that in an hour....

More things I've just noticed now: the documents linked on the legacy-pombase Documents page (http://www.pombase.org/downloads/documents) are a mix of things in the FTP "Archived directories" department and files uploaded in that sodding Drupal system. Can they all have homes somewhere in shiny-new-pombase FTP?
Let me know if you want me to make a list, or if there's any other way I can help.

I've been chipping away at generating these files from Chado each night.  There are just three files so far, but I'll add more:
https://curation.pombase.org/dumps/latest_build/fasta/

This will be so good.
imagine all of the constant checking we won't need to do. The files will just BE THERE!
Can we line wrap at the normal number (60?)
v

Can we line wrap at the normal number (60?)

Yep, will do.

sysID2product.rna.tsv (current version contins proten coding psudos!)

Just to check, should that contain every type of RNA?

Immediately I didn't think it should contain protein coding pseudo....except that if these do still make mRNA it does  sometimes have a regulatory role....so perhaps the non protein coding pseudo RNAs should be in  here?

non protein coding pseudo RNAs

Do we have any of those?  Could you point me at an example?

Sorry I didn't explain properly.
ncRNAs by definition are RNAs which do not encode proteins.
If we have an mRNA which no longer encodes a protein, I guess it could be classed as a ncRNA...
We have 28 genes flagged as pseudo. if mist RNAs related to proteins have some regulatory role (and as most of these pseudos have very close paralogs), it is possible, even likely,that the
RNA are regulatory in some capacity.
I'm thinking that the ncRNA file might be the best place for these to be....

Can we line wrap at the normal number (60?)

That's done and will be in tomorrow night's load.

Some of the files in your list are now generated nightly.  They appear in this FTP directory:
ftp://ftp.pombase.org/nightly_update/
These files are now generated nightly:

fasta by chromosome
fasta entire genome
nucleotide CDS fasta
also cds+intron sequence, cds+intron+utr sequences, and peptide sequence files in ftp://ftp.pombase.org/nightly_update/fasta/feature_sequences/

These two files:

sysID2product.tsv
sysID2product.rna.tsv  (not sure I've got this file right)

appear here:  ftp://ftp.pombase.org/nightly_update/misc/
At the moment none of the nightly generated files are copied to ftp://ftp.pombase.org/pombe/ where the rest of the files are.

All in new tickets


Update to a working Guardfile

Time was, running rubocop would error out asking you to do your Ruby regex's correctly. This fixes that.

@daachi Did you update the .rubocop.yml file as well?

argh, did not but will do so now
On Feb 3, 2016 2:39 PM, "Jeffrey Gillis"<EMAIL_ADDRESS>wrote:

@daachi Did you update the .rubocop.yml file as well?
—
Reply to this email directly or view it on GitHub.


Report API version in Report Requests.

This was a little awkward due to the way api versions are reported in the service config, but this seems as reasonable as we're gonna get.

Codecov Report

Merging #59 into master will decrease coverage by 0.07%.
The diff coverage is 70%.

@@            Coverage Diff             @@
##           master      #59      +/-   ##
==========================================
- Coverage   95.33%   95.25%   -0.08%
==========================================
  Files          30       30
  Lines        3578     3586       +8
==========================================
+ Hits         3411     3416       +5
- Misses        167      170       +3

Impacted Files
Coverage Δ

endpoints_management/control/wsgi.py
92% <ø> (ø)
:arrow_up:

endpoints_management/control/report_request.py
96% <100%> (+0.04%)
:arrow_up:

endpoints_management/control/service.py
98.28% <62.5%> (-1.02%)
:arrow_down:

Continue to review full report at Codecov.

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


Source code

Please publish the source code.

The installer claims that this is GPLv3... but there's no source?

The eula.txt was in reference to the InnoSetup installer script only.
https://github.com/razerofficial/ChromaEmulator/blob/master/installer.iss
I've switched the eula.txt to the MIT license.
https://github.com/razerofficial/ChromaEmulator/blob/master/eula.txt


Set MTU more than 255 bytes

Hi,
I use NimBLE on ESP32, but I can't set the MTU value to more than 255 bytes. is there any limitation ?
best regards

Yes, the limitation is the value set by client and by server. The lower value will be negotiated.

Thanks for your response. I got it.


Connection pooling doesn't seem to take availability into consideration

I have been trying to wrap my head around the implementation of the pooling in this driver, since we seem to suffer from concurrency issues in our application.
The scenario is this:
A web application with a single instance of mongodb connected and used throughout the app.
One request initiates a long running aggregate query.
Random subsequent requests seems to hang, until the aggregation query finishes.
Looking at the source code, I notice the "checkoutConnection" method in the pool implementation, that seems to grab a connection round-robin style regardless of the state of the connection. Wouldn't this be a problem if that connection is busy with a query?
I also looked into mongos, which according to the FAQ should consider "busy" connections. Is that the workaround, to rely on mongos for these kind of scenarios? I'm kind of surprised that I can't find anyone else finding this to be a problem, which makes me believe that we are doing something terribly wrong.
This happens with different poolSizes, but it is more error prone with a small pool size.

I wrote a simple test snippet for it:
'use strict';

const mongo = require('mongodb');
const poolSize = 5;

let db = mongo.connect('mongodb://localhost/local?maxPoolSize=' + poolSize, (err, db) => {

  let i = 0;
  let collection = db.collection('me');

  let interval = setInterval(() => {

    let query = {};

    if (i%(poolSize*4) == 0) {
      query = {$where: 'sleep(8000)'};
    }

    collection.find(query).toArray()
      .then(((index, q) => {
        return () => console.log('done with query', index);
      })(i++, query))
      .catch((e) => {
        console.error(e)
      });

    if (i == 100) {
      clearInterval(interval);
      db.close();
    }

  }, 1000);

});

Which makes it evident that query 5 will wait for query 0 because the round robin will allot it that connection in the pool, even though 4 other connections are idle and available.

The pool is used round-robin as you expect. You're hit by the slow train problem. There is no concept of checking in and out connections from the pool so no way for the driver to tell what op takes longer to execute. One strategy used for this is.
Create a seperate pool for the long running aggregation queries only so they do not affect the running
Long term the server will move to multiplexing connections on the sockets which will make this particular problem go away when pipelining ops like what the node driver does.

Thanks for responding so quickly. Will multiplexing connections really solve this issue? Do other drivers suffer from the same thing? Connection pooling is handled very differently in most drivers for other DBs, with min/max sizes and scaling to prevent having idle connections on an idle server, what does mongodb do differently that makes this harder to implement?
Would you accept a pull request if we would manage to improve the pooling to serve first idle instead of round-robin them?

Multiplexing connections on the server will fix this as multiple threads will be able to service each socket. As of now a single mongod socket is associated with a single thread.
I've already tried the suggestion you are proposing and it did not fix it as you eventually hit the same problem once all connections where no longer idle in a busy application.
I also tried putting in process.nextTick and setTimeout to have operations sit and spin waiting for a socket to appear but this causes excessive cpu usage and affects throughput badly.
My suggestion is still to put the slow ops in it's own dedicated pool. If you this would cause a major refactoring I would suggest it might be the "one" time you can use the global object to pass a connection pool around.

feel free to experiment if you wish I'm closing this issue for now.


interval="30m" returns data every 60mins

tsla = yf.Ticker("TSLA")

hist1 = tsla.history(period="50d", interval = "30m", auto_adjust=True)
hist2 = tsla.history(period="50d", interval = "60m", auto_adjust=True)

print(hist1.shape, hist2.shape)

You'll see that they are exactly the same.

This is a weird, weird, weird(!) bug with Yahoo, which is returning 60m interval when requesting for 30m interval. I've fixed it in v 0.1.26 by requesting 15m interval and resampling the returned data to 30m.
Upgrade using:
$ pip install fix_yahoo_finance -U

The upgrade didn't work. Now the query for 30mins returns for 15mins.
On Wed, Apr 17, 2019 at 12:56 AM Ran Aroussi<EMAIL_ADDRESS>wrote:

This is a weird, weird, weird(!) bug with Yahoo, which is returning 60m
interval when requesting for 30m interval. I've fixed it in v 0.1.26 by
requesting 15m interval and resampling the returned data to 30m.
Upgrade using:
$ pip install fix_yahoo_finance -U
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ranaroussi/fix-yahoo-finance/issues/64#issuecomment-483978726,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AhpqQNT33lX9Tu0xF1K_GZrRhVyeYpJ-ks5vhtOfgaJpZM4c0Pvx
.

--
Q: Why is this email three sentences or less?
A: http://three.sentenc.es

Now (v0.1.30)?

Closing this for now. Please re-open if problem persists

Hey @ranaroussi thanks for making and maintaining this awesome tool! I am running into a version this problem as well.. after running
pip install fix_yahoo_finance -U
And trying to pull history data for any interval (1m, 15m,1h, etc) it always returns daily data. I'm running version 0.1.54 of yfinance.


Implement ImGui window rendering for debugging.

Description
Resolves https://github.com/ko4life-net/ko/issues/112
This PR integrates and implements ImGui for better debugging experience.
I also implemented couple of nice features to the custom window, such as graph for FPS, as well as controling the view distance. Note that this also gets ride of the annoying debug white text on the left top corner.
Special thanks to @ko4life-psko for suggesting to use it and for answering all my questions :D🕺
Note that the ko-vendor PR needs to be merged first before triggering test build: https://github.com/ko4life-net/ko-vendor/pull/10
Some pictures:

@ko4life-psko, I'm getting a weird crash when docking one window into another in split view. Steps to reproduce:

Drag window into another docking to the top side, so that you get split view.
Drag outside one of the windows and you'll get a crash.

If you could help me trouble shoot this, that would be great. Thank you!

Hi @stevewgr, I was able to reproduce the mentioned issue, however I didn't have much time to check what was causing it. While doing it I also noticed a few more things in case you want to apply the feedback.
It could be a bug with this specific ImGui revision, I'm not sure however. I suggest checking older versions of ImGui just in case. If that doesn't help, try making a small project where you are able to reproduce the same issue, that way it will help you either find the issue or have a nice PoC to report in ImGui's official repository.

Thank you, @ko4life-psko! I think I fixed it thanks to one of your comments. Please check this: https://github.com/ko4life-net/ko/pull/168#discussion_r1014912020

@stevewgr, I just pulled your new changes and tried to reproduce. Looks like you fixed the issue 🎉
This PR LGTM 🚀

@stevewgr, I just pulled your new changes and tried to reproduce. Looks like you fixed the issue 🎉 This PR LGTM 🚀

Well, it was thanks to you xD I was breaking my head on this one. Success at its finest :D

Build passing: https://github.com/ko4life-net/ko/actions/runs/3406489311/jobs/5665210180
Merging.


Automate releases for tools

I know there is way using the GitHub API to automate releases, I don't know the specific details. So that is for me to figure out. I wish to have a release each time I push to master, using a tag as value of the version. This tag has to be created during the build and has to be based on the value of the version inside the csproj file. So to summarize:
Step 1 - Automated releases

Figure out how to make automated releases using the GitHub API
Setup a test build config, run it and clean up the test results afterwards

Step 2 - Modify build configurations for Arqanore tools

Build using .NET cli
Retrieve the value of the  tag inside the csproj file
Put that value in a tag and push the tag
Use the GitHub CLI to push a zip file and what not

Notes
The builds for the tools run now each time a commit is pushed to this repo. This however comes with a flaw because even when no change was made in the tools, they still would get triggered to build. And since the tools do not rely on the Arqanore library itself, there is no reason to build them at the same time. That is why they have different versions. That is something I'll have to figure out because otherwise each change to the library will cause a release on GitHub despite nothing has changed.

One more thing, the version should have the suffix "alpha" since the releases happen for the alpha version.


Update table.html

add the scroll in table for best view datas

Codecov Report

Merging #48 (453128c) into master (2ee433a) will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #48      +/-   ##
==========================================
- Coverage   97.01%   96.97%   -0.04%
==========================================
  Files          18       18
  Lines        1572     1555      -17
==========================================
- Hits         1525     1508      -17
  Misses         47       47

Impacted Files
Coverage Δ

...ick_reporting/templatetags/slick_reporting_tags.py
90.00% <0.00%> (-0.48%)
:arrow_down:

slick_reporting/views.py
92.38% <0.00%> (-0.28%)
:arrow_down:

slick_reporting/fields.py
88.88% <0.00%> (-0.19%)
:arrow_down:

slick_reporting/form_factory.py
97.14% <0.00%> (-0.08%)
:arrow_down:

tests/test_generator.py
98.69% <0.00%> (-0.01%)
:arrow_down:

slick_reporting/generator.py
98.74% <0.00%> (-0.01%)
:arrow_down:

tests/tests.py
100.00% <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 2ee433a...453128c. Read the comment docs.


About the test code

Hello, thanks for your amazing work.
After the model had trained. I using test_SemanticKITTI.py for inference. However, I found the self.test_dataset.min_possibility is not updating during the test time. Could you please give me some suggestions?

Hi,
According to the source code here, we picked the least possibility points while testing. And as you can see, the minimal probability is increasing (+= delta) each time. In fact, it takes a lot of time to reach (min_possibility > threshold), but I think the implementation is correct.
If you found further questions, feel free to discuss with me. (Maybe I made a mistakes but I even didn't find it XD)

Hi,
According to the source code here, we picked the least possibility points while testing. And as you can see, the minimal probability is increasing (+= delta) each time. In fact, it takes a lot of time to reach (min_possibility > threshold), but I think the implementation is correct.
If you found further questions, feel free to discuss with me. (Maybe I made a mistakes but I even didn't find it XD)

Thank you for your helpful reply!
Yes, the minimal probability is increasing (+= delta) each time.  As you mentioned in readme, I using pytorch 1.4 at inference time. It's strange that id(self.test_data.min_possibility) function in test_semanticKITTI.py(line 107) and id(self.test_data.min_possibility) function in semkitti_testset.py(line 58) shows the same id, but the self.test_data.min_possibility is not increasing in test_SemanticKITTI.py(line 107) during inference time. So I using collate_fn(line 138 in semkitti_testset.py) to return test_data.min_possibility, it works.
After the above question has solved, I meet another problem. When I using nvidia-smi during inference time, the Volatile GPU-Util is too low(about 23%). Increasing the number of num_works or batch_size brings no gain for the Volatile GPU-Util. Are you facing the same problem?
Sorry, I am not good at English. Thanks for your helpful answer.

Thank you for your helpful reply!
Yes, the minimal probability is increasing (+= delta) each time.  As you mentioned in readme, I using pytorch 1.4 at inference time. It's strange that id(self.test_data.min_possibility) function in test_semanticKITTI.py(line 107) and id(self.test_data.min_possibility) function in semkitti_testset.py(line 58) shows the same id, but the self.test_data.min_possibility is not increasing in test_SemanticKITTI.py(line 107) during inference time. So I using collate_fn(line 138 in semkitti_testset.py) to return test_data.min_possibility, it works.
After the above question has solved, I meet another problem. When I using nvidia-smi during inference time, the Volatile GPU-Util is too low(about 23%). Increasing the number of num_works or batch_size brings no gain for the Volatile GPU-Util. Are you facing the same problem?
Sorry, I am not good at English. Thanks for your helpful answer.

Hi, Thanks for your kindly reply.
First, the min_possibility issue you pointed out above might be a bug. Maybe I made some mistake when implementation. Sorry to make you confused. However, I am busy recently; thus I might verify and fix the bug a few days later. Really glad to hear you found the solution to fix it! (You can raise a PR if you want)
Second, for the low GPU-Utilization issue, I've suffered from it too. The fact is that in the official implementation, when inference, Rand-LA-Net always sequentially select the minimal possibility points and predict patch-by-patch and then finally merge/ensemble all the prediction. Thus, the commonly used Dataset class cannot make it because in this scenario, multiple workers see the same min_possibility table and choose the same min_possibility point (not last-1, last-2, ... last-N points) and thus it cause duplicated samples in a batch. Thus, I use PyTorch IterableDataset rather than Dataset class to implement sequential selection. In this implementation, I set the batch_size when declaring dataset class instead of calling Dataloader. As for num_workers, I face the same problems. Whenever I want to increase workers to > 0 value, the speed becomes dramatically low. Currently, I didn't find any better solutions to overcome this strange phenomenon.
Lastly, I am not native-English (I'm born in Taiwan) and thus my English is not proficient.
If you find further problems, feel free to ask me questions or report anything.
Thank you.

Hi, Thanks for your kindly reply.
First, the min_possibility issue you pointed out above might be a bug. Maybe I made some mistake when implementation. Sorry to make you confused. However, I am busy recently; thus I might verify and fix the bug a few days later. Really glad to hear you found the solution to fix it! (You can raise a PR if you want)
Second, for the low GPU-Utilization issue, I've suffered from it too. The fact is that in the official implementation, when inference, Rand-LA-Net always sequentially select the minimal possibility points and predict patch-by-patch and then finally merge/ensemble all the prediction. Thus, the commonly used Dataset class cannot make it because in this scenario, multiple workers see the same min_possibility table and choose the same min_possibility point (not last-1, last-2, ... last-N points) and thus it cause duplicated samples in a batch. Thus, I use PyTorch IterableDataset rather than Dataset class to implement sequential selection. In this implementation, I set the batch_size when declaring dataset class instead of calling Dataloader. As for num_workers, I face the same problems. Whenever I want to increase workers to > 0 value, the speed becomes dramatically low. Currently, I didn't find any better solutions to overcome this strange phenomenon.
Lastly, I am not native-English (I'm born in Taiwan) and thus my English is not proficient.
If you find further problems, feel free to ask me questions or report anything.
Thank you.

Thank you for your helpful suggestions despite your busy schedules.
I've never made PR in github before, I'm going to give it a try.
Em, when I use your code to train or inference, I also meet other problems. For example, I must using pytorch 1.1 to train and using pytorch 1.4 for inference. When I using pytorch1.1 to train RandLA Net, I meet an error at line 119 in train_SemanticKITTI.py. The error is that loss is not contiguous. When I using pytorch 1.1 for inferencing, I can not use IterableDataset. Sadly, I did' t find a good solution for this.
And you are missing two functions in data_process.py.
`
@staticmethod
def load_pc_kitti(pc_path):
scan = np.fromfile(pc_path, dtype=np.float32)
scan = scan.reshape((-1, 4))
points = scan[:, 0:3]  # get xyz
return points
@staticmethod
def load_label_kitti(label_path, remap_lut):
    label = np.fromfile(label_path, dtype=np.uint32)
    label = label.reshape((-1))
    sem_label = label & 0xFFFF  # semantic label in lower half
    inst_label = label >> 16  # instance id in upper half
    assert ((sem_label + (inst_label << 16) == label).all())
    sem_label = remap_lut[sem_label]
    return sem_label.astype(np.int32)

`
Your work helps me a lot. Many thanks for sharing!

Thank you for your helpful suggestions despite your busy schedules.
I've never made PR in github before, I'm going to give it a try.
Em, when I use your code to train or inference, I also meet other problems. For example, I must using pytorch 1.1 to train and using pytorch 1.4 for inference. When I using pytorch1.1 to train RandLA Net, I meet an error at line 119 in train_SemanticKITTI.py. The error is that loss is not contiguous. When I using pytorch 1.1 for inferencing, I can not use IterableDataset. Sadly, I did' t find a good solution for this.
And you are missing two functions in data_process.py.
`
@staticmethod
def load_pc_kitti(pc_path):
scan = np.fromfile(pc_path, dtype=np.float32)
scan = scan.reshape((-1, 4))
points = scan[:, 0:3]  # get xyz
return points
@staticmethod
def load_label_kitti(label_path, remap_lut):
    label = np.fromfile(label_path, dtype=np.uint32)
    label = label.reshape((-1))
    sem_label = label & 0xFFFF  # semantic label in lower half
    inst_label = label >> 16  # instance id in upper half
    assert ((sem_label + (inst_label << 16) == label).all())
    sem_label = remap_lut[sem_label]
    return sem_label.astype(np.int32)

`
Your work helps me a lot. Many thanks for sharing!

Close for finishing the conversation.

@tsunghan-mama @dream-toy hello
i have a question,how long time when run test_SemanticKITTI.py

@tsunghan-mama @dream-toy hello
i have a question,how long time when run test_SemanticKITTI.py

About 40 minutes. I think the bottleneck is self.update_predict function. Because the network's output should save to self.test_probs. So there are many I/0 between memory and GPU during prediction. Until now, I don't have a good solution for this.

Is it similar to the original  Tensorflow  code

@dream-toy @caoyifeng001 I agree that voting several prediction is not efficient. I've tried to remove the voting procedure but get a really bad result. I think maybe you can use some other methods which do not need this step, such as MinkowskiNet or SPVCNN.

Hi, thanks a lot for the great work.
Just want to know how long it takes to finish one epoch training.
I'm using a V100 GPUs, the training time is about over 2 hours / epoch. Not sure if this is normal.

@13952522076. for a single 20800ti need 42min peer epoch in my experiment.

@huixiancheng Thanks a lot. Just want to know if you have made some modifications?

@13952522076  Just modify num_worker and reduce val_batch_size to 15 to fit the device.  and some unrelated log output modifications
From the logs, it seems to be work on the right way.

@13952522076 Just modify num_worker and reduce val_batch_size to 15 to fit the device. and some unrelated log output modifications
From the logs, it seems to be work on the right way.

Thanks a lot. Can I add your WeChat for better communication? My ID is mxbjd0716

@huixiancheng Thanks a lot. Can I add your WeChat for better communication? My ID is mxbjd0716

Sorry, please allow me to refuse

@huixiancheng No problem, thanks a lot for your kind help.

Hi, I would like to know how much memory you need for testing SemanticKITTI. When setting batch=1, I need almost 32G of memory (not GPU memory). Is this normal? Or is there any way to reduce that demand？ @dream-toy

@13952522076 Just modify num_worker and reduce val_batch_size to 15 to fit the device. and some unrelated log output modifications From the logs, it seems to be work on the right way.

how did you get this results? when i run evaluate following the readme,I get this results:
`INTERFACE:
Eval What: all
Data:  /media/liuzhen/nvme1/SemanticKITTI/randla_data
Predictions:  runs/kitti-test
Sequences:  ['8']
Config:  utils/semantic-kitti.yaml
Limit:  None

Opening data config file utils/semantic-kitti.yaml
Ignoring xentropy class  0  in IoU evaluation
[IOU EVAL] IGNORE:  [0]
[IOU EVAL] INCLUDE:  [ 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19]
Evaluating sequences
0it [00:00, ?it/s]
Validation set:
Acc avg 0.000
IoU avg 0.000
IoU class 1 [car] = 0.000
IoU class 2 [bicycle] = 0.000
IoU class 3 [motorcycle] = 0.000
IoU class 4 [truck] = 0.000
IoU class 5 [other-vehicle] = 0.000
IoU class 6 [person] = 0.000
IoU class 7 [bicyclist] = 0.000
IoU class 8 [motorcyclist] = 0.000
IoU class 9 [road] = 0.000
IoU class 10 [parking] = 0.000
IoU class 11 [sidewalk] = 0.000
IoU class 12 [other-ground] = 0.000
IoU class 13 [building] = 0.000
IoU class 14 [fence] = 0.000
IoU class 15 [vegetation] = 0.000
IoU class 16 [trunk] = 0.000
IoU class 17 [terrain] = 0.000
IoU class 18 [pole] = 0.000
IoU class 19 [traffic-sign] = 0.000

0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000`


Achieve threshold on XXZZ Decoder

The physics error rate below which larger surface codes become better is called the threshold.
We hope to show this crossing of logical error rates of different sized surface codes in simulation.

As shown by the images below, we were able to demonstrate threshold on the xxzz-thershold branch.


gem not available on Rubygems.org

Great code, but it doesn't appear it's hosted as a gem on rubygems.org. The "wink" gem listed there is not yours.

Appreciate it! The gem unfortunately was pushed prematurely and doesn't have any functionality. I can reach out to the owner, but I'm not actively maintaining this anymore as I've switched to using Vera.

@tmilewski I noticed you own the wink rubygem, but doesn't have any functionality right now. Would you be willing to unpublished the wink gem from RubyGems so another gem can be pushed up in its place?

You can download the source and build it locally if you want to get the updated code.
git clone https://github.com/dewski/wink.git
cd wink
gem build wink.gemspec
sudo gem install wink-0.0.3.gem


Entrez database fetching

Hey guys. I have recently started to adapt a bunch of code that my lab has developed to make use of skbio instead of our own bioinformatics library. One of the features we use a lot in our projects is an implementation of the Entrez API. Would I be correct to understand that accession to this API is not yet implemented in skbio? Would it be of interest to the project to add this feature?
Why the feature would be useful:

The Entrez API is the main interface of access to the widely used NCBI sequence databases
Often fetching resources from online databases is much easier than manually downloading everything
NCBI servers are very robust and can be used reliably by applications, meaning that many scikit-bio based frameworks and aplications could benefit from it

Besides, this feature would be unusualy simple to implement, as there really is not much code to it (our whole docummented implementation is less than 200 lines of code).

Hi @aleferna12 that is correct I believe, and it would be an amazing contribution!!

Ill be glad to fork the repo and work on it then! In which submodule would this feature fit best, @wasade? Maybe a new one should be created for it (and other database fetching code)?

@aleferna12 that's wonderful, thank you so much! How does skbio.db sound?

Sounds good to me. I'll update this tread once the fork is ready to be merged then

Wonderful, thank you!

So, I've been working on this and the code is mostly complete and already functional. However, there are a few things I'm indecisive about and would like some input on before I waste a ton of time implementing:

The Entrez API docs don't define explicit default values for most parameters. Usually the parameters in the API are either set to a specific value or ommited (which results in the default behavior). For an example of this, see the "version" parameter of EInfo. Right now, I'm implementing any undefined defaults as "None", but maybe a type such as "EntrezDefault" would be better? Or maybe we should use a dummy guessed value such as "1.0" (in the example of EInfo "version") as to differentiate the cases in which the default value of the Entrez API is omitted from the cases in which there is no default value (such as in EInfo's "db" parameter).
This is also related to point 1. Maybe we shouldn't make every parameter from the API explicit? And instead just use **kwargs to allow the user to pass the desired arguments to the calls. I actually don't like this approach because it seems much more cryptic and lazy, but it is what other libraries such as Biopython have preferred. I've no issues implementing every parameter from each function of the API in python but I would like to know we are in the same page regarding this matter as not to waste my time.

Bellow is an example of the implementation of ESearch that shows why I'm unsure of how to approach this matter:
def esearch(db,
            term,
            usehystory=None,
            webenv=None,
            query_key=None,
            retstart=0,
            retmax=20,
            rettype="uilist",
            retmode="xml",
            sort=None,
            field=None,
            idtype=None,
            datetype=None,
            reldate=None,
            mindate=None,
            maxdate=None,
            parse_mode="utf8",
            max_tries=2,
            interval=5):
    """Placeholder for an absurd amount of documentation copied from the Entrez website describing each parameter"""
    parameters = {
        "db": db,
        "term": term,
        "usehystory": usehystory,
        "webenv": webenv,
        "query_key": query_key,
        "retstart": retstart,
        "retmax": retmax,
        "rettype": rettype,
        "retmode": retmode,
        "sort": sort,
        "field": field,
        "idtype": idtype,
        "datetype": datetype,
        "reldate": reldate,
        "mindate": mindate,
        "maxdate": maxdate
    }
    # Only this bit of code would actually be required if we omitted the parameters and used **kwargs instead
    if type(mindate) != type(maxdate):
        raise ValueError("'mindate' and 'maxdate' parameters must be either both defined or both"
                         "undefined")
    return _make_entrez_request("esearch.fcgi?",
                                parameters,
                                parse_mode=parse_mode,
                                max_tries=max_tries,
                                interval=interval)

What do you reckon @wasade? Eager to hear your opinions on this.

That's great @aleferna12! I think it would be better to enumerate the arguments rather than kwargs, with reasonable defaults if listed in Entrez, and leave as None otherwise (unless there are realistic defaults)? I realize this is more typing, but as you note, it the kwargs is a bit more cryptic to track down what needs to be done.
If pulling the text for the arguments from another source, would it be possible to make sure the attribution is explicit in the Notes section, and to include a References block for users to find more detail?

Nice! I agree. I think that to avoid confusion it would be best to default parameters to None unless they are explicitly defined in the API. I'll make sure to include links to the Entrez docs in each function and in the module docstring as well.

Thank you!

Hey! How are we going to deploy tests for this module? I currently have basic tests that compare the request url resulting from a function call to an expected url taken from entrez docs examples. More testing than that would have to be performed online by actually making sending requests to the server I suppose... Is this a problem?

If the requests are small, and effectively assured to remain valid, and the suite issues a relatively small number of them then I think it is fine. Another thing done in this space is to use patch or mock from the unittest module.

Hey, sorry to bother again. Ive resumed working on this issue and just want to confirm that the tests I have developed are significant since I didnt have much prior experience with the unittest module.
This is the approach I came up with (the implementation of some functions was omitted for clarity).
class TestOffline(unittest.TestCase):
    """Set os tests that can be performed offline.

    These tests ensure a correspondence between the URL generated by the entrez functions and the
    expected tested URL. They also test if `entrez._parse_response` can correctly convert between
    types (doesn't test if the content of the response is correct though).
    """
    def test_einfo_no_args(self):
        # Because the default arguments must be included in the URL, a parameterized URL is
        # inevitable even if we call 'entrez.einfo()' with no arguments
        expected_url = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/einfo.fcgi?retmode=xml"

        with urlopen_patch() as patch:
            result = entrez.einfo()

        self.assertEqual(expected_url, get_url_from_patch(patch))
        self.assertIsInstance(result, str)

class TestOnline(unittest.TestCase):
    """Set of tests that can only be performed online.

    These tests compare the output of an actual call of entrez functions against pre-obtained files
    that represent the expected result. Both the retrieval of text data and further parsing by the
    `entrez._parse_response` are tested.

    Presumes there is access to the internet and that the Entrez API is stable enough to always
    return the same response (it should be).
    """
    def test_einfo_retmode_json(self):
        einfo_result = entrez.einfo(retmode='json')
        with open(get_data_path("einfo_retmode_json.json")) as file:
            expected_result = json.load(file)

        self.assertEqual(einfo_result, expected_result)

What do you think about this? It's the last thing on the checklist before I submit the pull request.

Thanks! I think this makes sense. For the online tests, it would be advantageous to test specific fields that should never change, rather than testing for exact equality on the assumption the external resource may itself fluctuate in ways that we aren't concerned about

Hey! Sorry that I haven't updated this in a while. I submitted the pull request just now, if anything needs revisions let me know.


Multi Application [Support JPro runtime]

I am using JPro (https://www.jpro.one) to create a web app. And I ran into the problem that TornadoFX does not work well with multiapplication:

EventBus and ThreadPool are canceled;
FX.defaultScope - global state, due to which the wrong scope is sometimes taken;
other subtleties of TornadoFX that I do not know about.

I plan to change this, so I ask you to participate and put forward your suggestions how it should or may look like.

I think it's worth creating a public API to stop the Application


Deletion of template scans does not cleanup dependencies and result

Models need to be updated so that cascade="all,delete" is enabled when a child/parent relationship is configured

Fixed in #168


LOAM based localization

Checklist

[X] I've read the contribution guidelines.
[X] I've searched other issues and no duplicate issues were found.
[X] I've agreed with the maintainers that I can plan this task.

Description
LOAM based localization feature provides more robust and reliable localization for an ego vehicle in tunnels. This is a different localization feature than the current ones. This task is getting done under the Autoware Labs for Localization & Mapping Tasks.
This task has a mapping part. For this part, a PCAP file contains the position + point cloud packages inside it and ground truth pose data will be published.
For the development and testing of the feature, YTU Campus area PCAP and Ground Truth pose data will be used. This link includes the data: https://drive.google.com/file/d/1ivVL4hYuqqzlTSMTbJV7gEvlbPvMJ7-M/view?usp=drive_link
The usage of the data will be shown in the conversation on this issue.
Purpose
Being able to generate LOAM feature point cloud maps and establish localization for ego vehicles with those feature maps. Make it a localization package in Autoware.
Possible approaches

Use the precise time-tagged points for extracting the point clouds.
Use the feature layers coming from the LOAM continuously to localize with the vehicle.

Definition of done

[ ] Convert the PCAP file into the point clouds. (Each point must include precise time)
[ ] Ground truth poses are used instead of LOAM output poses.
[ ] Generate edge feature and surface feature point cloud maps with LOAM
[ ] Calculate the position changes of the ego vehicle with those features.
[ ] Prepare the package.

An issue for creating the point clouds is opened. Here is the link:

https://github.com/autowarefoundation/autoware.universe/issues/6741

Additionally, this comment contains the details for using the data:

https://github.com/autowarefoundation/autoware.universe/issues/6741#issuecomment-2036856958

Hi everyone,
I have uploaded some data for testing and developing the package. LOAM feature maps can be found in this link:

https://drive.google.com/file/d/1caxN-uhCW9Y_ihpqUadlQT7KF-b4EQWR/view?usp=sharing
The testing rosbag for this environment will be published later.

After we have complete the below task it can be used for this package and LOAM mapping too.

#4725


pres_animal_insect "other;{integer}"

pres_animal_insect

field
value

Environmental package
agriculture

Structured   comment name
pres_animal_insect

Package   item
presence   of pets, animals, or insects

Definition
The   type and number of animals or insects present in the sampling space.

Expected   value
enumeration;count

Value   syntax
[cat|dog|rodent|snake|other];{integer}

Example
cat;5

Section

Requirement
X

Preferred   unit

Occurrence
1

MIXS   ID
MIXS:0000819

github   ticket
couldnt this also be covered by the "observed   host symbiont" field?

see also #366

^(cat|dog|rodent|snake|other);\d+$ will accept dog;0


fix: install map_data

Fixes #1228
Note that this only matters for the source distribution, the wheel seems to do fine. But I don't understand why the conda-forge distribution does include the json files.
@martinRenou maybe you can try to confirm the difference between this branch and master.
(Note that the files are include in the sdist, but a pip install will not put them in the site-packages/bqplot/data_data directory)

@ibdafna and @ChakriCherukuri said in the weekly meeting that we should not go ahead. These files are used.

Note that this PR fixes the sdist to include those, not remove it.

I guess there was a confusion with the other PR that removes source map files.

I'm still looking into why this fix is needed. The wheel seems fine but the sdist does include the data (due to the manifest.in file), but it's not being installed. The fact that on conda forge it does get installed, might indicate a version issue or my misunderstanding.

Ok, I'm clueless now why we need this PR, From master static does get installed, but the map_data does not, can you confirm this for me @martinRenou ?
# from master
$ rm -rf dist build MANIFEST bqplot.egg-info
$ python setup.py -v sdist
$ pip install -v  dist/bqplot-0.12.18.tar.gz
$ ls $CONDA_PREFIX/lib/python3.7/site-packages/bqplot
__init__.py        _version.py        colorschemes.py    figure.py          interacts.py       marks.py           scales.py          toolbar.py
__pycache__        axes.py            default_tooltip.py install.py         market_map.py      pyplot.py          static             traits.py

Since conda-forge installs using pip install ., which first builds a wheel which it then installs, it does pick up the map_data:
$ pip install -v .
$ ls $CONDA_PREFIX/lib/python3.7/site-packages/bqplot                                                                                dev
__init__.py        _version.py        colorschemes.py    figure.py          interacts.py       market_map.py      pyplot.py          static             traits.py
__pycache__        axes.py            default_tooltip.py install.py         map_data           marks.py           scales.py          toolbar.py

Conclusion: pip install <source-package>.tar.gz is broken/different from pip install . and pip install <name>.whl. This was always the case I think, but nobody installs from source packages it seems.


Cookie banner

The new version of the Design System includes a cookie banner, we should implement it.

@peteryates I'd be interested in picking this up if you haven't already started

I haven't yet, please do.


Referring to a previous issue, as I am having it as well

#4
I realized, with this mod installed, if you go over a certain limit of active mods, the crash listed there will happen.
I tested it with and without Harvest Scythes, and without it, I will not crash no matter how many mods I have installed, but with it installed, it will output that crash after a certain number.
I tested by switching between mods, swapping one out for another, and they never crashed, but the moment I went over a certain limit (I didn't count specifically), I would crash just like that.
I'm unsure what this means, or how to fix it, but I did want to clarify that this issue does exist with this mod installed, and only this one.
So it's not an error between mods, but seems to be an error after having a certain amount.

Can you post a crash log?
https://www.curseforge.com/minecraft/mc-mods/not-enough-crashes
Having NotEnoughCrashes installed as well would help a lot.

Okay, so I had done a bit of tinkering after I disabled this mod, so the list will look a little different, but what I did was just pop on both NEC and HS to generate this crash:
https://pastebin.com/4fUzNEzH
Which happens before being able to initialize the game.
I will also attach a pastebin of the crash before I disabled the mod (without NEC):
https://pastebin.com/QD1W1m4A
had to remove some irrelevant footstep errors to fit that log in a pastebin, but wanted both for continuity's sake.
Hope this helps!

I finded active mods limit, it's 384 mods. More than 384 - crash.

Can any of you join my discord and help me debug?
https://discord.gg/vMjzgS4


Update browserslist in package.json

Pull Request
What does this PR do?
Fixes #208
PR checklist
Please check if your PR fulfills the following requirements:

[x] Does this PR fix an existing issue?
[x] Have you read the contributing guidelines?
[x] Have you made sure that the title is accurate and descriptive of the changes?

Thank you so much for contributing to Meilisearch!

bors merge


Move configuration to .config

related to this: https://github.com/watermint/toolbox/issues/364
Objective:
There is no common configuration path if a user use -workspace to change path to entire workspace.
This design make difficult define configuration value for workspace (e.g. config for -retain-job-data cannot be stored in current path because of timing for load configurations)

Close the issue with following reasons:

Configurations already moved to .config/watermint-toolbox/config.json
Other file such as .toolbox/jobs and .toolbox/secrets are not much considered as "configuration"


I used '--harmony' flag to run my koa application but it reported error

I wrote the following line to run my koa app:
supervisor -w --harmony index.js
But it reported:
function *respond(next) {
         ^
SyntaxError: Unexpected token *
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (C:\projects\html-file-server\release\index.js:4:9)
    at Object.<anonymous> (C:\projects\html-file-server\release\index.js:22:4)
    at Module._compile (module.js:460:26)
Sending SIGINT to child...

Is there anything I've done wrong? How to run ES6 app with supervisor correctly? The version of supervisor I'm using is 0.6.0. Thanks for any advice

@hwoarangzk: I know this is a couple months old, but you need to switch the order of the flags, like this:
supervisor --harmony -w index.js

The -w flag expects the filenames to follow immediately.

Thank you so much :) Problem solved

And how to enable supervisor with --harmony_destructuring flag??

Yes, i do. I have changed the code a little bit in a supervisor's file in the lib module. Added a variable of harmony_destructuring. Works like a charm)))

Any PR coming for --harmony_destructuring (j/w)?

Solved in v0.11.0 thx to @robwilkerson