Add stack.yaml

Supercedes #15, just adds stack.yaml, doesn't convert cabal file into hpack

It should be possible to just stack init for those people who want to develop with stack.
There should be CI for stack however, and that will be added in https://github.com/haskell-works/tasty-discover/pull/21

It's actually not, because stack will try to find a resolver matching all
the constraints, and currently, the cabal file lists a lower bound for
packages that are not yet on Stackage (see extra-deps).
Regardless, what's the harm in just committing the file?
On Mon, May 16, 2022, 7:44 PM John Ky @.***> wrote:

It should be possible to just stack init for those people who want to
develop with stack.
There should be CI for stack however, and that will be added in #21
https://github.com/haskell-works/tasty-discover/pull/21
—
Reply to this email directly, view it on GitHub
https://github.com/haskell-works/tasty-discover/pull/21#issuecomment-1128342366,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGUC75PBR3LU6EGWAIUIEMDVKMBXRANCNFSM5WDCQJCA
.
You are receiving this because you authored the thread.Message ID:
@.***>

I've bumped down the version of the dependency and it should be an issue anymore.
Regarding the stack trying to find a resolve, the CI will explicitly choose a resolver, so stack should be searching for a resolver in that case.

This now works:
$ stack init
Looking for .cabal or package.yaml files to use to init the project.
Using cabal packages:
- ./

Selecting the best among 21 snapshots...

* Matches https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/19/7.yaml

Selected resolver: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/19/7.yaml
Initialising configuration using resolver: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/19/7.yaml
Total number of user packages considered: 1
Writing configuration to file: stack.yaml
All done.

Should there be a test in CI for a plain stack init? I noticed the current
CI job specifies hardcoded resolvers.
On Mon, May 16, 2022, 7:55 PM John Ky @.***> wrote:

This now works:
$ stack init
Looking for .cabal or package.yaml files to use to init the project.
Using cabal packages:

./

Selecting the best among 21 snapshots...

Matches https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/19/7.yaml

Selected resolver: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/19/7.yaml
Initialising configuration using resolver: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/19/7.yaml
Total number of user packages considered: 1
Writing configuration to file: stack.yaml
All done.
—
Reply to this email directly, view it on GitHub
https://github.com/haskell-works/tasty-discover/pull/21#issuecomment-1128351882,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGUC75LM2UND3UC5NGBK3ILVKMDCFANCNFSM5WDCQJCA
.
You are receiving this because you authored the thread.Message ID:
@.***>

I think if stack init works for any lts, then it should work without an lts.
I'll be happy to add stack init without a resolver if we bump into a case where this isn't true.

Sounds good. Thanks!
On Mon, May 16, 2022, 8:21 PM John Ky @.***> wrote:

I think if stack init works for any lts, then it should work without an
lts.
I'll be happy to add stack init without a resolver if we bump into a case
where this isn't true.
—
Reply to this email directly, view it on GitHub
https://github.com/haskell-works/tasty-discover/pull/21#issuecomment-1128364964,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGUC75JTOQMWGENK74Q5MKDVKMGE7ANCNFSM5WDCQJCA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Design Jenkins-Luigi integration for driver projects

Moving from BD2KGenomics/driver-projects#17

Obsoleted by @briandoconnor's new architecture for the core.


Dan's New Template for testing

This is my test template.

Your commits must be signed. Please review DCO...


[Bug] Create dynamic partition table failed with enable create_history_partition and not specify the start value

fix the issue #5995
Add the property "dynamic_partition.history_partition_num" to specify the history partition number when enable create_history_partition to fix the invalid date format value
and add these two properties to docs
Proposed changes
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.
Types of changes
What types of changes does your code introduce to Doris?
Put an x in the boxes that apply

[ x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)
[ ] Code refactor (Modify the code structure, format the code, etc...)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[ x] I have created an issue on (Fix #5995) and described the bug/feature there in detail
[ ] Compiling and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If these changes need document changes, I have updated the document
[ ] Any dependent changes have been merged

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Hi @harveyyue Thank for your PR.
But I think if neither start nor history_partition_num is set, we should not create any history partition.
the there should be no default value for history_partition_num.

Hi @harveyyue Thank for your PR.
But I think if neither start nor history_partition_num is set, we should not create any history partition.
the there should be no default value for history_partition_num.

when enable the property "dynamic_partition.create_history_partition" and not set property "dynamic_partition.start"
will getting following date format error, create table failed
2021-06-08 12:19:21,255 WARN (doris-mysql-nio-pool-0|147) [DynamicPartitionScheduler.getAddPartitionClause():169] Error in gen addPartitionKeyRange. Error=errCode = 2, detailMessage = date literal [+178951742-12-01] is invalid, db: default_cluster:poc, table: dwd_tf_order2

Hi @harveyyue , thanks for your PR.

one more thing, i want to keep 100 partitions with set dynamic_partition.start=-100, and want to create 20 old partitions rather than getting 100 old partitions.

Depending on your needs, it is necessary to add the dynamic_partition.history_partition_num parameter. But there is no need to set default value for history_partition_num.
Control the behavior of automatic history partition creation based on the three parameters,  start,create_history_partition,history_partition_num.
Here's the suggested logic pseudocode:
expect_create_partition_num;

if (!create_history_partition) {
  start = 0;
  expect_create_partition_num = end - start;
} else {
  if (history_partition_num != 0) {
    expect_create_partition_num = end - MAX(start, -history_partition_num);
  } else {
    if (start == Integer.MIN_VALUE) {
      throw exception
    }
    expect_create_partition_num = end - start;
}

if (expect_create_partition_num > max_dynamic_partition_num) {
  throw exception
}

You can add this logic in function: https://github.com/apache/incubator-doris/blob/ba84eacb8c2d0d70bff9fc43f7d13b7382384aed/fe/fe-core/src/main/java/org/apache/doris/common/util/DynamicPartitionUtil.java#L295
Here is detail code:
https://github.com/apache/incubator-doris/blob/ba84eacb8c2d0d70bff9fc43f7d13b7382384aed/fe/fe-core/src/main/java/org/apache/doris/common/util/DynamicPartitionUtil.java#L351-L359
By the way, you also need to update dynamic partition doc https://github.com/apache/incubator-doris/blob/master/docs/en/administrator-guide/dynamic-partition.md, for both Chinese and English.
If you have any questions , feel free to reach out.

Hi @harveyyue , thanks for your PR.

one more thing, i want to keep 100 partitions with set dynamic_partition.start=-100, and want to create 20 old partitions rather than getting 100 old partitions.

Depending on your needs, it is necessary to add the dynamic_partition.history_partition_num parameter. But there is no need to set default value for history_partition_num.
Control the behavior of automatic history partition creation based on the three parameters, start,create_history_partition,history_partition_num.
Here's the suggested logic pseudocode:
expect_create_partition_num;

if (!create_history_partition) {
  start = 0;
  expect_create_partition_num = end - start;
} else {
  if (history_partition_num != 0) {
    expect_create_partition_num = end - MAX(start, -history_partition_num);
  } else {
    if (start == Integer.MIN_VALUE) {
      throw exception
    }
    expect_create_partition_num = end - start;
}

if (expect_create_partition_num > max_dynamic_partition_num) {
  throw exception
}

You can add this logic in function:
https://github.com/apache/incubator-doris/blob/ba84eacb8c2d0d70bff9fc43f7d13b7382384aed/fe/fe-core/src/main/java/org/apache/doris/common/util/DynamicPartitionUtil.java#L295
Here is detail code:
https://github.com/apache/incubator-doris/blob/ba84eacb8c2d0d70bff9fc43f7d13b7382384aed/fe/fe-core/src/main/java/org/apache/doris/common/util/DynamicPartitionUtil.java#L351-L359
By the way, you also need to update dynamic partition doc https://github.com/apache/incubator-doris/blob/master/docs/en/administrator-guide/dynamic-partition.md, for both Chinese and English.
If you have any questions , feel free to reach out.

ok, I will r

hi @qidaye
I have completed these code changes according your suggestion, I use "git rebase" to merge these two commits to one, and resubmit the following pr. Please help to review it.
https://github.com/apache/incubator-doris/pull/6129

hi @qidaye
I have completed these code changes according your suggestion, I use "git rebase" to merge these two commits to one, and resubmit the following pr. Please help to review it.
#6129

Thanks for such a quick improvement, I'll look into it.


Build Fail: No rule to make target, Makefile:380

@marcelstoer , Almost at the end of the nodemcu build, the following failure stops the process:
...
make[1]: *** No rule to make target 'driver/.output/eagle/debug/lib/libdriver.a', needed by '.output/eagle/debug/image/eagle.app.v6.out'.  Stop.
make[1]: Leaving directory '/opt/nodemcu-firmware/app'
Makefile:380: recipe for target '.subdirs' failed
make: *** [.subdirs] Error 2
make: Leaving directory '/opt/nodemcu-firmware'

Fixed by rebooting PC


safe access media caption array element

As stated, safely accesses the media caption element. Checks for existence before attempting to access by array indexes.

FYI, when a media item has no caption, the edge_media_to_caption data is empty.

@jasonadkison noted, thank you for contribution.


When on small screens Make the detailed App take up the whole screen

Description
Before commit https://github.com/refugeetech/MigHub/commit/ca6272a67a893eae49649110579cd6543a16321f fixing the popup size on desktop screens the popup looked great on mobile screens by taking up the whole screen.
Todo
Condition the popup to look like before when on small screens and like in commit https://github.com/refugeetech/MigHub/commit/ca6272a67a893eae49649110579cd6543a16321f when on big screens

@Ozcino Are you able to take this issue?


[1.19.2]: nethersdelight.block.feast.use_knife text doesn't display

Description
When right-clicking the stuffed hoglin block, the text that appears is "nethersdelight.block.feast.use_knife" instead of "You need a Knife to cut this."
Steps to reproduce

place stuffed hoglin
right click it with a bare hand

Mod list
Nether's delight 1.19-3.0
Farmer's delight 1.19-1.2.0
Logs
No response
Forge

[X] I am using the Forge version of Nether's Delight

Minimal instance

[ ] I have tested this on a minimal instance

Performance and shader mods

[X] I have tested this without performance or shader mods

Probably Umpaz forgor to add a lang entry, I'll just add it real quick.

This is still present btw

Because umpaz never released an update to CF

umpaz L moment basically, if you need a fix right now, you can just use a resource pack (preferably with some auto resource loader) with a en_us.json lang file with that "nethersdelight.block.feast.use_knife" as a key, and value "You need a Knife to cut this."


Rose Pine Custom Theme

Hi please would it be possible to create Rose Pine Custom theme?? Dark desert is good but have rose pine theme for win11....

Hi @Mojas84,
you can create as many custom themes as you wish, it's really up to the user. The existing georgia-reborn-custom.jsonc file
located in your foobar2000\profile\georgia-reborn\configs\ directory, contains the 10 official Georgia-ReBORN custom themes. Rename this config file or move it to another directory and reload the theme, this will create a new default
georgia-reborn-custom.jsonc file in the folder. You will now have the default template with 10 slots.
Now go to top menu Options > Theme > Custom > Edit custom theme.
The custom theme menu will open, select from the menu Options > Info and read the description first.
From the custom theme menu, go to Options > Theme 02. This will automatically select custom theme slot 02.
Now change the colors as you like via pasting the HEX color code or use the color picker,
the colors will be automatically written and updated to your new georgia-reborn-custom.jsonc file.
It is helpful for new users to click on the :bulb: icon next to the input HEX color code,
this will mark and show you what color is assigned to which UI element.
If you have finished your custom theme/s, you can showcase it in this thread here: https://github.com/TT-ReBORN/Georgia-ReBORN/discussions/99
Good to know: If you're using the Reborn theme and you have discovered great colors from an album,
you can automatically save them when you use Options > Theme > Custom > Save current colors and select a slot.
You can now select the theme via Options > Theme > Custom and select the slot you have previously saved it.
When the custom theme is active, you can rename the slot via Options > Theme > Custom > Rename custom theme
-TT


wrong serverinfo if color is set to fully saturated

Trying to detect the current status with command serverinfo.
But if I set the color to a fully saturated color like FF0000 or FF00FF, the serverinfo contains no activeLedColor. However FFFFFF works.

@deespe
Sorry, my thinking errors.
Pull Request to fix the error was created.


Unit Tests -- Core-Metadata: Get All Commands

Related to: https://github.com/edgexfoundry/edgex-go/projects/11#card-23264347

this issue is supposed to be with label - enhancement ..but now i do not see a way to change the label.
Could you please assign it to me


No option to install without docker?

Really thought, assuming rather that this would be ready to go, didn't realise until i got to the bottom that you need docker

You don't need docker at all, you can just build the source yourself. Docker just makes it easier :whale:

i try to build from source but dependencies don't exist, also in the make file it is referencing docker, don't know if this is conflict,
go build openvpn_exporter.go
openvpn_exporter.go:29:2: cannot find package "github.com/prometheus/client_golang/prometheus" in any of:
/usr/lib/go-1.6/src/github.com/prometheus/client_golang/prometheus (from $GOROOT)
($GOPATH not set)
openvpn_exporter.go:30:2: cannot find package "github.com/prometheus/client_golang/prometheus/promhttp" in any of:
/usr/lib/go-1.6/src/github.com/prometheus/client_golang/prometheus/promhttp (from $GOROOT)
($GOPATH not set)

It looks like your golang environment is not set up correctly?
Also, we build with Go 1.10, not sure if this even works on Go 1.6...

Alrighty, i built it from source. (go1.6) it seems to be working however as @timstoop mentioned due to go versions, i have the following status message:
Failed to scrape showq socket: unexpected file contents: "OpenVPN CLIENT LIS"
Maybe this is because a new OpenVPN version has formatted the data differently so i can't perform the scrape because it is unexpected.

You need to set an option in your server's config file for it to produce the statistics, look for the status option in the documentation for how to do that.
I think this issue could be closed.

@micah agreed


Update bundle help text

Fix a few inconsistencies and append colons to command specs.

I'm not sure how I feel about the colons but I'm cool with all of the other changes.

This PR relates to Homebrew/brew#5027.

I'd be happy waiting to see what Homebrew/brew does and if it's accepted there, merge it in here.

Let's hold off merging this until https://github.com/Homebrew/brew/pull/5027 👍

Thanks again @EricFromCanada!


[BUG] Process with PID: 0 access denied as it is system idle process in Windows

Describe the bug
Since the PID of system processes in Windows and Unix differ, for example,
PID 0 and PID 1 in *nix are given to the Scheduler and the Init Process respectively. Note: Unix PID starts from 1
PID 0 and PID 4 in Windows are given to the System Idle Process and the Init Process respectively. Note: Windows PID starts from 4
So, the System Idle Process in Windows is generally not accessible by the userland programs not even by the administrative privileges.
To Reproduce
Steps to reproduce the behavior:

Run the current program in Windows and the Output is as follows:

Expected behavior

Running the same program in *nix based OS gave the desired Output.

Additional context (Optional)
The solution is to slice off the PID = 0 if present in the Processes Slice inside the memory.go file. This result in the desired output without the error as follows:

Note: We still require to "Run as an Admin" to get the desired result

@saviourcode i would highly suggest you add a os check (using GOOS ) and then slice of PID 0 if its windows

@saviourcode i would highly suggest you add a os check (using GOOS ) and then slice of PID 0 if its windows

Yeah, that way is more acceptable and maintainable in long run, rather than slicing random PID: 0, 😃 Okay I will make the changes.


Whitespace control inconsistent with Handlebars.js

Using "~" after opening braces strips the whitespace both before and after the mustache statement, while it should leave whitespace after mustache intact.

HandlebarsDotNet does not remove the whitespace around standalone helpers as it does handlebars.js:

default behavior [is] stripping lines that are "standalone" helpers (only a block helper, comment, or partial and whitespace)
(from here)

I made two tests to indicate these two issues:
https://dotnetfiddle.net/wtzQtB
And for comparison, the same examples made with handlebars.js:
https://jsfiddle.net/gk145cvh/
Sure these are pretty minor issues in this otherwise outstanding port, stuck upon them when one of my unit tests failed.

Found the bug in the lexer. Planning to include a fix on the next release.

Pushed 1.6.8 which addresses the ~ whitespace control bug.
The other whitespace control deviations from handlebarsjs (block helpers, comments, partials) can be added in the future. The high-level solution for these is easy to understand, but the implementation may be a little tricky. PR always welcome.
Details:
The core lexer only understands a few key control characters: {, }, ~, ( and ). It delegates other characters to specific types of parsers. When the lexer parses a }}, it checks to see if the previous character it saw was a ~ to know whether the EndExpressionToken should trim trailing whitespace. In the case where it would see {{~word}} a sub-parser would handle word, so the last core character it saw was indeed ~, and marked the EndExpressionToken as needing to trim trailing whitespace.
We needed to improve the lexer so that the last-seen pre-word character would not overlap with the last-seen post-word character. That was a minor change to the lexer to make the last-seen pre-word character to be the first character of the word itself.

Great news, thanks for the update.
As for PR for the rest - could you please give some hint / starting point?

Sure... bit of background: the parser works in 3 phases:
The Lexer scans each character in the template and turns it into a sequence of tokens. For example, Hello {{#each person}}{{this}}{{/each}}! would produce the following token sequence:

Static token ("Hello ")
StartExpression token
Word token ("#each")
Word token ("person")
EndExpression token
StartExpression token
Word token ("this")
EndExpression token
StartExpression token
Word token ("/each")
EndExpression token
Static token ("!")

The next phase is conversion, where we convert the token sequence into an abstract syntax tree. Each converter in the conversion process is responsible for looping once over the token sequence and searching for a specific thing and replacing it in the sequence, until all tokens have been replaced. For example, the block helper converter would search through the token list above, and change it to this (roughly):

Static token ("Hello ") (no change)
Block helper expression

Name ("each")
Arguments

"person"

Sub-template

"this"

Static token ("!")

So what you'd want to do is probably add a new set of converters, each to handle the whitespace for a specific scenario. So in the example of removing whitespace before and after block helpers, you'd want to run it after the block helper converter, so you can search for a Static token, hold it in a variable, if the next element is a BlockHelper expression, you can yield back a modified version of the Static token with the trailing whitespace removed. Then see if the next element after that is another Static token, remove the leading whitespace, and yield it.
Each converter in the converters folder is an example of this process.

Could introducing the separate newline token be beneficial? On one hand, it means making changes in the two subsystems (lexer and converter) instead of one, which means more possible bugs. But on the other hand it might reduce the pain (well, or pleasure) of implementing this new suggested converter.

Could be.

Just as you said, it got a little bit tricky, so I'd need your feedback about one change I'm about to make about comments.
Comments are stripped out too early during conversion. I need my new whitespace converter to know about comments and I would also like to take advantage of ExpressionScopeConverter to simplify this converter. My suggestion: introduce CommentStatement and strip it out after whitespace converter, near the very end of conversion pipeline.
There are also layout tokens out there, but since they are not part of handlebars / mustache spec, I can either consider convert them CommentStatement (since they resemble comments), or just leave them be without whitespace conversions.

Actually, maybe I should not even delete comment statements, if there is an intention to make AST public.

Using a comment statement and moving the handling sounds reasonable, though I'm curious if you tried it yet - the further down the chain you move a processor, you have to consider not only searching the sequence of tokens but also searching already-converted expressions which may have trees of descendant expressions; and inversely you have to ensure each of those preceding converters won't choke when they now see a new kind of unconverted token they never saw before.

I made a prototype (although in this prototype I was using Expression.Empty instead of CommentExpression) and it seemed to work fine. I was thinking to stick the new whitespace converter between the ExpressionScopeConverter and BlockAccumulator - at that moment there are already no tokens but there are no deep expression trees yet.

Oh, I see what you are saying.
I think I messed up with names in my last few comments. I meant CommentExpression inside StatementExpression (just like PartialExpression resides inside StatementExpression).

Anyway, since there are no general objections, I'll wrap it all up in a PR and then I can redo it in case it's necessary.

Is it possible to release the version with these changes included?

Yep, I've got a lot of chores to take care of on this project this week, that's definitely on the list.

Pushed to nuget 1.7.1


Lineage absorption time

IMPORTANT: Please search among the Pull request before creating one.
Title

Add time to absorption only to specified lineages.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] New feature (non-breaking change which adds functionality)

Description

I've added key time_to_absorption='Alpha' or time_to_absorption=['Alpha', 'Beta:var'] to calculate mean time til absorption + variance to the specific lineage. Also rename
How has this been tested?

It hasn't.
Closes

#339
Future improvement
Only singleton absorbing states are supported, but we can combine them, such as 'Alpha, Beta'.
@Marius1311 would be great if you could give it a go on the lung data.

I shall test this on the lung and get back to you!


Feat: Developer excuse

Changelog

Inspired by: http://www.developerexcuses.com/

Add excuse feature which returns a random developer excuse from the list of excuses curated from multiple sources

Usage:

Sources:

https://github.com/michelegera/devexcuses-api
https://github.com/thecatontheflat/excuses
https://github.com/afreeorange/developer-excuses
https://github.com/lnfnunes/WFH-excuses
https://gist.github.com/fortytw2/78f5f9ef915cb43a3be4
https://github.com/GabrielCrackPro/developer-excuses-app

Thanks @shubhsherl. This is quite cool!
I made a small change. Ditched YAML for a plain text file, and made the file non-embedded so that it can be evolved independently without having to recompile the app.


Dataset level preprocessing and postprocessing

Apart from the pre- and post-processor that do something with a single data series, we will need something that will work with the whole dataset (and probably add a new series). These are the use cases I have in mind:

the end-to-end post-editing task - we need take the source sentence and the generated edits in order to get the output;
factored translation - decoder(s) will generate pairs of lemma+POS as two series and we will call some morphological post-processing that will generate the actual forms.

@jlibovicky  neni tohle už hotový?

Teoreticky je tam na to připravený hook, ale nemá to jedinou existující implementaci, takže to není a nemůže být otestované.

Done with #278.


Design Odyssey 2nd Workshop Session – Introduction & Induction to Business 360 Workshop

Session Name
Design Odyssey: Introduction to Business 360
Abstract
Learn all about Design Odyssey’s DRIVE programme. The session includes Business Model exercise, where students will learn how to leverage on the Business model canvas as a strategic and management tool to describe, design and pivot a business!
Student Organisation organising this session
Design Odyssey
Event Format
Virtual (Zoom)
Session intent (what to expect)

Participants will learn about Design Odyssey’s DRIVE programme, and the opportunities available to them to Discover, Define, Develop and Deliver their self-initiated Social Innovations from Ideation to Business Pitching.
Sharing with Past Participants and their start-up success!
Students will get a chance to participate in a Business Model exercise, where they will learn how to leverage on the Business model canvas as a strategic and management tool to describe, design and pivot a business.

Session details
Date: 24 September 2021 (Friday)
Time: 3 pm to 5.30 pm (please log in 10 mins prior to the start of the session)
Venue: Zoom (details will be provided closer to the date of the event.)
Number of participants: Max. 60
Speakers/Workshop facilitators
Ms. Sio Lim, Associate Program Director, Design Odyssey, SUTD International Design Centre (IDC)
Ms. Ashreya M Venkatesh, Design Engineer, Design Odyssey, SUTD International Design Centre (IDC)
Mr. Vaughn Chandra Oliver, Design Engineer, Design Odyssey, SUTD International Design Centre (IDC)
DO Student EXCO members
Sign up link
Link to Form: https://forms.office.com/r/imLP3hmRJy
Club’s Email Address<EMAIL_ADDRESS>Logistical details / Budget Needed
$100 for Ugly Food ice cream vouchers for participants.

Hey @issacj-17 thanks for submitting the event proposal for the introductory session for DO.
Could you kindly provide us with the budget breakdown? For instance how many ice cream vouchers would you be getting?
Also would the budget for ice cream vouchers be shared among the 3 sessions?
Thank you!

Dear @issacj-17 Your event has been approved by the school admin.
Additionally, your budget request of $100 for workshop 2 has been allocated $50. Meaning that you have a total budget allocation of $100 across your two events.
Wishing you a smooth and successful event!


Decouple inventory with TF2 implementation.

As of right now, the project is very strongly coupled with a TF2 specific inventory implementation.
I would like to see if you guys would be open to changes to allow greater flexibility. I was thinking of extracting the basic methods into an interface and using generics to insert the concrete item type needed. Where item is a the concrete item schema for that game.
    public interface IIventory<T> where T : IItem
    {
        List<T> FetchInventory(ulong steamId, string apiKey, SteamWeb steamWeb);
        T GetItem(ulong id);
        [...]
    }

Thoughts?

You can post this here: https://github.com/Jessecar96/SteamBot/issues/642
There have been some attempts, but never finished. looks at @BlueRaja

Yeah I saw that, but multi game support wasn't part of that OP. That's why I thought creating a new issue would be best. Should I just copy what I wrote into the other one?

Multi-game support is the first bullet point...

Oh yeah my bad, wasn't very obvious. Should I move the discussion over there and close this one?


Checkbox Group not rendering

https://legal-and-general-canopy.netlify.app/?path=/story/components-form-checkbox-group--standard
I noticed that the checkbox group doesn't appear to be rendering any more..
    at bloomHashBitOrFactory (vendors~main.76cbc90b25dfcd97e3b1.bundle.js:1)
    at getOrCreateInjectable (vendors~main.76cbc90b25dfcd97e3b1.bundle.js:1)
    at ɵɵdirectiveInject (vendors~main.76cbc90b25dfcd97e3b1.bundle.js:1)
    at NodeInjectorFactory.LgToggleComponent_Factory [as factory] (ɵfac.js? [sm]:1)
    at getNodeInjectable (vendors~main.76cbc90b25dfcd97e3b1.bundle.js:1)
    at instantiateAllDirectives (vendors~main.76cbc90b25dfcd97e3b1.bundle.js:1)
    at createDirectivesInstances (vendors~main.76cbc90b25dfcd97e3b1.bundle.js:1)
    at ɵɵelementStart (vendors~main.76cbc90b25dfcd97e3b1.bundle.js:1)
    at ReactiveFormComponent_Template (template.html:7)
    at executeTemplate (vendors~main.76cbc90b25dfcd97e3b1.bundle.js:1)
    ```
    I haven't had time to determine if this is the case for the production lib build, or just storybook.

doesn't seem to occur when running storybook locally


refactor: level 2 spawn from enemies

Now enemies have a path to the navmesh and then they patrol.
Fix the error with the doors. When enemies try to pass the door is closed because the player is in combat mode.
Now when an enemy is respawned we force stop patrolling in case that the enemy finishes in this state.

When you are near the elevators the minions crash with the elevator rigid.
If this can be improve will be great . I dont know if its easy or not.
https://github.com/Horizons-Games/Axolotl-Engine/assets/25518155/831a99d6-2bad-48a2-a255-85f0c419564b


Cannot bootstrap  (node v16, Ubuntu 20.04 WSL)

Hi, I'm getting an error when I attempt to bootstrap the package.  It's unclear how to proceed...
yarn run v1.22.18
$ PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true yarn && ocular-bootstrap
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
warning " ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning "@babel/plugin-proposal-class-properties ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency "<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has unmet peer dependency "webpack@>=2".
warning " ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning "ocular-dev-tools ><EMAIL_ADDRESS>has incorrect peer dependency "eslint@>= 3.0.0 < 5".
warning "ocular-dev-tools > eslint-config-uber-es2015 ><EMAIL_ADDRESS>has incorrect peer dependency "eslint@>= 3.0.0 < 5".
[5/5] Building fresh packages...
[6/8] ⠠ sharp
[-/8] ⠠ waiting...
[-/8] ⠠ waiting...
[-/8] ⠠ waiting...
error /home/ntagg/xviz/node_modules/sharp: Command failed.
Exit code: 1
Command: (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
Arguments:
Directory: /home/ntagg/xviz/node_modules/sharp
Output:
info sharp Using cached /home/ntagg/.npm/_libvips/libvips-8.8.1-linux-x64.tar.gz
prebuild-install WARN install socket hang up
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| linux | x64
gyp info find Python using Python version 3.8.10 found at "/home/ntagg/miniconda3/bin/python"
(node:28569) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
(Use `node --trace-deprecation ...` to show where the warning was created)
gyp info spawn /home/ntagg/miniconda3/bin/python
gyp info spawn args [
gyp info spawn args   '/home/ntagg/xviz/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/home/ntagg/xviz/node_modules/sharp/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/ntagg/xviz/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/ntagg/.cache/node-gyp/16.15.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/home/ntagg/.cache/node-gyp/16.15.0',
gyp info spawn args   '-Dnode_gyp_dir=/home/ntagg/xviz/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/home/ntagg/.cache/node-gyp/16.15.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/home/ntagg/xviz/node_modules/sharp',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/home/ntagg/xviz/node_modules/sharp/build'
  TOUCH Release/obj.target/libvips-cpp.stamp
  CXX(target) Release/obj.target/sharp/src/common.o
<command-line>: warning: "_GLIBCXX_USE_CXX11_ABI" redefined
<command-line>: note: this is the location of the previous definition
In file included from /home/ntagg/.cache/node-gyp/16.15.0/include/node/v8.h:30,
                 from /home/ntagg/.cache/node-gyp/16.15.0/include/node/node.h:63,
                 from ../src/common.cc:22:
/home/ntagg/.cache/node-gyp/16.15.0/include/node/v8-internal.h: In function ‘void v8::internal::PerformCastCheck(T*)’:
/home/ntagg/.cache/node-gyp/16.15.0/include/node/v8-internal.h:492:38: error: ‘remove_cv_t’ is not a member of ‘std’; did you mean ‘remove_cv’?
  492 |             !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
      |                                      ^~~~~~~~~~~
      |                                      remove_cv
/home/ntagg/.cache/node-gyp/16.15.0/include/node/v8-internal.h:492:38: error: ‘remove_cv_t’ is not a member of ‘std’; did you mean ‘remove_cv’?
  492 |             !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
      |                                      ^~~~~~~~~~~
      |                                      remove_cv
/home/ntagg/.cache/node-gyp/16.15.0/include/node/v8-internal.h:492:50: error: template argument 2 is invalid
  492 |             !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
      |                                                  ^
/home/ntagg/.cache/node-gyp/16.15.0/include/node/v8-internal.h:492:63: error: ‘::Perform’ has not been declared
  492 |             !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
      |                                                               ^~~~~~~
make: *** [sharp.target.mk:139: Release/obj.target/sharp/src/common.o] Error 1
make: Leaving directory '/home/ntagg/xviz/node_modules/sharp/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/ntagg/xviz/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (node:events:527:28)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)
gyp ERR! System Linux <IP_ADDRESS>-microsoft-standard-WSL2
gyp ERR! command "/usr/bin/node" "/home/ntagg/xviz/node_modules/.bin/node-gyp" "rebuild"
gyp ERR! cwd /home/ntagg/xviz/node_modules/sharp

error Command failed with exit code 1.```

same issue with node v16.15.0 and macos Monterey x86

Looks like the old Sharp doesn't work with Node 16. Bump the sharp version required at modules/ros/packages.json to the latest version which they added support


Result type = "Service", "Image" or "Service + Image"

Instead of current options "Multiscene TMS" and "Single Scene", I would suggest using:

Service for when a tile service is available (or specific tile schema per OAM Server)
Image for when a single file is returned from OIN (it can be a single scene or a mosaic/strip)
Service + Image for when both of the above are available (image download from OIN and tile service from OAM)

When only the image is available, (authenticated?) OAM users should be allowed to click on "create service" button, which triggers the tile service creation job in OAM Server. Once the tile service creation is complete, that same result will then be a Service + Image type.
Multiple results of type Image could be selected by the user to mosaic into a tile service creation job request (see #73). All those results will then be Service + Image type.

@cgiovando Do we expect to have only Tile Services without raw image downloads? Right now we're only indexing images available in OIN. I suggest we only use Image and Service + Image.

Agree @smit1678 - we will later investigate the case of tile service only. Keeping track here and in #85

Coming back on the language here. Service is too vague. Proposing to use: Image + Tiled Map and Image

Tiled Map is also not obvious to someone who doesn't know about tile map services. I would propose Map Service and Image.
If agreed, please reflect in #80 as well.

@cgiovando Map Service still seems a little too vague. What about going back to Tile Service? Or we could do Web Map?

Actually Map Service is the common part of Web Map Service (WMS) and Tile Map Service (TMS). Since we haven't decided yet what service will OAM Server output by default, I would not worry about it now and go with either one. If you think Tile Service is most obvious, then let's go with it.

Closed by #86


Auto height possible?

It is possible to have the slider resize it's height with slides that have less height?

slider and all the slides will have the same height which will be the same as the slide with the largest height whether it's in view or out of view.


Invalid result with multi-line character string and line feed

It looks like a legitimate TOML to me, but a combination of line feed and multiline literal produces incorrect results.
text = """
    lines = '''
    The first newline is
    trimmed in raw strings.
       'All other whitespace'
       is preserved.
    '''
""".strip()

obj = toml.loads(text)
# invalid
#{u'lines': u"    The first newline is\ntrimmed in raw strings.\n'All other whitespa e''       is preserved.\n"}

# valid
#{u'lines': u"    The first newline is\ntrimmed in raw strings.\n'All other whitespace'       is preserved.\n"}

It seems that there is a problem with the line feed after quoting in the multiline literal.
toml: 0.9.0
python:2.7

It looks like this might be a duplicate of #68 (or a related issue with a similar fix).
I will revisit this after that issue is fixed.


Quickblox security site issues

Hi! I can see the user's password if I inspect the element, and change the type of the area from password to text... It's a big issue, pls resolve it!!

Where it is?

Can you pls give me your email to send u the screenshot?

igor at quickblox.com


Coin derivation vuln.

I think that key derivation of NEET is unsafe.
The derivation number of BIP 44 seems to be conflicted with a BTC one.
Since the secret key is the same, there is a possibility of NEET being stolen when BTC is stolen. But if this number changes immediately, neet hodler will lose their neet. Thus, I highly suggest NEET should be separated into addcoins/index.html

I certainly confirmed this issue.
BTC:https://github.com/monya-wallet/monya/blob/36cf270e59064e102463e463f3e5786cac497764/js/currencyList.js#L86
NEET: https://github.com/monya-wallet/monya/blob/36cf270e59064e102463e463f3e5786cac497764/js/currencyList.js#L257
These number are the same zero.

So, do you mean that if I am securing Bitcoins secret but not securing it for neetcoin, then I might get hacked and get stolen my Bitcoin using neetcoins secret?
well.... I think you have to separate it immediately @MissMonacoin .

This problem is not so dangerous and does not affect right now.
It only affects when either BTC or NEET private key is stolen.
It is much more dangerous that master passphrase is stolen.
But monya states high security so this is a little concern.
I would have checked NEET PR closer. I'm sorry.

IMO It's ok to announce that storing both BTC and NEET is unsafe.
But do all BTC hodler listen to my announcement?
Do they separate wallet passphrase?

I determined to move NEET to addcoins/index.html
If there is no objection, I will move it.
If you have an objection, please write comment here.

I think there is no problem.
Dear Yuki,

yes.
You needn't issue slip44 number.

I changed private key zero into 2002.


Create new builder sub-crate

Fixes #32
In addition to the tasks in #32, this also adds a small example kernel for testing the bootloader on travis.
cc @acheronfail

TLDR: this will fix the Windows build errors:
 install:
  - if [ $TRAVIS_OS_NAME = osx ]; then brew update; brew install qemu; fi
- - if [ $TRAVIS_OS_NAME = windows ]; then wget https://qemu.weilnetz.de/w64/2018/qemu-w64-setup-20180801.exe; 7z x qemu-w64-setup-20180801.exe; fi
+ - if [ $TRAVIS_OS_NAME = windows ]; then choco install qemu; export PATH="/c/Program Files/qemu:$PATH"; fi

The windows build is failing because it can't find the installed qemu-system-x86_64 executable (you probably already know but 127 means the command wasn't found).
It works if you use ./qemu-system-x86_64 instead.
We could also simplify the install step on windows since Travis includes Chocolately, and do something like:
install:
  - if [ $TRAVIS_OS_NAME = windows ]; then choco install qemu; fi

Which installs qemu into C:\Program Files\qemu\qemu-system-x86_64.
If we then update the PATH:
install:
  - if [ $TRAVIS_OS_NAME = windows ]; then choco install qemu; export PATH="/c/Program Files/qemu:$PATH"; fi

Then we can just call qemu-system-x86_64 as normal (without the preceding ./) and the build should now succeed. :)

For the macOS build, is there a reason you use:
install:
  - if [ $TRAVIS_OS_NAME = osx ]; then brew update; brew install qemu; fi

Rather than:
addons:
  homebrew:
    packages:
      - qemu

?
...IMO the latter is cleaner, since Travis takes care of it instead of us - and it also saves us an extra step in the install section.

Thanks so much for your help!

Published as version 0.3.6


The Adaptive.py version doesn't change the values of alpha and scale during training

Wow! Mr Barron, your work amazing! One of the best papers I have read in the last few years! The possibility of learning the Loss function in the training process makes me very excited :)
However, when I downloaded your code and tried to replace an MSE Loss in a Regression CNN with your Adaptive one I noticed that the alpha and scale values don't change during the training procedure.
I'm posting my code below for you to have a clearer image:
from robust_loss_pytorch import adaptive
criterion=adaptive.AdaptiveLossFunction(6,torch.float32,device='cuda:0')
output:Bx6
labels:Bx6
loss=criterion.lossfun(output-labels).mean()
print(criterion.alpha())
print(criterion.scale())
Is it something wrong with this Pytorch implementation or is there a profound mistake of mine that you see?
Thanks in advance!

Hi, thanks for the kind words.
It looks like you're just constructing and evaluating the loss, but not optimizing over the AdaptiveLossFunction parameters. For the model to estimate the alpha+scale parameters, you need to do some optimization first, making sure to include AdaptiveLossFunctions's internal parameters as free variables in that optimization.

Sorry I didn't catch that at all, what do you mean?
After I calculate the loss I have implemented all the necessary stuff for backpropagation and GD-based training:
optimizer.zero_grad()
loss.backward()
optimizer.step()
etc.,that's not the problem.
Do you mean that I should put explicitely the Alpha and Scale parameters in the optimizer like below:
crit_params=torch.nn.ParameterList(criterion.parameters())
optimizer = optim.Adam(net.parameters() + crit_params, lr=1e-03)
?

Yep!

I think that's the problem. I'll inform you when the training finishes and I'll close the subject. Should all the parameters be put in the same optimizer or the ones from the criterion in a second one with a lower learrning rate in order to have smoother convergence?

In all of my experiments, I just dumped everything into the same optimizer and it worked well enough.

If you normally do something like this:
trainable_params = filter(lambda p: p.requires_grad, model.parameters())
optimizer = torch.optim.Adam(trainable_params, ... )

Instead do something like this:
from itertools import chain

trainable_params = filter(
    lambda p: p.requires_grad,
    chain(model.parameters(), criterion.parameters())
)
optimizer = torch.optim.Adam(trainable_params, ... )

PyTorch supports per-parameter learning rates, see here.


Update index.md

Release notes Marketplace 3.5.0 from Marketplace consumer team

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Tuesday 31-10-2023 roll call

Roll Call!
Leave a comment with these two things:

A summary of your study using only emojis
Something you'd like to share, anything goes! (within respect)

emoji cheat sheet

Good morning...

Good morning 🌷 🌧

Good morning

good morning

Good morning

Good morning

hi

good morning
:relaxed:

Present

Good morning 🌷:slightly_smiling_face:

Good morning

hey

present


[Openssl-3] Generate RSA Private key using n,e, p, q and crt params (dmp1, dmq1, iqmp) -- Without d

Hi openssl team,
There is a test vector for OAEP decryption in which we need to generate private key using:
n,e, p, q and crt params (dmp1, dmq1, iqmp)
We are doing it like:
bld = OSSL_PARAM_BLD_new();
n_bn = BN_bin2bn(n, n_len, NULL);
OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_RSA_N, n_bn);
e_bn = BN_bin2bn(e, e_len, NULL);
OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_RSA_E, e_bn);
p_bn = BN_bin2bn(p, p_len, NULL);
OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_RSA_FACTOR1, p_bn);
q_bn = BN_bin2bn(q, q_len, NULL);
OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_RSA_FACTOR2, q_bn);
dmp1_bn = BN_bin2bn(dmp1, dmp1_len, NULL);
OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_RSA_EXPONENT1, dmp1_bn);
dmq1_bn = BN_bin2bn(dmq1, dmq1_len, NULL);
OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_RSA_EXPONENT2, dmq1_bn);
iqmp_bn = BN_bin2bn(iqmp, iqmp_len, NULL);
OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_RSA_COEFFICIENT1, iqmp_bn);
 params = OSSL_PARAM_BLD_to_param(bld);
ctx = EVP_PKEY_CTX_new_from_name(NULL, "RSA", "fips=yes");
EVP_PKEY_fromdata_init(ctx);
ret = EVP_PKEY_fromdata(ctx, pkey, EVP_PKEY_KEYPAIR, params);

EVP_PKEY_fromdata API doesn't return error and this pkey is generated.
But with this key we are not able to perform decryption.
when we call :
dctx = EVP_PKEY_CTX_new_from_pkey(NULL, pk, "fips=yes");
EVP_PKEY_decrypt_init(dctx);
EVP_PKEY_CTX_set_rsa_padding(dctx, RSA_PKCS1_OAEP_PADDING);
EVP_PKEY_CTX_set_rsa_oaep_md(dctx, md);
EVP_PKEY_decrypt(dctx, tmp.buf, &tmp.len, resp->c.buf, resp->n.len);
it returns error:
RSA OAEP decryption failed error:020000B3:rsa routines::missing private key
if we try to get back params from pkey using code:

pkey_get_bn_bytes(pk, OSSL_PKEY_PARAM_RSA_N,  &n, &n_len);
pkey_get_bn_bytes(pk, OSSL_PKEY_PARAM_RSA_E, &e, &e_len);
pkey_get_bn_bytes(pk, OSSL_PKEY_PARAM_RSA_FACTOR1, &p, &p_len);
pkey_get_bn_bytes(pk, OSSL_PKEY_PARAM_RSA_FACTOR2, &q, &q_len);
pkey_get_bn_bytes(pk, OSSL_PKEY_PARAM_RSA_FACTOR1, &dp, &dp_len);
pkey_get_bn_bytes(pk, OSSL_PKEY_PARAM_RSA_FACTOR2, &dq, &dq_len);
pkey_get_bn_bytes(pk, OSSL_PKEY_PARAM_RSA_COEFFICIENT1, &i, &i_len);
logger_binary(LOGGER_DEBUG, n, n_len, "N");
logger_binary(LOGGER_DEBUG, e, e_len, "E");
logger_binary(LOGGER_DEBUG, p, p_len, "P:");
logger_binary(LOGGER_DEBUG, q, q_len, "Q:");
logger_binary(LOGGER_DEBUG, dp, dp_len, "DP:");
logger_binary(LOGGER_DEBUG, dq, dq_len, "DQ:");
logger_binary(LOGGER_DEBUG, i, i_len, "I:");

P, Q, DP, DQ & I are all blank.

Please help us figure out, where we are doing wrong.
Thank You
Vikash

ret = EVP_PKEY_fromdata(ctx, pkey, EVP_PKEY_KEYPAIR, params);

What is the type of pkey here? The second parameter to EVP_PKEY_fromdata is an EVP_PKEY ** not an EVP_PKEY *. Are you sending through the right thing here?

2nd parameter that we are passing is of type "EVP_PKEY **pkey"

Sorry I did something wrong at my end, now it is working fine with code
BN_CTX *ctx = BN_CTX_new();
BIGNUM *d = BN_dup(n);
BN_sub(d, d, p);
BN_sub(d, d, q);
BN_add_word(d, 1);
BN_mod_inverse(d, e, d, ctx);
BN_CTX_free(ctx);
return d;
I will make this code as part of my test tool.
Thank you so much for looking into the issue and providing the prompt solution.

We can look back at the available standard to see that a private key can legitimately be represented with just the factors, exponents and coeffs: https://datatracker.ietf.org/doc/html/rfc8017#section-3.2.  With the public key bundled in, an RSA key without d, such as the NIST vector just posted, makes perfect sense.

Perhaps d is required by OpenSSL because of the following: https://github.com/openssl/openssl/blob/5ab3ec1bb1eaa795d775f5896818cfaa84d33a1a/crypto/rsa/rsa_ossl.c#L1042-L1062 ? It seems to be used as fallback in case an RSA-CRT fault attack is detected.

looking at the code in rsa_import, it seems that OSSL_KEYMGMT_SELECT_PRIVATE_KEY needs to be expressly added into the selection here to include the private key during import.  is that not the problem here?


I just want to simply use alertmanager to send an email but Why didn't this command which is like this"./prometheus  --config.file=prometheus.yml  --alermanager.url=http://localhost:9093" work?

What did you do?
I did this in the linux commandline:  [root@server-i2n4dq prometheus-1.8.1.linux-amd64]# ./prometheus -config.file=prometheus.yml -alermanager.url=http://localhost:9093
What did you expect to see?
I expected that the prometheus will be started.
What did you see instead? Under which circumstances?
I saw : flag provided but not defined: -alermanager.url
usage: prometheus []
-version false
Print version information.
-config.file "prometheus.yml"
Prometheus configuration file name.
== ALERTMANAGER ==
-alertmanager.notification-queue-capacity 10000
The capacity of the queue for pending alert manager notifications.
-alertmanager.timeout 10s
Alert manager HTTP API timeout.
-alertmanager.url
Comma-separated list of Alertmanager URLs to send notifications to.
== LOG ==
-log.format ""logger:stderr""
Set the log target and format. Example:
"logger:syslog?appname=bob&local=7" or "logger:stdout?json=true"
-log.level ""info""
Only log messages with the given severity or above. Valid levels:
[debug, info, warn, error, fatal]
== QUERY ==
-query.max-concurrency 20
Maximum number of queries executed concurrently.
-query.staleness-delta 5m0s
Staleness delta allowance during expression evaluations.
-query.timeout 2m0s
Maximum time a query may take before being aborted.
== STORAGE ==
-storage.local.checkpoint-dirty-series-limit 5000
If approx. that many time series are in a state that would require
a recovery operation after a crash, a checkpoint is triggered, even if
the checkpoint interval hasn't passed yet. A recovery operation requires
a disk seek. The default limit intends to keep the recovery time below
1min even on spinning disks. With SSD, recovery is much faster, so you
might want to increase this value in that case to avoid overly frequent
checkpoints. Also note that a checkpoint is never triggered before at
least as much time has passed as the last checkpoint took.
-storage.local.checkpoint-interval 5m0s
The time to wait between checkpoints of in-memory metrics and
chunks not yet persisted to series files. Note that a checkpoint is never
triggered before at least as much time has passed as the last checkpoint
took.
-storage.local.chunk-encoding-version 1
Which chunk encoding version to use for newly created chunks.
Currently supported is 0 (delta encoding), 1 (double-delta encoding), and
2 (double-delta encoding with variable bit-width).
-storage.local.dirty false
If set, the local storage layer will perform crash recovery even if
the last shutdown appears to be clean.
-storage.local.engine "persisted"
Local storage engine. Supported values are: 'persisted' (full local
storage with on-disk persistence) and 'none' (no local storage).
-storage.local.index-cache-size.fingerprint-to-metric 10485760
The size in bytes for the fingerprint to metric index cache.
-storage.local.index-cache-size.fingerprint-to-timerange 5242880
The size in bytes for the metric time range index cache.
-storage.local.index-cache-size.label-name-to-label-values 10485760
The size in bytes for the label name to label values index cache.
-storage.local.index-cache-size.label-pair-to-fingerprints 20971520
The size in bytes for the label pair to fingerprints index cache.
-storage.local.max-chunks-to-persist 0
Deprecated. This flag has no effect anymore.
-storage.local.memory-chunks 0
Deprecated. If set, -storage.local.target-heap-size will be set to
this value times 3072.
-storage.local.num-fingerprint-mutexes 4096
The number of mutexes used for fingerprint locking.
-storage.local.path "data"
Base path for metrics storage.
-storage.local.pedantic-checks false
If set, a crash recovery will perform checks on each series file.
This might take a very long time.
-storage.local.retention 360h0m0s
How long to retain samples in the local storage.
-storage.local.series-file-shrink-ratio 0.1
A series file is only truncated (to delete samples that have
exceeded the retention period) if it shrinks by at least the provided
ratio. This saves I/O operations while causing only a limited storage
space overhead. If 0 or smaller, truncation will be performed even for a
single dropped chunk, while 1 or larger will effectively prevent any
truncation.
-storage.local.series-sync-strategy "adaptive"
When to sync series files after modification. Possible values:
'never', 'always', 'adaptive'. Sync'ing slows down storage performance
but reduces the risk of data loss in case of an OS crash. With the
'adaptive' strategy, series files are sync'd for as long as the storage
is not too much behind on chunk persistence.
-storage.local.target-heap-size<PHONE_NUMBER>
The metrics storage attempts to limit its own memory usage such
that the total heap size approaches this value. Note that this is not a
hard limit. Actual heap size might be temporarily or permanently higher
for a variety of reasons. The default value is a relatively safe setting
to not use more than 3 GiB physical memory.
-storage.remote.graphite-address
WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,
Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote
write feature for building remote storage integrations. See
https://prometheus.io/docs/operating/configuration/#<remote_write>
-storage.remote.graphite-prefix
WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,
Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote
write feature for building remote storage integrations. See
https://prometheus.io/docs/operating/configuration/#<remote_write>
-storage.remote.graphite-transport
WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,
Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote
write feature for building remote storage integrations. See
https://prometheus.io/docs/operating/configuration/#<remote_write>
-storage.remote.influxdb-url
WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,
Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote
write feature for building remote storage integrations. See
https://prometheus.io/docs/operating/configuration/#<remote_write>
-storage.remote.influxdb.database
WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,
Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote
write feature for building remote storage integrations. See
https://prometheus.io/docs/operating/configuration/#<remote_write>
-storage.remote.influxdb.retention-policy
WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,
Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote
write feature for building remote storage integrations. See
https://prometheus.io/docs/operating/configuration/#<remote_write>
-storage.remote.influxdb.username
WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,
Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote
write feature for building remote storage integrations. See
https://prometheus.io/docs/operating/configuration/#<remote_write>
-storage.remote.opentsdb-url
WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,
Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote
write feature for building remote storage integrations. See
https://prometheus.io/docs/operating/configuration/#<remote_write>
-storage.remote.timeout
WARNING: THIS FLAG IS UNUSED! Built-in support for InfluxDB,
Graphite, and OpenTSDB has been removed. Use Prometheus's generic remote
write feature for building remote storage integrations. See
https://prometheus.io/docs/operating/configuration/#<remote_write>
== WEB ==
-web.console.libraries "console_libraries"
Path to the console library directory.
-web.console.templates "consoles"
Path to the console template directory, available at /consoles.
-web.enable-remote-shutdown false
Enable remote service shutdown.
-web.external-url
The URL under which Prometheus is externally reachable (for
example, if Prometheus is served via a reverse proxy). Used for
generating relative and absolute links back to Prometheus itself. If the
URL has a path portion, it will be used to prefix all HTTP endpoints
served by Prometheus. If omitted, relevant URL components will be derived
automatically.
-web.listen-address ":9090"
Address to listen on for the web interface, API, and telemetry.
-web.max-connections 512
Maximum number of simultaneous connections.
-web.read-timeout 30s
Maximum duration before timing out read of the request, and closing
idle connections.
-web.route-prefix
Prefix for the internal routes of web endpoints. Defaults to path
of -web.external-url.
-web.telemetry-path "/metrics"
Path under which to expose metrics.
-web.user-assets
Path to static asset directory, available at /user.
ERRO[0000] Invalid command line arguments. Help: ./prometheus -h  source="config.go:275"
ERRO[0000] flag provided but not defined: -alermanager.url  source="main.go:74"
Environment

System information:
Linux 3.10.0-327.28.3.el7.x86_64 x86_64

Prometheus version:
prometheus-1.8.1.linux-amd64

Alertmanager version:
alertmanager-0.4.2.linux-amd64

Prometheus configuration file:

global:
  scrape_interval:     15s
  evaluation_interval: 15s
  external_labels:
      monitor: 'codelab-monitor'
rule_files:
    - "test.rules"
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

Alertmanager configuration file:

global:
  smtp_smarthost: 'smtp.163.com:25'
  smtp_from<EMAIL_ADDRESS>  smtp_auth_username<EMAIL_ADDRESS>  smtp_auth_password: 'xxxxxxx'
  hipchat_auth_token: '1234556789'
  hipchat_url: 'https://hipchat.foobar.org/'

templates:
- '/etc/alertmanager/template/*.tmpl'
route:
  group_by: ['alertname', 'cluster', 'service']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 3h
  receiver:  team-X-mails
  routes:
  - match_re:
      service: ^(foo1|foo2|baz)$
    receiver: team-X-mails
    routes:
    - match:
        severity: critical
      receiver: team-X-pager
  - match:
      service: files
    receiver: team-Y-mails

    routes:
    - match:
        severity: critical
      receiver: team-Y-pager
  - match:
      service: database
    receiver: team-DB-pager
    group_by: [alertname, cluster, database]
    routes:
    - match:
        owner: team-X
      receiver: team-X-pager
    - match:
        owner: team-Y
      receiver: team-Y-pager
inhibit_rules:
- source_match:
    severity: 'critical'
  target_match:
    severity: 'warning'
  equal: ['alertname', 'cluster', 'service']
receivers:
- name: 'team-X-mails'
  email_configs:
  - to<EMAIL_ADDRESS>
- name: 'team-X-pager'
  email_configs:
  - to<EMAIL_ADDRESS>  pagerduty_configs:
  - service_key: <team-X-key>

- name: 'team-Y-mails'
  email_configs:
  - to<EMAIL_ADDRESS>
- name: 'team-Y-pager'
  pagerduty_configs:
  - service_key: <team-Y-key>

- name: 'team-DB-pager'
  pagerduty_configs:
  - service_key: <team-DB-key>
- name: 'team-X-hipchat'
  hipchat_configs:
  - auth_token: <auth_token>
    room_id: 85
    message_format: html
    notify: true

Logs:

insert Prometheus and Alertmanager logs relevant to the issue here

The alertmanagers moved to the config file in 2.0, see https://www.robustperception.io/new-features-in-prometheus-1-4-0/
It makes more sense to ask questions like this on the prometheus-users mailing list rather than in a GitHub issue. On the mailing list, more people are available to potentially respond to your question, and the whole community can benefit from the answers provided.

OK.


gomobile init fails rename on windows

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?
1.6.1

What operating system and processor architecture are you using (go env)?
WIndows 10 64 bit

After grabbing gomobile as per wiki, I ran gomobile init.  Seemed to freeze but noticed that after I pressed enter, i recved this message:
PS C:\cygwin64\home\peterpan\Projects\GoProjects\src> ../bin/gomobile init
C:\cygwin64\home\peterpan\Projects\GoProjects\bin\gomobile.exe: rename C:\cygwin64\home\peterpan\Projects\GoProjects\pkg
\gomobile\work-307124643\android-ndk-r12\toolchains\llvm\prebuilt\windows-x86_64\bin\clang C:\cygwin64\home\peterpan\Projects\GoProjects\pkg\gomobile\android-ndk-r12\llvm\bin\clang: The system cannot find the file specified.
I have cygwin installed but I was not using cygwin, only windows powershell
I tried several times, even wiping my entire src, pkg and bin folders with the same results.

I am having a similar problem. I am using windows 10 pro 64x and go version go1.5.3 windows/amd64
I ran this and this ran ok: go get golang.org/x/mobile/cmd/gomobile
but always this when trying to run gomobile init
C:\GoPath>gomobile init
gomobile: rename C:\GoPath\pkg\gomobile\work-200728631\android-ndk-r12\toolchains\llvm\prebuilt\windows-x86_64\bin\clang C:\GoPath\pkg\gomobile\android-ndk-r12\llvm\bin\clang: The system cannot find the file specified.
C:\GoPath>gomobile init
gomobile: rename C:\GoPath\pkg\gomobile\work-339924407\android-ndk-r12\toolchains\llvm\prebuilt\windows-x86_64\bin\clang C:\GoPath\pkg\gomobile\android-ndk-r12\llvm\bin\clang: The system cannot find the file specified.
C:\GoPath>gomobile init
gomobile: rename C:\GoPath\pkg\gomobile\work-941100635\android-ndk-r12\toolchains\llvm\prebuilt\windows-x86_64\bin\clang C:\GoPath\pkg\gomobile\android-ndk-r12\llvm\bin\clang: The system cannot find the file specified.

C:\GoPath>
C:\GoPath>gomobile build -target=android golang.org/x/mobile/example/basic
gomobile: toolchain partially installed, run gomobile init
C:\GoPath>gomobile init
gomobile: rename C:\GoPath\pkg\gomobile\work-250709683\android-ndk-r12\toolchains\llvm\prebuilt\windows-x86_64\bin\clang C:\GoPath\pkg\gomobile\android-ndk-r12\llvm\bin\clang: The system cannot find the file specified.
C:\GoPath>

Does https://go-review.googlesource.com/#/c/24720/ fixes your problem?
Alex
CC @eliasnaur

Applied proposed fix, and now it results in different error
mv $WORK\go\importer.a C:\dmitriym\Coding\Go\pkg\gomobile\pkg_android_arm\go\importer.a
rm -r -f "$WORK"
gomobile: go install -p=8 -gcflags=-shared -ldflags=-shared -pkgdir=C:\dmitriym\Coding\Go\pkg\gomobile/pkg_android_arm -v -x std failed: exit status 2

I've updated the fix, and verified it works on a Windows 10 installation. Please try again.

Yeah, sorry - my bad. Works fine now.


Issue with /docs/user-guide/deployments/

nginx-deployment.yaml 404s.

Related https://github.com/kubernetes/kubernetes.github.io/issues/1269

Ah, cool. Thanks @rnaveiras!

@devin-donnelly this is fixed in #1331 as well.


Develop

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
672

Relevant Lines:
956

💛  - Coveralls


Initial commit of the OpenCL integrators and drivers by CPS.

Kyle and Nick,
Here's my initial commit of the OpenCL code used for the WIP paper on SIMD parallelism for kinetics.

@stonecp Thanks Chris!
I will work on getting this integrated into our framework

@arghdos ping on this?

@kyleniemeyer @stonecp
Ok, I see a few things we'll want to resolve before incorporating this:

This package is really intended to be for integrators for generic ODEs. Accordingly, the chemical kinetics library in cklib.c/cklib.h/ck_driver.cl doesn't particularly make sense here.  What I've done in the past is essentially have pyJac populate the necessary files for the RHS/Jacobian functions in the mechanism/ folder for accelerInt, these are then compiled and linked into a final executable against the ODE integration drivers which expect RHS/Jac functions of whatever form.

So my question here, is do we want to want to spin off this functionality into it's own pyJac like package?  Additionally, how exactly are the binary mechanism files created?  I don't see that code in here.

We have different signatures for all the RHS / Jacobian functions, we'll probably want to come up with a unified expected API?  I suppose it might have to be different based on CUDA vs OpenCL, as OpenCL doesn't support bundling together dynamically sized __global arrays into a struct and passing it to a kernel (as I do with CUDA for convenience, and to get around the maximum args limitation)

I could switch over to using pyJac for the RHS function and that would also give me the Jacobian. I can stop using my cklib (a chemkin-like clone) in this case.
The objects in OpenCL are JIT compiled so I just push in the source file directly to the OCL run-time library and out pops the objects. I could take the pyJac-generated source and load that at run-time. Does the RHS from pyJac populate an array (e.g., wdot[]) or are all values scalars as in the past? I'll have to review the RHS API.
For the SIMD stuff, I may have to go upstream to change the datatype that's written by pyJac ... for example, change from double to double8. Again, I'll have to review pyJac output. If the datatype in the generated source is C++ templated, this will be easy ... but that won't work with OCL sadly.... yet another reason to stop using that.

The objects in OpenCL are JIT compiled so I just push in the source file directly to the OCL run-time library and out pops the objects. I could take the pyJac-generated source and load that at run-time. Does the RHS from pyJac populate an array (e.g., wdot[]) or are all values scalars as in the past? I'll have to review the RHS API.

So the C-version of the RHS operates on simple arrays:

void dydt (const double t, const double pres, const double * __restrict__ y, double * __restrict__ dy)

The CUDA-version takes additional an additional struct argument mechanism_memory:

device void dydt (const double t, const double pres, const double * restrict y, double * restrict dy, const mechanism_memory * restrict d_mem) {

which contains pointers to preallocated global device work-arrays (e.g. concentrations, fwd/reverse rates, etc.).  I used this instead of local (in the CUDA sense) memory arrays, because I've had problems  before with exceeding the maximum local (CUDA) memory allowance per thread (especially for Jacobian arrays).  It's generally simpler to use global device arrays and pass them in, however...
For OpenCL this would require a workaround, but it's potentially possible.  One option is to simply declare a maximum size and only force the JIT recompile if it's exceeded.  Again my current OpenCL work for the new pyJac avoids this by having the arrays be dynamically sized (of length divisible by the workitem size), which requires no recompiling (ideal for say a CFD situation where the number of problems may be changing with every iteration)

For the SIMD stuff, I may have to go upstream to change the datatype that's written by pyJac ... for example, change from double to double8. Again, I'll have to review pyJac output. If the datatype in the generated source is C++ templated, this will be easy ... but that won't work with OCL sadly.... yet another reason to stop using that.

It's all C-based, and it should be relatively easy (if rather somewhat tedious) to add a new OpenCL language to the current version of pyJac that will simply write all "double"s as "double8", etc..  The new version of pyJac is generated using loopy and I can pretty easily add support for vector types (I've currently just used regular arrays and let OpenCL's implicit vectorizer figure it out for simplicity, but it would be good to see if there was a significant performance benefit by using the vector types explicitly).
One more issue, that currently isn't well handled in accelerInt... user data.  Currently the RHS function expects a user parameter (here, the pressure), but this clearly should be revised towards some sort of CVODEs-like user_data parameter that gets passed to the RHS / Jac functions.

@stonecp @arghdos where did we leave this?

@kyleniemeyer I'm beginning the process of coupling of pyJac-v2 to accelerInt this week (as soon as all my unit tests pass).
RE: the memory structure & user-data, I've changed pyJac-v2 to adopt a model closer to what @stonecp  used in this PR; essentially there is a work-buffer from which all the internally used buffers are extracted via pointer arithmetic, e.g.:
double8* __restrict__ P_arr = rwk + 1 * get_num_groups();
This has the added benefit of de-duplicating a lot of internal memory storage and fits well with the copy-in/out driver that @stonecp created to power the initial condition loop.  pyJac-v2 now supports explicit-SIMD types for wide-vectorization as well (though currently only with my own branch of loopy, as I still need to get that PR merged).
So, long story short the bulk of the issues I raised above have been dealt with, and V2 should be fairly easy to couple to the new solver.
One thing I would still like feedback on, what should we be expecting for user_data?

I believe the answer to this is yes, even if it's annoying to copy over arrays of structs etc.

Do we want to include the 'time' variable in the source-rate / Jacobian signatures?  My opinion is yes for compatibility, even if our application has no use for it.

How do we handle the issue of per-thread (in CUDA terminology) user-data in a wide-vectorization?

To see what I mean, take our case of the pressure array, which contains a different pressure for each initial condition.  However, in the 'driver' kernel model, the RHS function is expecting to be called on a local (in the sense of 'I copied this data from the global state vector of all initial conditions to my own private working buffer'), however indexing a void pointer is tricky, hence a call like:
species_rates(&P_arr[initial_conditon], phi_local, dphi_local, rwk)

(where initial_condition is the index of the IC we're currently solving) won't work!  Even worse, I imagine there are certain problems where the user-data doesn't vary per initial condition (e.g., if the pressure was constant over all initial conditions we were solving).
So there are a few solutions here I'd like both your feedback on:

We simply pass in the initial condition index / indices into the RHS / Jacobian vector such that it can properly unpack the user-data, e.g. something like this ugly pointer math:

double8* P = (double8*)(&((double*)user_data)[initial_condition]);

The downside here is that the user to correctly unpack a somewhat tricky pointer arithmetic, and we have to expose the initial_condition index to the RHS and Jacobian (i.e., place inside or pyJac or write our own wrapper) for that sole reason.

We force the user to set-up the data-type at compilation time, i.e., they must define a data-type user_data as (e.g.,):

struct user_data
{
    double myCoolParameter;
    int and_some_offset;
};

or
#define user_data double
for a single parameter
The plus-side here is that we skip the concerns above, at the downside of all this having to happen at compile-time, making it difficult to link to run-time defined objects (@kyleniemeyer this might be a bigger issue when we get around to hooking up accelerInt to the scipy stack).


How to use this?

Kindly help me i'm new to android help me in use this template.

If you already familiar with Icon Pack, then you're good to go

Open Wiki Site
Setup, make sure to download sample project from here.
Do customization
Add your icons, fill appfilter.xml, drawable.xml etc

o let me try dear.

thanks alot.


3.4.1

cc @macqueen @mattrobenolt

This change is

Reviewed 24 of 24 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Feature/fix to use correct syntax

Added support and examples for multiline inputs.
Update doc files.
Closes #3

Release notes:

added  support for multi-line inputs: name-patterns, paths, excludes
update of doc file:

glob patterns support for path - for finding of files (support **)
fnmatch patterns support for name-patterns and excludes (do no support **)


Localization (L10n) and Internationalization (I18n) not found

Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x] Correction or update

Details

When visiting https://developer.mozilla.org/en-US/docs/Web, I clicked on the Localization (L10n) and Internationalization (I18n) under other topics. The link, https://developer.mozilla.org/en-US/docs/Web/Localization, doesn't work and returns a Not Found error.

Thanks for filing!
The l10n page was deleted because it contained no useful content, so I removed the link to it from the /Web page.


[MENFORCER-371] Require maven 3.1.1

I know this MR is not formed in a correct way. Just want to be sure these changes are acceptable for the plugin.
Based on https://github.com/apache/maven-clean-plugin/commit/114937a87a8f48c30fc2acd20ed707dbd90ab4a7 I thought maven version should be aligned here as well. I had to add aether-api to dependencies since it's used in EnforcerTestUtils.java but I believe its usage is not needed (cast null to RepositorySystemSession)
Following this checklist to help us incorporate your
contribution quickly and easily:

[x] Make sure there is a JIRA issue filed
for the change (usually before you start working on it).  Trivial changes like typos do not
require a JIRA issue.  Your pull request should address just this issue, without
pulling in other changes.
[x] Each commit in the pull request should have a meaningful subject line and body.
[x] Format the pull request title like [MENFORCER-XXX] - Fixes bug in ApproximateQuantiles,
where you replace MENFORCER-XXX with the appropriate JIRA issue. Best practice
is to use the JIRA issue title in the pull request title and in the first line of the
commit message.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Run mvn clean verify to make sure basic checks pass. A more thorough check will
be performed on your pull request automatically.

If your pull request is about ~20 lines of code you don't need to sign an
Individual Contributor License Agreement if you are unsure
please ask on the developers list.
To make clear that you license your contribution under
the Apache License Version 2.0, January 2004
you have to acknowledge this by using the following check-box.

[ ] I hereby declare this contribution to be licenced under the Apache License Version 2.0, January 2004

[ ] In any other case, please file an Apache Individual Contributor License Agreement.

@slachiewicz , please check the description at the beginning :)
If everything is ok I'll create a corresponding JIRA ticket and will change the commit message.

@slachiewicz , please check the description at the beginning :)
If everything is ok I'll create a corresponding JIRA ticket and will change the commit message.

Thank you.
Yes, please create ticket. I was trying to remove more dependency to older Maven version, I'll rebase my work on top of your changes

Thank you.
Yes, please create ticket. I was trying to remove more dependency to older Maven version, I'll rebase my work on top of your changes

@slachiewicz , done. I'm still not happy with declaring direct dependency to aether-api, though.

@slachiewicz , done. I'm still not happy with declaring direct dependency to aether-api, though.

I have a feeling that would be good to clean up all dependencies also - to avoid any nasty exclusions or overwrites.
I started with maven-common-artifact-filters, maven-dependency-tree and maven-dependency-analyzer.
Let's leave this or open for a while.

I have a feeling that would be good to clean up all dependencies also - to avoid any nasty exclusions or overwrites.
I started with maven-common-artifact-filters, maven-dependency-tree and maven-dependency-analyzer.
Let's leave this or open for a while.

Thx merged with additional commits

Thx merged with additional commits


Unit Tests silently fail.

IF the connection string isn't set in the appsettings.json file for the unit tests (as is the case in the checked-in file), all the test will just return without doing anything or triggering an assert (appearing to pass).
The lines at AzureServiceBusQueueTests.cs(21)
        if (String.IsNullOrEmpty(connectionString))
            return null;

need to be changed to something like:
         Assert.False(String.IsNullOrEmpty(connectionString), "AzureServiceBusConnectionString must be specified in the appsettings.json file");

I believe the tests are getting an environment variable for the connection string that's encrypted. We wanted it so they don't fail if it's not specified but this could be argued it should fail like this @ejsmith

There was a time where we didn't have resources to be able to run them on every commit. So we changed it to skip like this, but we should have just removed running tests from the build instead. I agree with making it assert @jamescurran. Can you commit a PR for that?
Is there a local emulator for servicebus that we can use?


Avoid redundant execution,  skip node and single node execution.

Is your feature request related to a problem? Please describe.
I am using elyra to develop local pipeline .  I have some data transform completed which no need process in future,  but run pipeline still execute it .
Describe the solution you'd like
1. Avoid redundant execution:

a node can precalculate a id hash key to identify the consistent of itself.
if id hash key doesn't change ,  skip this node
for example :

hashkey = hash(str(date.today()) + input_path)

2. Manual set node to Skip state

mark a node as skip state, so pipeline would not run this node
we usually would add some visulization nodes, which we don't want run it all the time, which slow down the whole execution.

3. Single node execution

select  a node
click single execution buttion
only execute this node,  no parent nor children.

Is this a dup of #1174

a node can precalculate a id hash key to identify the consistent of itself.
if id hash key doesn't change , skip this node

How to do that when there is external data involved?

@lresende A pipeline develop know his data.
Cases

In local development, usually we have some invariable datasets ( or it changes in low   frequency , maybe some days or weeks)
In online system, we would do some retries ,  but we know input datasets don't change in some range , for example 1 hour or 1 day.

Design the hash key
depend on the cases , we can design out hash key
Fixed hash

formated_time + path

Dependency hash

formated_time + parent_node_hash

So that we can avoid redundant calculation

Only the 3rd point is some extent dup of https://github.com/elyra-ai/elyra/issues/1174 ,  can be merge to 2 button

run single without  children nodes
run single with children nodes (run downstream)

@lresende Hello? I saw the tag doesn't change, this is not a duplicated issue .

I agree with @lresende and his response here: https://github.com/elyra-ai/elyra/issues/1174#issuecomment-759610127

run single without children nodes

This is possible today via the "submit as pipeline" button - as Luciano points out in the previous link

run single with children nodes (run downstream)

This is the intent of #1174.

We can generalize to a certain point as @kevin-bates mentioned above, but any additional magic will always not be 100% due to scenarios where external dependencies/data are being processed.


Task 10: Add an Undo button

Add an Undo button to your Calculator. In Assignment 1’s Extra Credit, you might have added a “backspace” button. Here we’re talking about combining both backspace and actual undo into a single button. If the user is in the middle of entering a number, this Undo button should be backspace. When the user is not in the middle of entering a number, it should undo the last thing that was done in the CalculatorBrain. Do not undo the storing of M’s value (but DO undo the setting of a variable as an operand).

See hint 10:
Without undo, it’s only possible to enter numeric values for M. If you try to store anything else as the value of M (for example, π, or 23÷2), that expression becomes the new active expression in the calculator, replacing the one you wanted to evaluate in the first place. Once you have undo, though, you can back up to the previous expression after setting M. For example, enter M cos, then π, then →M, then undo (to get rid of the π) ... now your calculator will show the value of cos(M) which should be -1.


Fix multi.dot Graphviz regression test

Commit d6602ad of 2018-12-01 fixed the regression test broken by commit 2d55978 of 2016-07-01. This revealed that test/graphs/multi.dot was failing.
multi.dot was introduced in commit 2b3f088 of 2010-11-07 together with many of the other tests still here today. It has not been touched since. It is a DOT-file containing two digraphs. The regression test compares the JPEG images rendered from the DOT-file by pydot with those rendered by Graphviz's dot directly.
Commit 66734d2 of 2016-07-01 is the actual cause of the failure. It changed one of the render methods of the regression test, _render_with_pydot, from calculating a single hash for all the JPEG images to calculating separate hashes for each JPEG image and then concatenating those hashes in one long string. The other render method, _render_with_graphviz, still calculates a single hash over all data. For DOT-files that generate only one image the end result is the same, but because multi.dot has two graphs, it produces two images and this leads to comparing a string of two hashes with one single hash.
I do not think the change in generating the hash was intentional, for the following reasons:

Commit 66734d2 states that its purpose was to adapt the test to an API change in pydot. It does not mention a deliberate choice to change the testing method.
There was no effort to change _render_with_graphviz to also produce multiple hashes.
Except for easier debugging in case of a failing test with multiple images (AFAICT, only multi.dot), I do not see much added benefit in checking a concatenation of the hashes of all images vs. checking one hash of all images together: In both cases the test will fail if one or more images is rendered differently.
Given that there were many commits authored that same hour, including commit 2d55978 which broke the regression tests, I suspect the author did not run the tests for each individual commit, but only at the end of that batch, and was therefore also not alerted of this change by the test suite.

Assuming that the change was not intended, this commit will now revert _render_with_pydot to the old behavior of calculating a single hash from all JPEG image data.
Tested with Debian 9.9, Graphviz 2.38.0-17, Python 2.7.13-2 and 3.5.3-1.
Fixes https://github.com/pydot/pydot/issues/204.

Not sure why tests are failing in AppVeyor. All tests pass successful with this PR in my setup. Some more details:
chardet    3.0.4
pip        19.1.1
pyparsing  2.4.0
setuptools 41.0.1
wheel      0.33.4

As I describe in issue #211, I think the test failures in AppVeyor can be ignored. They seem to be caused by some nondeterministic behavior that not only affects the pydot tests, but also Graphviz dot when called directly. See issue #211 for details.

This indeed fixes the unittest failure, please merge


Upgrade google integration to use full sheets API rather than just imports from sheet feed

There is no known requirement for this as yet, recent changes we've made to how we anonymously use the v4 google API ar working stable.


Fix the run_release_test devicelab test after changing output.

Landing on red to fix build.

Background on what required the change?


Cannot use library as a require'd library

You cannot use this library in a browserify / webpack environment.  Need to create this as a UMD library and test with CommonJS and AMD patterns.

Released in v2.0.0-beta5

What's the recommended approach for webpack/browserify? Requiring the distribution files seems wrong as these are prebundled. Requiring the src/index.js doesn't work in beta5 because it fails at requiring Platform and some queryjs modules.

Requiring src/index.js won't work out of the box at this point because of the use of browserify aliases. 'Platforms' is defined conditionally at build time mainly to work around browserify's limitation around conditional inclusions. This will be fixed eventually. I will need to check what is the issue with queryjs modules.
Is there any specific concern you have with using the distributed bundle? Is it the size?

Only the usual concern that modules in this bundle won't be de-duped with the same modules used in the consuming application, or conflicts highlighted. Webpack warns to that effect. I guess this isn't a big deal at the moment, as there doesn't seem to be any real dependencies for this library. So I guess it's OK to live with the warning.
I'll take a look at the source level errors to see if I can work around them with some aliasing etc...


Repo over quota

Uh-oh!  Looks like the last batch of commits has put the repo over quota.  I now get the error below when attempting to clone, and I do not get all of the model files.
I don't quite get it, I think you're supposed to have 1GB.  Time to purge historical LFS files?  Or perhaps the consolidated model should move to a separate repo and get purged from this one to bring it back below quota?
Error downloading object: models/landslide_detection-QA-2-epoch_2-40.model (e7ce2ca): Smudge error: Error downloading models/landslide_detection-QA-2-epoch_2-40.model (e7ce2cae28962e8a8646f41af07c7bdf72761b5789e0312e42e2ded37c125bb6): batch response: This repository is over its data quota. Account responsible for LFS bandwidth should purchase more data packs to restore access.

Ha!  I just noticed the git-lfs section of the repo, which directly addresses this -- but I don't think it's great practice to have the project rely on an external google drive which might get disabled or deleted.
NB: apparently it's not possible to purge LFS files from a github repo.  :-(


HARVESTER: add rke2 setting

Summary
Fixes #

https://github.com/harvester/harvester/issues/2176

Occurred changes and/or fixed issues

Technical notes summary

Areas or cases that should be tested

Areas which could experience regressions

Screenshot/Video

changed

use default value


blob != nullptr. op Conv: Encountered a non-existing input blob: gpu_0/conv1_w

When running resnet50_trainer.py with
python resnet50_trainer.py \
--train_data data/temp/train \
--test_data data/temp/val \
--file_store_path ./snapshot \
--save_model_name resnet50_model \

I got
RuntimeError: [enforce fail at operator.cc:31] blob != nullptr. op Conv: Encountered a non-existing input blob: gpu_0/conv1_w

Does anyone knows why?

I do not know exactly, but I think because have argument init_params=False in model_helper.ModelHelper for test_model.
Move workspace.RunNetOnce(train_model.param_init_net) above before to init test_model. it helped me with the problem.


boostrap a new ACR registry

### Tasks
- [x] create the registry
- [x] setup auto purging rules

Important docs

https://learn.microsoft.com/en-us/azure/container-registry/container-registry-auto-purge

Done, created gsoci.azureci.io


Fixed Installer issues

Issue Reference
Fixed Installer issues

Checked and found that the installer issue has been fixed and also the content which need to be updated are done.
-> Installer checked.
-> Warning message updated
-> My SQL drop is appearing only now.
-> Sample Products Like Bundle, Grouped and Configurable Product are updated and working fine.


Extend Set-DbaLogin to change PasswordPolicy switch

Feature Request
I cant configure the passwort policy switch with this command
Problem to solve
I want to change it if PoSh
Additional information
ALTER LOGIN [sa] WITH CHECK_POLICY=ON;

Looks like this one has been implemented and needs closed.
Set-DbaLogin -SqlInstance 'MyServerName' -Login 'sa' -PasswordPolicyEnforced'


tests: Remove Whisper from test infrastructure

Remove Whisper (aka VeeR-ISS) from test infrastructure.
Whisper configs and scripts to generate them are left untouched.
After restoring Renode as ISS, Whisper became obsolete. We are now using Spike and Renode as main ISS for verification and testing purposes.

Another change is downloading Renode only once, in a separate workflow and caching the binaries for jobs that use Renode

LGTM


"Like/Dislike Button" options not work for comment likes/dislikes, "Disliked button hover" bugged

First, none of the settings under "Like/Dislike Button" have any effect on comment likes/dislikes.
Second, "Disliked button hover color" is bugged. It does not work.
Thank you.
Firefox 34.0.5
YTC Dev Build 461

The like/dislike button feature is currently only available for the video and I have not anything planned to extend compatibility to the comments. However, if you would like that feature then create a new issue where it's suggested.
The disliked button hover color is currently bugged, because I forgot to add an s.


% interpreted as a python format character in SQLlab during CSV export

When exporting to CSV from superset's SQL editor, if the query contains any '%' characters, the export fails due to interpreting the '%' as a format character.
Expected results
CSV export should succeed regardless of the query contents.
Actual results
CSV export fails with: """
TypeError
TypeError: %o format: an integer is required, not dict
Traceback (most recent call last)
File "/app/.runtimes/python/lib/python3.6/site-packages/flask/app.py", line 1997, in call
return self.wsgi_app(environ, start_response)
File "/app/.runtimes/python/lib/python3.6/site-packages/werkzeug/middleware/proxy_fix.py", line 228, in call
return self.app(environ, start_response)
File "/app/.runtimes/python/lib/python3.6/site-packages/flask/app.py", line 1985, in wsgi_app
response = self.handle_exception(e)
File "/app/.runtimes/python/lib/python3.6/site-packages/flask/app.py", line 1540, in handle_exception
reraise(exc_type, exc_value, tb)
File "/app/.runtimes/python/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
raise value
File "/app/.runtimes/python/lib/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "/app/.runtimes/python/lib/python3.6/site-packages/flask/app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/app/.runtimes/python/lib/python3.6/site-packages/flask/app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/app/.runtimes/python/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
raise value
File "/app/.runtimes/python/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/app/.runtimes/python/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functionsrule.endpoint
File "/app/superset/utils.py", line 928, in wraps
return f(self, *args, **kwargs)
File "/app/superset/models/core.py", line 1036, in wrapper
value = f(*args, **kwargs)
File "/app/superset/views/core.py", line 3184, in csv
df = query.database.get_df(sql, query.schema)
File "/app/superset/models/core.py", line 835, in get_df
df = pd.read_sql_query(sqls[-1], eng)
File "/app/.runtimes/python/lib/python3.6/site-packages/pandas/io/sql.py", line 332, in read_sql_query
parse_dates=parse_dates, chunksize=chunksize)
File "/app/.runtimes/python/lib/python3.6/site-packages/pandas/io/sql.py", line 1092, in read_query
result = self.execute(*args)
File "/app/.runtimes/python/lib/python3.6/site-packages/pandas/io/sql.py", line 983, in execute
return self.connectable.execute(*args, **kwargs)
File "/app/.runtimes/python/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 2075, in execute
return connection.execute(statement, *multiparams, **params)
File "/app/.runtimes/python/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 942, in execute
return self._execute_text(object, multiparams, params)
File "/app/.runtimes/python/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1104, in _execute_text
statement, parameters
File "/app/.runtimes/python/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
context)
File "/app/.runtimes/python/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1416, in _handle_dbapi_exception
util.reraise(*exc_info)
File "/app/.runtimes/python/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 187, in reraise
raise value
File "/app/.runtimes/python/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
context)
File "/app/.runtimes/python/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 507, in do_execute
cursor.execute(statement, parameters)
File "/app/.runtimes/python/lib/python3.6/site-packages/pyhive/presto.py", line 194, in execute
sql = operation % _escaper.escape_args(parameters)
TypeError: %o format: an integer is required, not dict
The debugger caught an exception in your WSGI application. You can now look at the traceback which led to the error.
To switch between the interactive traceback and the plaintext one, you can click on the "Traceback" headline. From the text traceback you can also create a paste of it. For code execution mouse-over the frame you want to debug and click on the console icon on the right side.
You can execute arbitrary Python code in the stack frames and there are some extra helpers available for introspection:
dump() shows all variables in the frame
dump(obj) dumps all that's known about the object
Brought to you by DON'T PANIC, your friendly Werkzeug powered traceback interpreter.
"""
Screenshots

How to reproduce the bug

Go to SQLLab
Enter a query with '%', for example: """
SELECT bar
FROM (SELECT 'foo' AS bar) subquery
WHERE bar LIKE '%oo'
"""
Run the query, then click the button to export CSV
See error

Environment

python version: 3.6
Unable to verify others since this is a managed instance I don't have full access to.

Checklist
Make sure these boxes are checked before submitting your issue - thank you!

[ unable ] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[ unable ] I have reproduced the issue with at least the latest released version of superset.
[ X ] I have checked the issue tracker for the same issue and I haven't found one similar.

Note that for now, we can work around this problem in some cases by using a double-%, but that seems to cause issues with some queries.

@atronchi I am unable to replicate on master; what version are you on?