Add TypeScript definitions

Thanks for a great library! I had to add this file to get things moving in a TypeScript project; hope it's helpful if I share them :)

Thanks for the PR!
I'm familiar with the concept of TS, but not its implementation. How might I go about testing this implementation you've created? I'd like to set something up on a CodePen or similar so I can verify completeness before merging.
Cheers!

LGTM

@jongold Maybe instead of an interface for "Lab", you could use a type?
export type Lab = {
  L: number;
  A: number;
  B: number;
}

Declaring an interface may conflict with interfaces of similar names in the file where it is used. And types give you code completion too.
https://www.typescriptlang.org/docs/handbook/advanced-types.html#interfaces-vs-type-aliases

@lsalazarm99 whoa, thanks! that clarifies a lot; always been confused about the difference between the two. I don't have time to make the change right now but feel free to PR!


Send coverage of node-test

Changes

Send coverage of node-test job

Codecov Report

Merging #216 (ccb6751) into main (a5cea07) will decrease coverage by 16.90%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##              main     #216       +/-   ##
============================================
- Coverage   100.00%   83.09%   -16.91%
============================================
  Files           50        1       -49
  Lines         1692       71     -1621
  Branches        78       35       -43
============================================
- Hits          1692       59     -1633
- Misses           0       12       +12

Impacted Files
Coverage Δ

.../scala/codes/quine/labo/recheck/util/TryUtil.scala

...cala/codes/quine/labo/recheck/common/Checker.scala

...in/scala/codes/quine/labo/recheck/vm/Program.scala

...la/codes/quine/labo/recheck/automaton/NFAwLA.scala

...a/codes/quine/labo/recheck/vm/ProgramBuilder.scala

...cala/codes/quine/labo/recheck/regexp/Pattern.scala

...scala/codes/quine/labo/recheck/automaton/NFA.scala

...odes/quine/labo/recheck/automaton/OrderedNFA.scala

...la/codes/quine/labo/recheck/fuzz/FuzzChecker.scala

...la/codes/quine/labo/recheck/unicode/ICharSet.scala

... and 41 more

Continue to review full report at Codecov.

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


⚠ Jenkins Plugins Artifactory has degraded performance

In 3ec4e19, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1254 ms

Resolved: Jenkins Plugins Artifactory performance has improved in f7760d6 after 25 minutes.


Issue with service accounts using oc

Error from server (Forbidden): nodes is forbidden: User "system:serviceaccount:openshift-machine-config-operator:node-bootstrapper" cannot list resource "nodes" in API group "" at the cluster scope.
I ran the kubeconfig file but it just brought more issues.
That's what I get whenever I try to run anything with oc. Sorry for all the questions and problems, I'm just very new to this and greatly appreciate all the help you guys are providing.

@daronhudson when are you getting this error, can you provide some more info around it may be some logs?

I tried running "oc get nodes" and it happens whenever I try to use oc to change a config or kubectl to create a secret or anything really. That's the message I get whenever I run any editing commands and I can't figure out how to get around it.
And more recently it just happened when trying to run:
oc create configmap custom-ca --from-file=ca-bundle.crt=/home/core/ca-bundle.crt -n openshift-config

I would like to add that the snc installation didn't make a bootstrap node which I found odd

@daronhudson if you just want to play around with openshift and don't want to get into the installation then better to use crc https://github.com/code-ready/crc/releases/tag/1.16.0 which uses bundle created by this repo. Also I still don't know what actually failing for you, better to put step by step what you tried and what failed.

I'd actually like to use it in my production environment but apart from OC not working, which really isn't an issue, I just need to switch out the ingress controller certificate with my own custom one which I don't know how to do without oc, that's my real problem atm

The step by step was

running all the prerequisites for the installation detailed in the one-time setup section
running the installation which took about 40 minutes and seemed to spit out quite a lot of debug stuff
attempting to add the kubeconfig to the master node that was created(bootstrap wasn't created for some reason which is why i'm guessing all of this doesn't work)
setting up a proxy connection to the console for access with haproxy


Last Updated Timezone

Looks like : "Last updated - 08/05/2016 13:29:40 -PT7H"
("-PT7H" is what fn.timezoneFromDateTime() gives me...)


Fix missing architecture mapping "arm64"

At least my mac (Macbook Pro something) says, it's an arm64, not aarch64
uname; uname -m
Darwin
arm64

Worth to note, that I am usually a Linux-guy and I have no idea about Macs :)

Nice catch - thanks for the PR!


Support for discriminative loss function

As suggested in contribution guide, I open an issue for a new feature to be implemented and to discuss the design.
I have implemented "discriminative loss function" described in https://arxiv.org/pdf/1708.02551.pdf. This loss can improve the segmentation quality along with some post-processing clustering steps.
I would like to create a PR following the design discussion.

bump

Implemented in #5313


Pagetabs navigation

Hello, what a great add-on I really like, I almost always use it,
How could it be programmed so that the navigation menu uses PageTabs,, and each item in the menu corresponds to its Tab.
https://vaadin.com/directory/component/paged-tabs
https://user-images.githubusercontent.com/36064164/48170235-e8c72e80-e2f6-11e8-8f54-e79eb2a297ce.gif

@rucko24 have you tried the TOP Behaviors? It should be exactly what you are looking for.

Reopen if relevant again.


RDKE-61: Use default context tokens

 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.Kakkoth Vayalambron, Shibu seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


[feature] add glyph selection to fontEdit

The fontEdit.ms program (in the util folder) can load a BMF font, and list all the glyphs in that font in a scrolling list between the color palette and the paint area.

However, the paint area currently always shows the glyph for "F"; clicking in the glyph list does nothing.  The objective of this issue is to enable clicking in the glyph list, to select the currently displayed glyph.  Possible steps:

The current tab (selectedTab) already has a font property; give it a curChar property, which is the character we are currently editing.
In the glyphList.draw method, draw a steely blue background to the selected row.
In glyphList.checkEvents, check for a mouse-down in self, and work out which row was hit.  Change selectedTab.curChar; then change selectedTab.image to the image of that char.
Finally, update everything related to the currently-being-edited image, using the sort of code that OpenFile.loadToEditArea does.  In fact maybe you can just call that (the selected tab is a subclass of OpenFile).

When done, we should be able to scroll through the glyph list, click on any glyph, and see a big view of that glyph in the editing area.

Ooh, for bonus points: before you clobber the current contents of fatbits, grab it and assign it to the image property of the charData for that font (i.e. selectedTab.font.charData(selectedTab.curChar).image).  That is where the image for each glyph is stored, so if you do this, then we should be able to edit a glyph, switch to some other glyph, switch back, and see our edits still intact.

If you do this, we should be able to change a glyph because that is where the image for each one is saved.

That's correct.  The actual editing (changing the glyph pixels) is already implemented.  So this feature (and the bounty!) is just to make it so you can switch which glyph you're editing.


dconf2nix: 0.0.11 -> 0.0.11

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for dconf2nix is: "Convert dconf files to Nix, as expected by Home Manager"
meta.homepage for dconf2nix is: "https://hackage.haskell.org/package/dconf2nix"
meta.changelog for dconf2nix is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/ayfqkg4s2nkmdxf69l7kc4gcbp4p583f-dconf2nix-0.0.11/bin/dconf2nix had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 0.0.11 with grep in /nix/store/ayfqkg4s2nkmdxf69l7kc4gcbp4p583f-dconf2nix-0.0.11
found 0.0.11 in filename of file in /nix/store/ayfqkg4s2nkmdxf69l7kc4gcbp4p583f-dconf2nix-0.0.11

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

2 package rebuild(s)

2 x86_64-linux rebuild(s)
2 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
dconf2nix
haskellPackages.dconf2nix

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/ayfqkg4s2nkmdxf69l7kc4gcbp4p583f-dconf2nix-0.0.11 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A dconf2nix https://github.com/r-ryantm/nixpkgs/archive/caffabea758a59bc4d4c1c2508a2ad9a08635a32.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/ayfqkg4s2nkmdxf69l7kc4gcbp4p583f-dconf2nix-0.0.11
ls -la /nix/store/ayfqkg4s2nkmdxf69l7kc4gcbp4p583f-dconf2nix-0.0.11/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

dconf2nix

Maintainer pings
cc @gvolpe for testing.

Actually, it might just be cabal2nix change:
https://github.com/NixOS/nixpkgs/blob/2ccc472a8a0df19ffc8ee36715f0a9661b97b568/pkgs/development/tools/haskell/dconf2nix/update.sh#L24
cc @gvolpe

It's trusting the updateScript knows what it is doing. Maybe it should still ban updates where the main version didn't change.


Add "chromosome" column to edges

I suddenly thought, we might well want to have material moving between different chromosomes.
The "obvious" way to do that is to have a parent_chromosome and child_chromosome field in the "edges" table. If these are all -1, we can assume we are using the "default" chromosome (whatever that is), and can then convert it to the normal tskit format.
Edit: an alternative option would be for each node to represent a different chromosome. I'm not sure which is better.

Note that in cases where we have duplication of chromosomes, we might (or might not) want to give them different chromosome IDs. Essentially, the chromosome ID is serving as a marker of which segment of genome you recombine with, normally (and this is essentially a continuous thing).
It may be that it is better to have a separate node for each chromosome instead, and group the nodes together somehow into a haploid genome.

It would be great to support this! I prefer the option of adding chromosome information to the nodes table instead of the edges. Since genetic material transfer between different chromosomes is not a common event to simulate, I think adding a column to the edges just for this purpose isn't efficient. On the other hand, if we are simulating multiple chromosomes, we will need to keep track of which nodes correspond to which chromosome anyway, in order to calculate properties like chromosome length. Having separate nodes for each chromosome is intuitive to me since we effectively do that with tsinfer already (inferring trees for each chromosome arm, then stitching them together).

I'm not sure adding a single integer column to the edge table will impact efficiency, to be honest. But let's see what Jerome and Ben think. There was discussion about this in tskit.
If we do use nodes, we will need another layer (another table?) lying between the individual and the nodes tables, which ties the nodes together into a haploid genome. I guess this could be an integer column in the nodes table.

Fair point; that discussion is helpful, thanks for the link. One downside of using the nodes table is that we already have the headache of how to store duplicate sample nodes in local tree sequences! The problem there is similar: we have to decide whether to add complexity to the edges table or the nodes table of local tree sequences.

After some thought, I am fixed on implementing chromosomes as 2 extra columns in the edges table, rather than as separate nodes. The reasons for this is mainly that a "genome" (consisting of multiple chromosomes) is a coherent thing that is mostly passed about as a unit. Separate chromosomes cannot survive and lead an independent life of their own: they mostly have to be part of a whole genome. Thus the node grouping, consisting of multiple chromosomes, is a natural one as the base unit of selection. If we allocated each chromosome a separate node, keeping them all tied together properly would be difficult. We would also need to match different nodes to each other whenever we recombined, which would be a major hassle.
The downside, however, is that during meiosis, the chromosomes can be treated as independent un its, which means that e.g. autopolyploidy may be a little tricky to simulate (see https://github.com/hyanwong/GeneticInheritanceGraphLibrary/issues/15#issuecomment-1999472154). I think we can get around this by specific MRCA hacks, though, and the alternative is much worse. So I'm closing this.


Supporting .svf files?

Sometimes I don't have the .bit file on hand and only got the .svf, it would be nice that ecpdap can program .svf files directly.

Yea, I'd really like to support SVF files, though I had been planning on a separate tool svfdap, using my svf parser plus jtagdap. I don't think it would need to do anything ECP5 specific, right? Just replay the SVFs, which should be generic.
However after writing the SVF parser I got distracted and haven't yet glued it to jtagdap, so that's still TBC.


Updated pipeline resource

[x] All tests passed. If this feature is not already covered by the tests, I added new tests.
[x] All static analysis checks passed.
[x] This pull request is on the dev branch.
[x] I used gofmt for formatting the code before submitting the pull request.

Tests are passing locally and failing in github due to a known issue


Unable to generate x509 SSL certificate for HTTPS tracking URL

This feature is available in the v2 API but it is not available via the SDK.
Setting webschema to https doesn't generate the certificate automatically either

Update: Unfortunately the API doesn't work as expected either. It shows "domain does not exist" when in fact, domain does exist.
So basically the feature is not there in the SDK and the API doesn't work as intended.

Working on adding this feature. As for the API showing the domain as non-existent, please confirm that you use the full tracking domain in your API calls, not the sending domain.


Add error logs on destroying event system with dangling listeners

Overview
This change has originally been triggered by #5116 to first of all ease test debugging, when test runtime environment is not clean after running another test.
So, the change should only have been messages in BaseEventSystem. However, adding these messages highlighted few fundamental issues:

Mrtk had incorrect order of deinitialization for core systems. They should be disabled and destroyed in a reverse order to how they are initialized. This PR fixes that.
Unregistering event handlers in unity OnDestroy is semantically incorrect: Mrtk tear down happens in the middle of Update loop, which Deinitializes and Destroys all global services. When components are then destroyed in the end of the Update loop, they can't rely on valid state of services (e.g. Input System). Ideally we would like global listeners to go away in OnDisable. However, this would require to move their initialization to OnEnable, which is much trickier to do. Solved this by modifying IMixedRealityCursor interface. I don't like it, but it solves an issue.

/azp run

@keveleigh to take a peek here as well.
The change to IMixedRealityCursor feels not great to me too, though the alternative (of having a separate interface just for the shutdown/destroy method) really feels like overkill. It feels like the lesser of two evils.
Technically this is a breaking change (though because we provide the base implementation as well in BaseCursor I think that it should be okay

@wiwei Agree about everything said regarding IMixedRealityCursor. Just need to choose the lesser evil.

/azp run mrtk_pr

Apparently when unloading a scene Unity disables/destroys game objects in a scene in an arbitrary order. HandInteractionExamples scene generates different sequence of error messages for every "play-stop" in the Editor (not tests, just running it from the Editor).
I'm gonna disable these warnings in EventSystem.Destroy by default and enable them in our play mode tests, which use standard TestSetup. They can be enabled for normal debugging if necessary, but I think in most non-test cases they will cause more confusion than benefit.

/azp run

/azp run mrtk_PR

/azp run mrtk_PR


feat: Support empty block device mappings

Fixes #6545
Description
Updates the v1 EC2NodeClass to allow for specifying a nil .spec.blockDeviceMappings value as a way to opt for defaulting the EBS block device mappings. Otherwise, if an empty array is assigned to the field, no block device mappings are configured and only block device mappings defined in the AMI are used.
How was this change tested?
I have updated the field to a pointer type and updated its assignment in various places in tests. If this is insufficient test coverage, I can add a new test targeting the intended behavior.
Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Commenting to keep this PR active.


Update project outline

Reorganises the directory structure of the project. Xcode 9 (finally!) tracks the location of files and folders and applies any changes within Xcode to the directory structure. That means: no more broken symbolic links, no more weird issues when moving a file in Xcode, and no more weirdness with the “Open File" panel.
Let me know what you think.

I like this - what do we have to do to have it ready to merge?

@barijaona: I went back and fixed it, to maintain the git log. It was a broken file reference.

Can you test the release scripts and makefile as well? I’m not sure how they are used. I’ve enabled push access to the branch.

I must confess that I am not a big fan of Xcode9 push to favor use of folder references over groups.
Groups help see functional links which aren't necessarily obvious through disk layout.
For instance, I'd like .xib to be grouped with relevant .h, .m and .swift.

@barijaona why is grouping like that not possible physically?

It's of course possible, but I tend to think it's more confusing for localizers.

@Eitot, visibly this is the cause of problems for localization. Despite the changes imported from Crowdin, the localization script has no effect.
If I manually test:
xcodebuild -importLocalizations -project Vienna.xcodeproj -localizationPath Localizations/cs.xliff

, I get various File not found in the project warnings and the .strings aren't updated.


[AUTOPATCHER] Patches CVE-2021-44577 for libsolv

        Patches CVE-2021-44577 for libsolv.
        This patch and PR was automatically generated and needs human verification before merging.

Fixed by:

#1724


Question for High Availability Cost Optimization

Hello, can someone explain for the quoted information below?
Cost optimization
There's no additional cost for VMs deployed in AZs. There might be additional inter-AZ VM-to-VM data transfer charges
Does this means that when deploy 1 VM in AZ 1 and another VM in AZ 2, there will be no cost inccured?

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

ID: 97211a88-4ce9-263f-4bd0-ae6d8b61447c
Version Independent ID: 00570dc5-7b74-2906-1653-90d86b67c0bd
Content: High availability and disaster recovery for IaaS apps - Azure Architecture Center
Content Source: docs/example-scenario/infrastructure/iaas-high-availability-disaster-recovery.yml
Service: architecture-center
Sub-service: example-scenario
GitHub Login: @shcrouch
Microsoft Alias: shcrouch

@Andy989824
Thanks for your feedback! We will investigate and update as appropriate.

@Andy989824 - Great question. What this is saying, is the usage of Availability Zones doesn't have an inherit premium on them.  Meaning you don't "pay more" for the rights to land the VM you purchased into a specific availability zone.  Also zones are all priced the same, unlike regional variations where the price of a resource could be different from one region to another.
Thanks for asking!


Add macros to reduce boilerplates

Objective

Reduce some boilerplate code.

Solution

Added two macros, impl_handle_wrapper and impl_generic_handle_wrapper, to reduce boilerplate code.

Testing

CI.

I don't think this is a meaningful enough improvement to justify the added maintenance / abstraction. Closing, sorry :)


Fix slow imports on version 0.1.16

initial run is unacceptably slow from whatever I did on  #48. This might be due to import issues on yt-fts.py. pulled version from pypi

hotfix #50


UPDATE statement not adhering to filters in the WHERE clause

CrateDB version
4.8.4
CrateDB setup information
No special configuration that I've identified. Reproduced on the following environments:
3-node cluster running in Docker on AWS ec2
1-node instance running in Docker in WSL Ubuntu
Problem description
When executing an UPDATE statement, the record updates even if the filter criteria is not fully satisfied. From what I can tell, if the UPDATE has any clause in the WHERE which matches the primary key of the table, then the update occurs; even if other filters should prevent it.
This results in data to be updated when it shouldn't be.
This doesn't seem to be an issue in version 3.3.5.
Steps to Reproduce
create table test (id int, alias STRING, primary key (id));
insert into test (id, alias) values (1, 'test');

select alias from test where id = 1; -- results in ‘test’
update test set alias = 'uh oh' where id = 1 and alias = 'something else';
select alias from test where id = 1; ; -- results in ‘uh oh’

drop table test;
Actual Result
The update statement in the example above updates the record, even though the filter for 'something else' should have prevented it.
Expected Result
The update statement in the example above does not update the record since the filter for 'something else' prevents it.

Thx @tellezb for reporting this, the fix has been merge and will be available with the next hotfix release.


removed confusing statement in sp section

Add role assignment to this identity with 'Monitoring Reader' role on target subscription is disabled. --> 2. Add role assignment to this identity with 'Monitoring Reader' role on target subscription.

"is disabled" might be a typo as it is not bold (as the rest of the sentence is) and it confuses the meaning.

Learn Build status updates of commit f9cc80d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/managed-grafana/how-to-authentication-permissions.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@maud-lv
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Hi @SyChell, thank you for your PR.
What I meant to say is that the Add Role Assignment option is grayed out when System assigned managed identity is set to Off.

I suggest updating the sentence to:

Add role assignment to this identity with 'Monitoring Reader' role on target subscription is grayed out.

Does that help?

I've updated the doc with additional information to make this as clear as possible.
#please-close


undefined method `tc_oauth_half_secret=' for #Lti2Tp::Registration:0x0000000773bdb8

Hello, I'm new in RoR. I'm using ruby version 2.1.4 Could you please say what I'm doing wrong:
I cloned TC and TP examples to separate folders, then ran for each one:
gem install bundler
For each application I ran:
bundle install
rake init_task:backup
First problem - when I'm trying to login - there is no data in DB.
So I import test data from the file in TC application: data\lti2_tc_mysql_init.sql
Ok, I logged in.
But when I trying new tool. I enter http://localhost:5000/lti2_tp/registrations, then click submit button, and then error:
undefined method `tc_oauth_half_secret=' for #Lti2Tp::Registration:0x0000000773bdb8
Any ideas?

Hi Evgeny,
I had left a reference to a new feature in the LTI2_tc_sample_app and LTI2_tp_sample_app.
So:

git pull each of these repos

rebundle

and try again.
John
On May 8, 2015, at 3:44 AM, Evgeny <notifications<EMAIL_ADDRESS>wrote:
Hello, I'm new in RoR. I'm using ruby vertion 2.1.4 Could you please say what I'm doing wrong:
I cloned TC example to folder, then ran:
gem install bundler
For each application I ran:
bundle install
rake init_task:backup
First problem - when I'm trying to login - there is no data in DB.
So I import test data from the file in TC application: data\lti2_tc_mysql_init.sql
Ok, I logged in.
But when I trying new tool. I enter http://localhost:5000/lti2_tp/registrations, then click submit button, and then error:
undefined method `tc_oauth_half_secret=' for #Lti2Tp::Registration:0x0000000773bdb8
Any ideas?
—
Reply to this email directly or view it on GitHubhttps://github.com/vitalsource/LTI2-Reference/issues/6.

Hello, thank you for your support.
I think you have some issues in your docs:
So, after bundling each of applications (TC and TP), I running command, shown in paragraph 3 in section "Getting it running" of the LTI-Reference documentation.
rake init_task:backup
I have empty databases, and there is a notification : "run migrations..."
After this I run migrations and try again:
rake init_task:backup
Then I'm going to 'http://localhost:4000/admin' and trying to authenticate, but no user found, because table 'admin_users' is empty.
Could you please put some test data and write how correctly inject it to database.
I found .sql file in data folder: lti2_tc_mysql_init.sql.
But table name is not correct here, so I can't test applications.
So I corrected table name and tried to enter application. And I logged in. When I'm tryied to enter URL: http://localhost:5000/lti2_tp/registrations - On next form field "Institution name" is empty. When I enter institution name 1113 - it redirected me to TC admin Tools action page with 404 Not Found Error.
I'm already wrote that I'm new in RoR. Sorry for maybe obvious questions.
Could you please check and start installation with empty folder and empty database to make sure that all docs are correct.
Thank you very much.

Hi Evgeny,
The problems here are mostly not yours.  Last week we did a radical reorganization of the gem and broke it into three repos.  We’ve needed to do this for a couple of different projects.  Apparently the scripting that created the sample data broke with the reorg.
I’ve done a quick adjustment of the script and it looks like it’s working.  So I can give you two alternatives.  Either

Assuming you’re using MySQL, simply take the two database dumps and restore them:

LTI2_tc_sample_app/data/lti2_tc_mysql_init.sql for the ToolConsumer database
LTI2_tp_sample_app/data/lti2_tp_mysql_init.sql for the ToolProvider database

Or you can try the full script as I did:

run rake init_task:backup in BOTH the TC and TP directories.
This worked for me.  I didn’t however do it to an empty state because I didn’t want to destabilize anything in my MySQL installation.
Once you’ve done with this the DBs should be fully recovered in a migrated state.
Remember that if you’re running MySQL you need to explicitly start as:
rails s -p 4000 -e mysql -P tmp/pids/server4000.pid
and
rails s -p 5000 -e mysql -P tmp/pids/server5000.pid
Otherwise it defaults to sqlite3
Hope this does it for you.
John
On May 11, 2015, at 4:09 AM, Evgeny <notifications<EMAIL_ADDRESS>wrote:
Hello, thank you for your support.
I think you have some issues in your docs:
So, after bundling each of applications (TC and TP), I running command, shown in paragraph 3 in section "Getting it running" of the LTI-Reference documentation.
rake init_task:backup
I have empty databases, and there is a notification : "run migrations..."
After this I run migrations and try again:
rake init_task:backup
Then I'm going to 'http://localhost:4000/admin' and trying to authenticate, but no user found, because table 'admin_users' is empty.
Could you please put some test data and write how correctly inject it to database.
I found .sql file in data folder: lti2_tc_mysql_init.sql.
But table name is not correct here, so I can't test applications.
So I corrected table name and tried to enter application. And I logged in. When I'm tryied to enter URL: http://localhost:5000/lti2_tp/registrations - On next form field "Institution name" is empty. When I enter institution name 1113 - it redirected me to TC admin Tools action page with 404 Not Found Error.
I'm already wrote that I'm new in RoR. Sorry for maybe obvious questions.
Could you please check and start installation with empty folder and empty database to make sure that all docs are correct.
Thank you very much.
—
Reply to this email directly or view it on GitHubhttps://github.com/vitalsource/LTI2-Reference/issues/6#issuecomment-100870361.

Hello, John.
Thanks for your answers.
So I pulled this repos again and dumped files into database.
So now it's another problem.
When I'm trying to register new tool, I enter:
http://localhost:5000/lti2_tp/registrations
and then submit form, and there is error occurred:
console says: Completed 500 Internal Server Error in 120005ms
in browser: Net::OpenTimeout at /registrations execution expired
And process stopped on link:
http://localhost:5000/lti2_tp/registrations
Any ideas?
Thank you.

Hello again.
I think I solved last problem.
So in TC in table lti2_tc_registries it was record tc_deployment_url with wrong URL. I changed it to http://localhost:4000 and in TP in table lti2_tp_registries it was record tp_deployment_url with wrong URL. I changed it to http://localhost:5000.
And it works for me.
Thank you.

Glad you found that problem.  This should be more clearly documented and the database backup script should probably always back it up as localhost.
The reason it’s a stored value at all has to do with some test scenarios when running within a firewall.  These values are passed to the alternate partner and if the session is running on separate boxes the outside-the-firewall name is needed.
In the meantime I’ll make a note in the docs right now.
John
On May 12, 2015, at 2:43 AM, Evgeny <notifications<EMAIL_ADDRESS>wrote:
Hello again.
I think I solved last problem.
So in TC in table lti2_tc_registries it was record tc_deployment_url with wrong URL. I changed it to http://localhost:4000 and in TP in table lti2_tp_registries it was record tp_deployment_url with wrong URL. I changed it to http://localhost:5000.
And it works for me.
Thank you.
—
Reply to this email directly or view it on GitHubhttps://github.com/vitalsource/LTI2-Reference/issues/6#issuecomment-101215370.

Hell again. Found some issues.
When I'm trying to see this link:
http://localhost:5000/iresources
I enter 0.65 value for example and an error occurs:
Couldn't find Tenant without an ID
Another one issue. When I choosing any link a new window appears and button "Return to Admin" is not working. So there is error occurs when I click on it:
No route matches [GET] "/admin/launches"
I suppose last issue because of reorganization.
Thank you!

Hi Evgeny,
I’m not seeing these errors.  I can only guess there’s something different about the database configs or launches.
First let me be sure that you’re starting the TC and TP with something like the following:
rails s -p 4000 -e mysql -P tmp/pids/server4000.pid
rails s -p 5000 -e mysql -P tmp/pids/server5000.pid
The -e ensures that you’re looking at Mysql.
The -P isn’t essential but in certain debugging scenarios is useful.
The missing tenant is a symptom that the tenant table has been changed after registration.  You might want to re-seed the database for both TP and TC
RAILS_ENV=mysql bundle exec rake db:seed
Then register again and repeat everything.
What timezone are you in?  In a pinch we need to find a common time and I can screenshare over google+ or some web conf thing I have.
I also might want to look at a few tables in your database.
John
On May 12, 2015, at 7:46 AM, Evgeny <notifications<EMAIL_ADDRESS>wrote:
Hell again. Found some issues.
When I'm trying to see this link:
http://localhost:5000/iresources
I enter 0.65 value for example and an error occurs:
Couldn't find Tenant without an ID
Another one issue. When I choosing any link a new window appears and button "Return to Admin" is not working. So there is error occurs when I click on it:
No route matches [GET] "/admin/launches"
I suppose last issue because of reorganization.
Thank you!
—
Reply to this email directly or view it on GitHubhttps://github.com/vitalsource/LTI2-Reference/issues/6#issuecomment-101306047.

Hello, John.
I think it works.
Problem was in launch parameters for TC and TP. So I tried to launch with parameters you wrote in last message and it works fine.
I thought, that my environment "mysql" by default, but I was wrong.
My timezone is MSK (Moscow Standard Time), offset: +03:00 hours.
We can to do something like skype call. My skype is: e.svirsky.
<--------------------->
One more question for you:
Did you do any application for Common Cartridge supporting for this tools? Or maybe you can give some advice about it.
Thank you!

Hi Evgeny,
Glad to hear that it works.
We don’t need to Skype.  I was only looking for a mechanism to collaborate if we needed more debugging.
I haven’t done any Common Cartridge integration at this point.
Cheers,
John
On May 13, 2015, at 12:44 AM, Evgeny <notifications<EMAIL_ADDRESS>wrote:
Hello, John.
I think it works.
Problem was in launch parameters for TC and TP. So I tried to launch with parameters you wrote in last message and it works fine.
I thought, that my environment "mysql" by default, but I was wrong.
My timezone is MSK (Moscow Standard Time), offset: +03:00 hours.
We can to do something like skype call. My skype is: e.svirsky.
<--------------------->
One more question for you:
Did you do any application for Common Cartridge supporting for this tools? Or maybe you can give some advice about it.
Thank you!
—
Reply to this email directly or view it on GitHubhttps://github.com/vitalsource/LTI2-Reference/issues/6#issuecomment-101553734.

Hello, John.
I think I found issue.
When I registered new Tool by URL: http://localhost:5000/lti2_tp/registrations, in database appeared 3 new rows and 2 dublicate for each. Total amount is 9.
lti2_tc_resources table:
1,1,setting,Settings,"Settings service"
2,1,setting,Settings,"Settings service"
3,1,setting,Settings,"Settings service"
4,1,echo,Echo,"Echo service"
5,1,echo,Echo,"Echo service"
6,1,echo,Echo,"Echo service"
7,1,iresource,InteractiveResource,"Interactive resource"
8,1,iresource,InteractiveResource,"Interactive resource"
9,1,iresource,InteractiveResource,"Interactive resource"

lti2_tc_links table:
1,Settings,1,NULL,2,1,{},NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
2,Settings,1,NULL,5,2,{},NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
3,Settings,1,NULL,6,3,{},NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
4,Echo,1,NULL,2,4,{},NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
5,Echo,1,NULL,5,5,{},NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
6,Echo,1,NULL,6,6,{},NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
7,InteractiveResource,1,1,2,7,"{""vbid"":""L-999-74180""}",NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
8,InteractiveResource,1,2,5,8,"{""vbid"":""L-999-74180""}",NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
9,InteractiveResource,1,3,6,9,"{""vbid"":""L-999-74180""}",NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"

Hi Evgeny,
The problem you’re seeing reflects that the fact that the Tool Consumer code in this gem has only ever been used for demos and LTI2 testing.  At Vitalsource we’re Tool Providers.  We developed this code before there were any Tool Consumers so we needed to create a minimal Tool Consumer.
Because we give so many demos with this code we decided to create standard resources for the demos.  And the code was, incorrectly, left in the gem’s LTI2Tc ToolsController.  When we split the sample app (LTI2_tc_sample_app) from the gem (LTI2-Reference) we should have moved that code to the sample append figured out some callback to get it when the tool is registered.  (We did this in similar places in the TP code, but not in the TC).  Of course, in real life the Registration should not create ANY resources like this…this code should be deleted for a real TC.
BTW when we give demos we also run the rake db:seed script on both tc and tp and these duplicates are then eliminated.
I have added a comment to the code that it should be moved out of the Tools Controller.  But I wouldn’t expect any action on this in the immediate future.
John
On May 18, 2015, at 12:25 AM, Evgeny <notifications<EMAIL_ADDRESS>wrote:
Hello, John.
I think I found issue.
When I registered new Tool by URL: http://localhost:5000/lti2_tp/registrations, in database appeared 3 new rows and 2 dublicate for each. Total amount is 9.
lti2_tc_resources table:
1,1,setting,Settings,"Settings service"
2,1,setting,Settings,"Settings service"
3,1,setting,Settings,"Settings service"
4,1,echo,Echo,"Echo service"
5,1,echo,Echo,"Echo service"
6,1,echo,Echo,"Echo service"
7,1,iresource,InteractiveResource,"Interactive resource"
8,1,iresource,InteractiveResource,"Interactive resource"
9,1,iresource,InteractiveResource,"Interactive resource"
lti2_tc_links table:
1,Settings,1,NULL,2,1,{},NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
2,Settings,1,NULL,5,2,{},NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
3,Settings,1,NULL,6,3,{},NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
4,Echo,1,NULL,2,4,{},NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
5,Echo,1,NULL,5,5,{},NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
6,Echo,1,NULL,6,6,{},NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
7,InteractiveResource,1,1,2,7,"{""vbid"":""L-999-74180""}",NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
8,InteractiveResource,1,2,5,8,"{""vbid"":""L-999-74180""}",NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
9,InteractiveResource,1,3,6,9,"{""vbid"":""L-999-74180""}",NULL,NULL,"2015-05-18 07:08:15","2015-05-18 07:08:15"
—
Reply to this email directly or view it on GitHubhttps://github.com/vitalsource/LTI2-Reference/issues/6#issuecomment-102948412.

Hello, John
Could you please answer one question.
For example in my LMS I want to register teacher in TP and then create some courses for the students with links which, TP provided.
Teacher must register and get all links and then compose courses from this links?
Does every student has to register in TP?
Thank you.

John, another one request.
Could you please check, why I couldn't add new Tool in:
http://localhost:4000/admin/course_page?method=show&course_id=7

?
It's error occurs:
No route matches [POST] "/admin/course_page"

Thank you.


Fixing broken link to ARM

There is no anchor link like name="arm" in this page, and yet this link refers to #arm. I also don't see a corollary anchor about Azure Resource Manager anywhere within this document, so I don't think it's a case of a misnamed link. It would appear that the most natural document that the link would intend to bring a reader to would be the ARM overview page, which is a totally separate page. At least, that's where I ended up going to when I was reading this page and wanted to know more about ARM.

@WesleyDavid : Thanks for your contribution! The author, @KumudD, has been notified to review your proposed change.

Merging broken link fix


Please add a license file to the project

There are no license files in the project, not is it explicitly mentioned what is the license for this project.
We may have to remove support for minio gateway for aliyun OSS if there are no license files found in this library.
https://github.com/minio/minio/blob/master/cmd/gateway/oss/gateway-oss.go

OSS gateway is now scheduled for removal on MinIO project, please respond back here with an updated license file in this repo. If not this gateway implementation shall be removed.

It is removed from the MinIO minio/minio#9390

Hi @harshavardhana , there is a MIT license in the repository, see here: https://github.com/aliyun/aliyun-oss-go-sdk/blob/master/LICENSE
Can you please bring back support in MinIO ?
Thanks much.

Hi @jhagege There is now an MIT license indeed. However, the README.md specifies an Apache 2.0 license. Could you please change the README.md if indeed the intention is to be MIT licensed

OSS gateway was removed: https://github.com/minio/minio/releases/tag/RELEASE.2020-04-22T00-11-12Z


How to know which tasks were already executed?

Q
A

Issue Type
Question, Feature Request

Deployer Version
6.2.0

Local Machine OS
Ubuntu 16.04

Remote Machine OS
Ubuntu 16.04

Description
Hi guys,
this a question to know if there is any way to know which tasks were executed inside a deploy flow.
In my case, I've a "deploy:failed" task that should run some tasks regarding which tasks were already executed. For example: if my "deploy" task failed after "task1" I should run "reverse:task1", if "deploy" task failed after "task2" I should run "reverse:task2" and "reverse:task1".
I was looking into the code in ProcessRunner::run() but didn't found nothing like a "executed task collection" or something like that...
Only way I've found to do this is overriding all subtasks of "deploy" task in my deploy.php and do something like this:
$executedTasks = [];

task("task1", function() use ($executedTasks){
    // Original code
    $executedTasks[] = "task1";
});

task("task2", function() use ($executedTasks){
    // Original code
    $executedTasks[] = "task2";
});

task("deploy:failed", function() use ($executedTasks){
    if(in_array("task2", $executedTasks)){
        invoke("reverse:task2");
    }
    if(in_array("task1", $executedTasks)){
        invoke("reverse:task1");
    }
});

Is there an easy way of doing this instead of overriding all tasks?
Thanks,
Matías

You can add after hook: after('deploy:failed', 'reverse:task1');
But your solution is okay. One of advantages of deployer being written in php - you can program what's you want.

thanks @antonmedv !


bug 1119868 - executive summary trending logic

Coverage increased (+0.0%) when pulling<PHONE_NUMBER>cc3742d8f4277f8ec7b03675888171 on peterbe:bug-1119868-executive-summary-trending-logic into 5fb9bc476dcee4033f1915e70552ec5a2490c850 on mozilla:master.

Coverage increased (+0.0%) when pulling c16ef38e07a8ea4653b00bbacb10aa9cee6b0d5a on peterbe:bug-1119868-executive-summary-trending-logic into 5fb9bc476dcee4033f1915e70552ec5a2490c850 on mozilla:master.


conditional caching on query fields?

Description
suppose for this query caching code
var countries1 = ctx.Products.FromCache().ToList();
is is possible to cache it partially so for product price and quantity is always queries from latest? this is required in some scenarios where main info doesn't change much but selective fields must remain up-to-date.
So i propose a method call like this
var countries1 = ctx.Products.FromCache(x=>x.exclude(x.price) && x.exclude(x.qty)).ToList();

Hello @aloksharma1 ,
Unfortunately, we don't have an Exclude feature, we tried recently (last month) but didn't succeed to complete it.
So this is something that maybe something that might code later (which will work with and without the caching), but for now, we don't have any solution for this.
Best Regards,
Jon

Performance Libraries
context.BulkInsert(list, options => options.BatchSize = 1000);
Entity Framework Extensions • Entity Framework Classic • Bulk Operations •  Dapper Plus
Runtime Evaluation
Eval.Execute("x + y", new {x = 1, y = 2}); // return 3
C# Eval Function • SQL Eval Function


(**)/2 exception

In the ISO standard, a goal such as 0 ** -1 should rise a evaluation_error(undefined) exception. In http://eclipseclp.org/wiki/Prolog/IsoErrata there's a good argument for rising instead evaluation_error(zero_divisor). Both exception are accepted by the Logtalk tests for this function. But Tau is rising evaluation_error(float_overflow).

Fixed.

All tests now pass:
$ logtalk_tester -p tau -g "set_logtalk_flag(clean,off)" -w
% Batch testing started @ 2021-11-09 10:02:41
%         Logtalk version: 3.52.0-b03
%         Tau Prolog version: 0.3.1
%
% Documents/Logtalk/logtalk3/tests/prolog/functions/power_2
%         14 tests: 0 skipped, 14 passed, 0 failed (0 flaky)
%         completed tests from object tests in 13 seconds
%         clause coverage n/a
%
% 1 test sets: 1 completed, 0 skipped, 0 broken, 0 timedout, 0 crashed
% 14 tests: 0 skipped, 14 passed, 0 failed (0 flaky)
%
% Batch testing ended @ 2021-11-09 10:02:59


Change repo "permissions" to repo "security"

The current Azure DevOps UI has renamed the Permissions tab to Security.

@jim-liu : Thanks for your contribution! The author(s) have been notified to review your proposed change.


create docs site for Meshery

We have decided to host the docs on meshery.layer5.io

MkDocs is a good candidate

Have the src for docs in meshery-saas folder called "docs" and possibly host the contents on GitHub Pages.
Have a redirect to GH pages from Meshery SaaS possibly. . .

Documentation for setting up GH Pages with MkDocs - https://www.mkdocs.org/user-guide/deploying-your-docs/
Material theme for MkDocs - https://squidfunk.github.io/mkdocs-material

@girishranganathan in consideration of @yogi4 taking this on, will you recap our conversations with him and point him in our chosen direction?

@girishranganathan my day is pretty wide open tomorrow , let me know your availability and . I will take this on.

Cool, I am available at 11:30 AM Eastern. Let's have a slack call.
Ty,
G

On Apr 16, 2019, at 10:25 PM, yogi porla<EMAIL_ADDRESS>wrote:
@girishranganathan https://github.com/girishranganathan my day is pretty wide open tomorrow , let me know your availability and . I will take this on.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/layer5io/meshery/issues/65#issuecomment-483912495, or mute the thread https://github.com/notifications/unsubscribe-auth/AeNTDUniVChnBW5y1EX6GlaVF8KwkcS2ks5vhoYZgaJpZM4cAGqQ.

sure Girish. 11:30AM EST works for me . let's have a slack call.
On Tue, Apr 16, 2019 at 10:58 PM girishranganathan<EMAIL_ADDRESS>wrote:

Cool, I am available at 11:30 AM Eastern. Let's have a slack call.
Ty,
G

On Apr 16, 2019, at 10:25 PM, yogi porla<EMAIL_ADDRESS>wrote:
@girishranganathan https://github.com/girishranganathan my day is
pretty wide open tomorrow , let me know your availability and . I will take
this on.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <
https://github.com/layer5io/meshery/issues/65#issuecomment-483912495>, or
mute the thread <
https://github.com/notifications/unsubscribe-auth/AeNTDUniVChnBW5y1EX6GlaVF8KwkcS2ks5vhoYZgaJpZM4cAGqQ
.

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/layer5io/meshery/issues/65#issuecomment-483927905,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACAO2kFfID5zvVbowMiiWptaemE4vPO5ks5vhpvTgaJpZM4cAGqQ
.

@yogi4 good to close?

We have the framework in place.


Typo in v1.3.6 tag

For consistency (and for downsteam package maintainers), please change the tag from 1.3.6 to v1.3.6

My goodness ... v1.3.x is really cursed.  At least I don't need to create a v1.3.7 due to this mistake :-)

Not critical at this point, but the 1.3.6 tag still shows in addition to a v1.3.6 tag. I am not sure how to do so because I never had to, but you may want to remove the 1.3.6 tag.

$ git push origin --delete 1.3.6
To github.com:python-caldav/caldav.git
 - [deleted]         1.3.6


qemu-system-aarch64: This host does not support 42b IPA: maxram/slots options not usable: unknown.

Get your issue reviewed faster
To help us understand the problem more quickly, please do the following:

Run the kata-collect-data.sh script, which is installed as part of Kata Containers.$ sudo kata-collect-data.sh > /tmp/kata.log

Review the output file (/tmp/kata.log) to ensure it doesn't
contain any private / sensitive information
Paste the entire contents of the file into this issue as a comment
(the script generates markdown format output).

The information provided will help us to understand the problem more quickly
so saves time for both of us! :smile:
Description of problem
(replace this text with the list of steps you followed)
Currently attempting to install Kata container and runtime on nVidia Xavier NX Devkit (aarch64) system, but encountered the error as titled.
Things I've tried:

Custom built the specific QEMU version following https://github.com/kata-containers/documentation/blob/master/Developer-Guide.md#build-a-custom-qemu-for-aarch64arm64---required and it patched Eric's patches.

Patched QEMU version:
# /usr/bin/qemu-system-aarch64 --version
QEMU emulator version 3.0.92 (v3.1.0-rc2-dirty)
Copyright (c) 2003-2018 Fabrice Bellard and the QEMU Project developers

Make sure /etc/kata-container/configuration.toml uses the patched QEMU.

[hypervisor.qemu]
#path = "/snap/kata-containers/current/usr/bin/qemu-system-aarch64"
path = "/usr/bin/qemu-system-aarch64"
kernel = "/snap/kata-containers/current/usr/share/kata-containers/vmlinuz.container"
initrd = "/snap/kata-containers/current/usr/share/kata-containers/kata-containers-i$
machine_type = "virt"

Launched the simplest busybox sh container.

sudo docker run -ti --runtime kata-runtime busybox sh

Expected result
Docker container will be created and running on kata-runtime.
Actual result
sudo docker run -ti --runtime kata-runtime busybox sh
docker: Error response from daemon: OCI runtime create failed: failed to launch qemu: exit status 1, error messages from qemu log: qemu-system-aarch64: This host does not support 42b IPA: maxram/slots options not usable: unknown.
ERRO[0001] error waiting for container: context canceled

From journalctl -t kata-runtime --no-pager -f
...
Sep 17 21:16:15 nvidia-xavier-nx kata-runtime[2739]: time="2020-09-17T21:16:15.229137455-04:00" level=error msg="failed to launch qemu: exit status 1, error messages from qemu log: qemu-system-aarch64: This host does not support 42b IPA: maxram/slots options not usable\n" arch=arm64 command=create container=0ea6440ee06249ff9193c926

Further information
The only issue related to this seems to be https://github.com/kata-containers/ci/issues/169, and it is mentioned that it is solvable if the host kernel is 5 and above. Just wondering if that is mandatory and is the culprit?
About the OS
desktop@nvidia-xavier-nx:~$ uname -a
Linux nvidia-xavier-nx 4.9.140-tegra-virt-20200710 #5 SMP PREEMPT Fri Jul 10 18:37:23 EDT 2020 aarch64 aarch64 aarch64 GNU/Linux
desktop@nvidia-xavier-nx:~$ hostnamectl
   Static hostname: nvidia-xavier-nx
         Icon name: computer
        Machine ID: **redacted**
           Boot ID: **redacted**
  Operating System: Ubuntu 18.04.4 LTS
            Kernel: Linux 4.9.140-tegra-virt-20200710
      Architecture: arm64

kata-collect.log

cc @justin-he @Pennyzct

This issue can be workaround by using the stock version of qemu that install from apt-get install qemu

cc @jongwu
Hi @garygan89 We recommend to use host kernel v5.0 or above because there are several new features.
 qemu-system-aarch64: This host does not support 42b IPA: maxram/slots options not usable\n"

As for the direct cause from the log is this commit:
commit 233a7cb235318223df8133235383f4c595c654c1
Author: Suzuki K Poulose<EMAIL_ADDRESS>Date:   Wed Sep 26 17:32:54 2018 +0100
kvm: arm64: Allow tuning the physical address size for VM

Allow specifying the physical address size limit for a new
VM via the kvm_type argument for the KVM_CREATE_VM ioctl. This
allows us to finalise the stage2 page table as early as possible
and hence perform the right checks on the memory slots
without complication. The size is encoded as Log2(PA_Size) in
bits[7:0] of the type field. For backward compatibility the
value 0 is reserved and implies 40bits. Also, lift the limit
of the IPA to host limit and allow lower IPA sizes (e.g, 32).

The userspace could check the extension KVM_CAP_ARM_VM_IPA_SIZE
for the availability of this feature. The cap check returns the
maximum limit for the physical address shift supported by the host.

#  git describe 233a7cb23531
v4.19-rc5-18-g233a7cb23531

@garygan89 did you try kernel v5.0 as recommended?

@garygan89 did you try kernel v5.0 as recommended?

This issue is being automatically closed as Kata Containers 1.x has now reached EOL (End of Life). This means it is no longer being maintained.

Important:
All users should switch to the latest Kata Containers 2.x release to ensure they are using a maintained release that contains the latest security fixes, performance improvements and new features.

This decision was discussed by the @kata-containers/architecture-committee and has been announced via the Kata Containers mailing list:

http://lists.katacontainers.io/pipermail/kata-dev/2020-November/001601.html
http://lists.katacontainers.io/pipermail/kata-dev/2021-April/001843.html
http://lists.katacontainers.io/pipermail/kata-dev/2021-May/001896.html

If you believe this issue still applies to Kata Containers 2.x, please open an issue against the Kata Containers 2.x repository, pointing to this one, providing details to allow us to migrate it.


Consider adopting the responsibility of registering before dequeueing

Hi,
As the titles says. I've been using this approach for some time:
public extension UITableView {
    /// Registers and dequeues a `Reusable` `UITableViewCell`.
    ///
    /// - Returns: A reusable cell.
    final func reusableCell<T: UITableViewCell>() -> T where T : Reusable {
        guard let cell = self.dequeueReusableCell(withIdentifier: T.reuseIdentifier) as? T else {
            self.register(T.self, forCellReuseIdentifier: T.reuseIdentifier)
            return self.dequeueReusableCell(withIdentifier: T.reuseIdentifier) as! T
        }
        return cell
    }

}

Then:
let cell = tableView.reusableCell() as TableViewCell

No need to remind myself to register beforehand. I know the signatures don't match. It's just to get an idea.
Is there some edge case I'm not seeing where this might not be possible/advisable?
Thanks

Hi
Thanks for the suggestion!
I've seen this pattern used in some other projects too. I think it could be a great addition to Reusable indeed! Feel free to make a PR 👍

I'd definitely add an option to disable the magic auto-register, I can image there's someone somewhere that might want to. Great idea though!

#63 👍

Hi,
To avoid the number of open issues / PRs to track, I'm closing this issue. But we can keep #63 open – I have to admit that I totally forgot about it and only remember it because I'm doing some triage tonight, but it's still a nice suggestion to keep in mind to add – and review if we merge #63 at some point.


Add Visualization

It would be great to model the visualization on this ocean currents site and visualise the global (or UK) PV changes over the next 48 hours for use as well as to see trends.
Detailed Description
This would include adding a geographic map and plotting a heat map after predicting the PV values at each point on the map grid, superimposed on the geographic map.
Context
Users may want to see PV trends over the next period, or guidance on choosing an address for their site.
Possible Implementation
This seems to be easily done using the matplotlib library.

Sounds great @Antimony5292, can you do this?

Sounds great @Antimony5292, can you do this?

Absolutely! I've developed a demo and plan to submit a proposal for the Google Summer of Code program based on this idea. I'm also open to considering alternative proposals for this project. If you have any ideas or suggestions, I'd love to hear them!

Hi @Antimony5292. Cool idea! perhaps you could use our ICON global dataset to do this: https://huggingface.co/datasets/openclimatefix/dwd-icon-global/tree/main.
It would be good to think about how this might differentiate from existing tools out there such as. https://www.windy.com/-Show---add-more-layers/overlays?solarpower,52.877,26.484,3

Sounds great @Antimony5292, can you do this?

Absolutely! I've developed a demo and plan to submit a proposal for the Google Summer of Code program based on this idea. I'm also open to considering alternative proposals for this project. If you have any ideas or suggestions, I'd love to hear them!

Hi @Antimony5292 this looks great, sorry ibe only just seen this. Would you like to do a PR to get this jupyternotebook into the main repo?


debug "follow it all"

tested on Android 4.4.2
old code works good in browser not android !

ionic lib version 1.3.1 (latest as now)


Feature/2023/01

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (94bb37c) 60.44% compared to head (2c6248a) 63.24%.

Files
Patch %
Lines

solution-runner/src/main.rs
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #19      +/-   ##
==========================================
+ Coverage   60.44%   63.24%   +2.80%
==========================================
  Files          29       31       +2
  Lines         948     1023      +75
==========================================
+ Hits          573      647      +74
- Misses        375      376       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


🐌 [admin] - Add PDF and Red Hat Branding

📝 Description
ADD - some branding for TL500 to make this more downstream "producty"
🧙♀ Suggested solution
@christusa to add brand guidelines
Add Licence to the repo & pages
Add PDF to docsify [epub for bonus points]

hey @christusa! is having the PDF version of tech-exercises and slides still relevant?


add new issue templates

Description
this PR addresses #182 again, using the .yml structure beldur showed me. i'm using markdown for the PR template and yml for the issue/bug reports. i think it is pretty slick!
How Has This Been Tested?
it hasn't!
Checklist:

[X] I have performed a self-review of my own code.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] I have based my pull request against the main branch or have a good reason not to.

@JamesDowney letting you know i did the yml thing lol


scratchblocks2 inline

@gahjelle Is there a reason why we should use {.blockmotion} etc, when inline exists? https://github.com/blob8108/scratchblocks2#inline-blocks
Haven't tried it, but I guess all inline blocks can be changed to something like turn ccw (10){.blocks}.

Hmm... haven't seen the inline option before. That would probably be much better than what we are doing today with {.blockmotion} and friends.

Interesting – I hadn’t seen this either!

Will need some extra css, or the code will be on a line of its own.

Closed in #167. Usage:
bla bla bla `when flag clicked`{.b} bla bla


 From the load notebook:
train = load("../data/train.csv", nrows=10000)
test = load("../data/test.csv", nrows=None)
print(test["fullVisitorId"].nunique())

Loaded file ../data/train.csv
Shape is: (10000, 54)
Loaded file ../data/test.csv
Shape is: (804684, 53)
617242
NOTE: so far it is correct, the expected number of IDs is 617242. But after the next step:
train_processed, test_processed = process(train, test)
print(test_processed["fullVisitorId"].nunique())

Dropping constant columns...
Generating date columns...
Finding total visits...
Splitting back...
618207
There is suddenly a thousand more. Clearly, this way we cannot produce the required predictions. This happened before when we didn't read the fullVisitorId column as a string. Now we do, but somewhere in process() it seems to go wrong. The number of observations in the datasets does not change, so I guess it is a data type thing. Is it implicitly converted to numeric somewhere?

Got a fix, PR coming up.

Out of curiosity, can you point out where the error happened in the PR or here?

I'm not entirely sure where, but somewhere when working on the merged/concatenated data, the data is sorted. Probably some internal Pandas thing?

This behavior changed between pandas version but I though the sort argument: merged = pd.concat([train, test], sort=False)  would take care of this. Apparently it doesn't

Oh but I see, the problem happens after the merge. So it could be anything. Your fix seems fine to be though let's merge asap.

Yeah exactly, in one of the preprocessing steps after merging and before splitting, but it's hard to say where. So this was the quickest solution I guess.


Ensure that the dest directory is correct.

Previously, it would not handle paths starting with ‘~’ and the
FileUtils.cp_r would fail on Ruby 2.3.3 if the destination directory
did not exist.
Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary. - N/A

Description
Added a command to make sure that the logarchive destination directory was fully expanded to handle the case where we get a ~ as the first character and added a command to ensure that the destination directory also exists so that FileUtils.cp_r
Motivation and Context
Copying the logarchives is failing because the destination directory does not exist. This is not a problem for Ruby 2.2.5, but it is a problem on 2.3.3.
Errno::ENOENT: [!] No such file or directory @ dir_s_mkdir - /Users/jenkins/workspace/workspace/lyndsey-ferguson_MyTests/fastlane/artifacts/tests/system_logs-iPhone 5s_iOS_10.0.logarchive
  /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/fileutils.rb:1366:in `mkdir'
  /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/fileutils.rb:1366:in `copy'
  /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/fileutils.rb:472:in `block in copy_entry'
  /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/fileutils.rb:1498:in `wrap_traverse'
  /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/fileutils.rb:469:in `copy_entry'
  /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/fileutils.rb:444:in `block in cp_r'
  /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/fileutils.rb:1571:in `block in fu_each_src_dest'
  /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/fileutils.rb:1587:in `fu_each_src_dest0'
  /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/fileutils.rb:1569:in `fu_each_src_dest'
  /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/fileutils.rb:443:in `cp_r'
  /Users/appian/.gems/gems/fastlane-2.14.2/fastlane_core/lib/fastlane_core/device_manager.rb:208:in `copy_logarchive'
  /Users/appian/.gems/gems/fastlane-2.14.2/scan/lib/scan/runner.rb:101:in `block in copy_simulator_logs'

@hjanuschka can I get a review please?

@hjanuschka can you look at this approach?

@hjanuschka can you review this? I have addressed your concerns and made sure that this works on both Mac OS 10.11 and 10.12.
I am not sure how to fix circleci as it is complaining about Xcode not having its license agreement accepted on the CI.

about CI  - can you push a empty commit to rerun circle? - other PR's seem to work now.

Once I am back at a computer, I'll update the code and the subsequent push will rerun circle and all will be well :smile:

@hjanuschka can you look at this now?

@hjanuschka I addressed your comment to reverting that change to be the way it was. device_manager.rb uses a Open3 frequently and it seems prudent to make that change in a separate PR. I use Jira in-house for tracking work, do you recommend making a new Issue here in Github to change the use of Open3 to FastlaneCore::CommandExecutor.execute ?

PR is good, lets wait for @DanToml  to confirm it fixes the issues on circle ;)
@lyndsey-ferguson yeah - lets create a issue, and discuss the future of open3 👍  - i am not sure if there is a reason they are in.....

Issue here: https://github.com/fastlane/fastlane/issues/8140

Thanks for the PR! I added a couple of cleanups.

@lacostej your comments have been addressed

🚀


Sprite rendering

Finalized Sprite Rendering.
Todo:

Adjust screen scaling so sprites scale with window size, and the canvas is not just increased.

Create new class to contain GLuint IDs for VBO, IBO, and VAOs of commonly used objects (in this case, sprites). This would allow us to only load them once, and not each time we create a sprite (don't have to redefine verts and such)

Add sprite sheet handling via ResourceManager. Look into BitBlt, as suggested by Borna

Let me know if something needs more explaining, or if any adjustments are necessary!

Please add the TODOs to trello if you haven't already.

I would suggest renaming Bluedemise2.png to something more descriptive, like bluedemise_splash or bluedemise_text or whatever we use the text version for


Allow 0 for cloud cover.

During STAC sprint 3 we discussed that it seems wrong that cloud cover can't be set to 0, i.e. no clouds.
@matthewhanson

ha, yeah that's an oversight, definitely need to be able to set it to 0.


feat: fixes MGDCTRS-1635, added initial version of metadata config maps

Description
Added config maps for connector metadata. This initial version has labels taken from the current catalogs.
Verification Steps
CI tests should succeed.
Checklist (Definition of Done)

[X] All acceptance criteria specified in JIRA have been completed
- [ ] Unit and integration tests added that prove the fix is effective or the feature works (tested against emulated and non-emulated OCM environment)
[X] Documentation added for the feature
[ ] CI and all relevant tests are passing
[ ] Code Review completed
[ ] Verified independently by reviewer
- [ ] Required metrics/dashboards/alerts have been added (or PR created).
- [ ] Required Standard Operating Procedure (SOP) is added.
- [ ] JIRA has created for changes required on the client side

This PR is waiting for the k-f-m code changes PR to be merged.


chore: update package-lock.json

Running npm audit revealed that the module versions in the package-lock.json did not satisfy versions in package.json.
This should fix, for now, #207.

Use https://help.github.com/articles/closing-issues-using-keywords syntax?

This is not addressed yet.

PTAL


Use cudaMalloc on GPUs that do not support cudaMallocAsync

(Apologies for the large diff due to improving the error messages. The only important functional change is at the end of the file with s/cuda{Free,Malloc}Async/cuda{Free,Malloc}/)
A user reported that with their Quadro M4000 GPU (Driver: 460.56) tridiagonal_solve was throwing operation not supported. I improved the logging (also included in this patch) and tracked it down to:
jax._src.traceback_util.UnfilteredStackTrace: RuntimeError: third_party/py/jax/jaxlib/cusparse.cc:902: CUDA operation cudaMallocAsync(&buffer, bufferSize, stream) failed: operation not supported

It's unclear why this is not supported from the docs, I was able to run the original code on an A100 machine (same driver version, same binary etc) with no issue. For now I'll revert so we're using the sync APIs such that this works.

I've been debugging an unrelated cuSolver issue with another user, and decided to update this PR to consistently apply the JAX_THROW_IF_ERROR macro to all of the CUDA custom calls (cusparse, cusolver, cublas, prng kernels etc) so we have useful context in error messages.
This PR is now quite large, and combines both the error macro change, and the removal of cudaMallocAsync. If you have a strong preference for me to split this into two PRs please let me know.

While the NVIDIA docs are terrible in this regard, couldn't we gate on the compute capability and disable this on only older GPUs? We shouldn't be regressing the new GPUs

Sounds good, I'll check a few of the GPUs we have access to and see if I can find a suitable compute version to anchor on.
In the mean time I've split out the error macro change into #7280 given that the change to alloc/free will be a bit more involved and deserves independent review.

OK so I've tested on P100 (sm60), V100 (sm70) and A100 (sm80) with driver 460.56 and async malloc works. On M4000 (sm52) with the same driver version it fails.
I also tested on V100 (sm70) with driver 450.80.02 and it fails (with RuntimeError: API call is not supported in the installed CUDA driver).
Given that, I think it's reasonable to gate this on driver version supports CUDA >= 11.2 and compute capability > 5.

OK the code is now simpler and actually ready for review. Thank you for the discussion @apaszke! It turns out the cuSPARSE buffer size computation does not require the data, and can provide a buffer size given just the array sizes. As such we can compute it ahead of time, and ask XLA to allocate the buffer for us. This removes all calls to malloc.
I've tested and this version works nicely on V100 and A100.


Zoheb's modifications to scripts plus new scripts he's written

I've made multiple changes to some of the scripts we've been using to make them more user friendly.

Looks good. Any last thoughts @sagarlekar ?


update as per request from engineering

This PR is to address GitHub Issue https://github.com/Microsoft/ApplicationInsights-Java/issues/790

OPS Build status updates of commit aa8be15:
:clock10: Preparing: average preparing time is 5 min(s) 55 sec(s)

OPS Build status updates of commit aa8be15:
:clock10: Full build: average full build time is 68 min(s) 19 sec(s) [calculated from last 70 build(s)]

Note: A full build takes more time than an incremental build.  This is the expected behavior of the build system.

OPS Build status updates of commit aa8be15:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/spring-framework/configure-spring-boot-java-applicationinsights.md
:white_check_mark:Succeeded
View (azure-java-stable) View (azure-java-preview) View (azure-java-legacy)

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


still active?

This repo seems fantastic! I am planning to test it extensively in the next few days!
I see that it was created 2 years ago, though. Is this project still active?
Also, did you publish this work on a paper/medium article?
All the best

Hi @MartinaRuocco! Really sorry for the slow reply. I'm glad you like the repo! Unfortunately as you might have guessed we haven't been actively working on this for a while, but that said the repo should be in a relatively stable condition (not counting those problems you had with installation in the other issue) and now that it's back on my radar I'd be happy to help you out with any problems you might encounter while using it.
This issue is a little old now so perhaps you've already moved on but if not, by all means make issues / PRs for anything you like!

Hi @thomascent
Very cool to know that you're back on the radar! I've been meaning to use this repo in the next weeks so I'm glad to know that this repo is active again!!
Many thanks

hey there again @thomascent
did you try to run some Reinforcement Learning training using your environments?
I'm having some trouble adapting the diy_gym envs to the stable_baselines agents.

Hey @MartinaRuocco, I don't think I ever used any agents from stable_baselines, but I have tested the envs using some agents that I wrote myself as well as this implementation of TD3. If you're still having troubles would you be able to create a separate issue describing the problem? I can help you work though it there


Update readme

Update readme according to the latest documentation PR https://github.com/openedx/openedx-aspects/pull/85
Some fixes for RUN_RALPH and hardcoded values

Thanks for the pull request, @Ian2012!  Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.

@Ian2012 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.


Conflict if using Loras with sd1.7, Dynamic Prompt stopped working

As mentionned in the tittle, DP stopped working when its used with loras,didn't chek for SDXL but i guess it's the same.
error in the console log
*** Error running process: D:\Stability-Matrix\Packages\Stable Diffusion WebUI\extensions\sd-dynamic-prompts\scripts\dynamic_prompting.py     Traceback (most recent call last):       File "D:\Stability-Matrix\Packages\Stable Diffusion WebUI\modules\scripts.py", line 718, in process         script.process(p, *script_args)       File "D:\Stability-Matrix\Packages\Stable Diffusion WebUI\extensions\sd-dynamic-prompts\sd_dynamic_prompts\dynamic_prompting.py", line 481, in process         all_prompts, all_negative_prompts = generate_prompts(       File "D:\Stability-Matrix\Packages\Stable Diffusion WebUI\extensions\sd-dynamic-prompts\sd_dynamic_prompts\helpers.py", line 93, in generate_prompts         all_prompts = prompt_generator.generate(prompt, num_prompts, seeds=seeds) or [""]       File "D:\Stability-Matrix\Packages\Stable Diffusion WebUI\venv\lib\site-packages\dynamicprompts\generators\randomprompt.py", line 67, in generate         gen = self._context.sample_prompts(template, num_images)       File "D:\Stability-Matrix\Packages\Stable Diffusion WebUI\venv\lib\site-packages\dynamicprompts\sampling_context.py", line 119, in sample_prompts         command = parse(prompt, parser_config=self.parser_config)       File "D:\Stability-Matrix\Packages\Stable Diffusion WebUI\venv\lib\site-packages\dynamicprompts\parser\parse.py", line 454, in parse         tokens = get_cached_parser(parser_config).parse_string(       File "D:\Stability-Matrix\Packages\Stable Diffusion WebUI\venv\lib\site-packages\pyparsing\core.py", line 1197, in parse_string         raise exc.with_traceback(None)     pyparsing.exceptions.ParseException: Expected end of text, found '_'  (at char 545), (line:1, col:546)

What is your prompt? This probably has to do with a LoRA having two underscores in the name.


[stable/elastalert] Upgrade elastalert to 0.1.39

Signed-off-by: Jason Ertel<EMAIL_ADDRESS>
What this PR does / why we need it: Upgrades to latest (0.1.39) version of yelp/elastalert
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/lgtm

@jertel @davidkarlsen Have you tried to helm install this chart?
i try to install elastalert on my local k8s cluster "helm install --name elastalert stable/elastalert --debug". But it only creates configMaps, no deployment, no pod....
Anything i missed? Please help on this.
Thanks a lot!

Well, i figured it out!
it needs to set elasticsearch.host value, there is no default.


Bluetooth: Mesh: Replace net_buf with mem_slabs

Use memslabs for loopback, for save some ram footprint.
Signed-off-by: Lingao Meng<EMAIL_ADDRESS>

west build -b nrf52840dk_nrf52840 zephyr/samples/bluetooth/mesh
Before

After

@jhedberg waiting on an ack from you


Creating extra attributes for conversation

Currently there are two attributes available when creating a message in the conversation, body and subject. I'd like to be able to add more attributes to the message. I've added the attributes in the database so that it can save them but when I look at my terminal output the response is null. In the past I've tried adding them to the attr_accesible for message but that hasn't worked?
Any suggestions on how to add further attributes? Any help would be greatly appreciated, thank!

@michaelperalta How wr you able to add more attrs in the message in the conversation - Wanting to have subject, body and location. So confused as to how I create this...


ERROR: Error in output template: unsupported format character

Usage of % symbols in the output throw errors since they are being read as output templates. Is there a better check that could be added since all output templates utilize the form %(TEMPLATE)s?
youtube-dl --verbose 'https://soundcloud.com/esteban-chachalo-dj/mixer-al-100-original-in-the' -o 'MIXER AL 100%Original in the mix - ( Esteban Chachalo dJ ) DEMO.%(ext)s'
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['--verbose', 'https://soundcloud.com/esteban-chachalo-dj/mixer-al-100-original-in-the', '-o', 'MIXER AL 100%Original in the mix - ( Esteban Chachalo dJ ) DEMO.%(ext)s']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.3 - Linux-3.14.32-xxxx-grs-ipv6-64-x86_64-with-Debian-7
[debug] exe versions: avconv 1.2.12, avprobe 1.2.12, ffmpeg 1.2.12, ffprobe 1.2.12, rtmpdump 2.4
[debug] Proxy map: {}
[soundcloud] esteban-chachalo-dj/mixer-al-100-original-in-the: Resolving id
[soundcloud] esteban-chachalo-dj/mixer-al-100-original-in-the: Downloading info JSON
[soundcloud] 105246408: Downloading track url
ERROR: Error in output template: unsupported format character 'O' (0x4f) at index 13 (encoding: 'UTF-8')
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py", line 562, in prepare_filename
    filename = tmpl % template_dict
ValueError: unsupported format character 'O' (0x4f) at index 13

Not all output templates use the form %(TEMPLATE)s, although the documentation heavily favors them. Why are you specifying your own title in the first place instead of just -o "%(title)s.%(ext)s"?
In any case, if you are into setting your own title, simply double all percent signs in it.

Thanks for the quick response. I didn't see any other bugs on this particular issue so wanted to at least have it out there.
Manually specifying the title can be preferable in some use cases, but not worth re-inventing the wheel for.
Double %% works as expected.  Thanks!

i see this occasionally too, with 2016.7.17, in a python webapp that uses youtube-dl as a library, http://huffduff-video.snarfed.org/. example video url: https://www.oreilly.com/ideas/applications-of-ai-technologies-peter-norvig-in-conversation-with-tim-oreilly
the app uses 'outtmpl': '/tmp/%(webpage_url).240s' in the options dict that it passes to download(). code is here, full stack trace below.
Traceback (most recent call last):
  File "/var/www/cgi-bin/app.py", line 142, in run
    youtube_dl.YoutubeDL(options).download([url])
  File "/usr/local/lib/python2.6/site-packages/youtube_dl/YoutubeDL.py", line 1775, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "/usr/local/lib/python2.6/site-packages/youtube_dl/YoutubeDL.py", line 693, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/usr/local/lib/python2.6/site-packages/youtube_dl/YoutubeDL.py", line 746, in process_ie_result
    extra_info=extra_info)
  File "/usr/local/lib/python2.6/site-packages/youtube_dl/YoutubeDL.py", line 693, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/usr/local/lib/python2.6/site-packages/youtube_dl/YoutubeDL.py", line 739, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "/usr/local/lib/python2.6/site-packages/youtube_dl/YoutubeDL.py", line 1421, in process_video_result
    self.process_info(new_info)
  File "/usr/local/lib/python2.6/site-packages/youtube_dl/YoutubeDL.py", line 1499, in process_info
    info_dict['_filename'] = filename = self.prepare_filename(info_dict)
  File "/usr/local/lib/python2.6/site-packages/youtube_dl/YoutubeDL.py", line 605, in prepare_filename
    self.report_error('Error in output template: ' + str(err) + ' (encoding: ' + repr(preferredencoding()) + ')')
  File "/usr/local/lib/python2.6/site-packages/youtube_dl/YoutubeDL.py", line 556, in report_error
    self.trouble(error_message, tb)
  File "/usr/local/lib/python2.6/site-packages/youtube_dl/YoutubeDL.py", line 526, in trouble
    raise DownloadError(message, exc_info)
DownloadError: ERROR: Error in output template: unsupported format character 'B' (0x42) at index 53 (encoding: 'ANSI_X3.4-1968')

/tmp/%(webpage_url).240s is invalid output template.

...and yet it works almost all the time. :P
you're right that %(webpage_url) isn't listed in the --output section of --help, but i need a globally unique string, and it's the best option i found, even though it's undocumented. sigh.

In any case you override it here therefore it's your responsibility to escape % in filename_prefix.

I'm not about not being listed. .240s is not guaranteed to work. There is no full support for string formatting operations in output template.

true, thank you! good points. escaping %s fixed it!

Double % did work for me! Thanks.


Support GIF/WEBP frame duration in Image widget

Currently, rendering an animated GIF or WEBP cycles through frames without taking the frame duration data into account. It would be nice if this could be supported.

+1. The Image widget doesn't appear to respect the frame time given in the GIF or WEBP animation. Just a bug?


Added support to use the config recipe with upstart and logrotate

I've changed chef-client::config to create a specific logrotate for when using upstart init system. As a fallback for when init system can't be detected, it will do a copytruncate.

does it need anything more to get merged?

I think it would be cleaner to delegate this to a library helper method.

While you're at it, can you add support for systemd? My centos 7 system is getting cron errors from having init style configured. Something like:
  case node['chef_client']['init_style']
  when 'init'
    logrotate_postrotate = '/etc/init.d/chef-client reload >/dev/null || :'
  when 'upstart'
    logrotate_postrotate = 'restart chef-client >/dev/null || :'
  when 'systemd'
    logrotate_postrotate = 'systemctl reload chef-client.service > /dev/null || :'

There were other changes to logrotate merged in #241 and #243 - can you see if these are sufficient?

@jhh We have systemd support:
7 weeks ago ea0a955 Allan Espinosa  Switch Arch Linux to use systemd.
6 months ago a44c248 Julian C. Dunn  Allow EL7 to use the systemd recipe
9 months ago b963527 Julian C. Dunn  [COOK-3465] Switch Fedora to using systemd

Closing, as #241 and #243 will cover the functionality required, and give users configurable knobs in the form of attributes.


Save terraform outputs to guardian/outputs branch

TL;DR
Guardian apply should optionally store outputs to a locked-down branch named guardian/outputs.
Detailed design
Why store outputs:

Far more convenient to reference/link to (can link to a particular line)
Don't have to remember which PR last applied changes to a particular entrypoint (the most up to date outputs are always in the branch)
Stored outputs can be used to implement new features (abc generate templates using outputs as inputs)

Implementation:

After a successful terraform apply the changed outputs should be committed to the guardian/outputs branch. (terraform outputs)
the path to the outputs file should match the path to the tf entrypoint
The commit should be pushed directly to the branch.
The guardian/outputs branch should have branch protection to ensure no one has rights to commit to it besides the GitHub bot.

Risks

Technically anyone could create a github action in a PR and use it to commit/modify the outputs branch. Mitigation: It should be documented that this should be used for non-production/non-critical paths. Additionally, any reference to outputs in code should be locked by hash to prevent changes to head breaking things.
Terraform outputs can store sensitive details. Mitigation: This should be documented and any output that is sensitive should be marked as sensitive. We should also not specify -json or -raw so that terraform will not ignore sensitive attributes.

Alternatives considered

Store the outputs in a GCS bucket. Why not: worse user experience
Store the outputs in the main branch. Why not: CLA blocks on github bot committing the code

Additional information
No response

Outputs are complex data structures (e.g. arrays of maps of objects of arrays of strings and numbers) - representing them as a file will be difficult unless you use -json (-raw does not support complex types). But as you noted, that will include sensitive values too. I also think it would be a mistake to assume end-users will correctly mark outputs as "sensitive" as a control mechanism.
Using a single branch assumes there is one active Guardian instance/actuation per repo, which I think is already untrue. If you name files after specific actuation stacks as suggested, users need to know _which _ file to read, and they have access to all of the other outputs.
Teams might have multiple actuations on different sub-folders, which would then clobber. The architecture you describe also has no mechanism for deleting stale output files for a stack that's deleted.
What are the use cases for doing this that can't be satisfied with Terraform remote state?
It sounds like there's a goal to have some database of values that are populated from Terraform. It would be better if those were hand-selected instead of assuming all outputs need to be published. Furthermore, publishing the outputs into a branch on a repo introduces authentication challenges (for the CLI use case you mentioned).
I don't think this is actually going to be as good of a user experience as you think.

Outputs are complex data structures (e.g. arrays of maps of objects of arrays of strings and numbers)
Anecdotally I did this with a pretty complex output for X's org and it seemed pretty readable. I can imagine it would get pretty crazy but maybe putting crazy values in outputs isn't actually helpful anyways?

I also think it would be a mistake to assume end-users will correctly mark outputs as "sensitive" as a control mechanism.
These values are already all printed out in the PR comment. Anyone with access to the repo can go and see them. Doesn't seem like we are introducing any more risk. Additionally if it is that much of a risk perhaps we should run some kind of secret detection against the output and mask anything that seems like a secret (for PR comments too). If we did that then we could use -json or -raw.

Using a single branch assumes there is one active Guardian instance/actuation per repo
I didn't elaborate on this - but my thought was that we would support any arbitrary actuation on any path in the main branch. We could do this by using the TF entrypoint path as the path to store the output file(s).

users need to know _which _ file to read,
It will be the file at the same path as their entrypoint. For example - I have an entrypoint at terraform/gcp-org/x-projects/nebula so the output will go in the same path in the guardian/outputs branch (no other files in this branch besides outputs).

and they have access to all of the other outputs.
This is already true in the current design.

Teams might have multiple actuations on different sub-folders, which would then clobber.
Not sure how this would occur? Guardian enforces a linear merge process with everything needing to be up to date before merging. Where does the clobbering happen?

The architecture you describe also has no mechanism for deleting stale output files for a stack that's deleted.
Fair point - this is an existing problem with Guardian though. We don't currently have a way to clean up old statefiles / buckets / entrypoints. We should think more on this generally for Guardian.

What are the use cases for doing this that can't be satisfied with Terraform remote state?
For X's org - the statefile itself is not accessible to users (only to platform ops SA). As this could contain a lot of sensitive data & I'd like to be able to refactor the state considerably and only maintain that the outputs stay the same (internals vs externals).

It would be better if those were hand-selected instead of assuming all outputs need to be published
IMO thats what the terraform outputs are - a hand-selected set of outputs. However, if we wanted to further restrict it we could enforce that each output be marked with a special comment/some indication that it should be shown to users.

I don't think this is actually going to be as good of a user experience as you think.
I suspect for really complicated configurations you are correct. But I think almost every terraform config in Tidal or X would be ok.

Overall: I just think that referring back to PR comments to get important configuration is not a great experience.

Anecdotally I did this with a pretty complex output for X's org and it seemed pretty readable. I can imagine it would get pretty crazy but maybe putting crazy values in outputs isn't actually helpful anyways?

Readable != parsable though. The use cases described assume some kind of automation is processing the response. For a simple string/number, that might work, but parsing a deeply nested object with variable types will be difficult.

These values are already all printed out in the PR comment. Anyone with access to the repo can go and see them. Doesn't seem like we are introducing any more risk. Additionally if it is that much of a risk perhaps we should run some kind of secret detection against the output and mask anything that seems like a secret (for PR comments too). If we did that then we could use -json or -raw.

I agree, but the suggestion of creating a branch and making it accessible to automation tooling implies (1) increased access and (2) scope broader than just a platform team. Right now, the threat model is contained to people who already have privileged access. I don't believe we want to give the entire organization access to the infra repos (even if the access is read-only).

It will be the file at the same path as their entrypoint. For example - I have an entrypoint at terraform/gcp-org/x-projects/nebula so the output will go in the same path in the guardian/outputs branch (no other files in this branch besides outputs).

I think there might be an underlying assumption that the human changing the infra config is the same human that needs access to the output. I do not believe that to be universally true.

This is already true in the current design.

Not necessarily. Right now, everyone with access to the infra repo has access to all outputs. By opening this up to automation, you're expanding the knowledge graph.

This was assuming an architecture where all the outputs were written to the same file (e.g. outputs.txt).

Beyond the initial bootstrapping, what values are needed from Terraform? Most outputs rarely change, so I don't fully understand why we can't just spit out a config file or some markdown that gets copied into the project's README. That's what we did for EN and it worked super well. If there's a situation where we're updating downstream dependencies from Terraform output values, we're probably holding it incorrectly.

For a simple string/number, that might work, but parsing a deeply nested object with variable types will be difficult.

Fair enough. I imagine its somewhat self selecting though - since if its hard to parse the user can just update their outputs and flatten/shorten them.

accessible to automation tooling implies

I don't actually think automation tooling should have access. I think only users should have read access. The only writer would be the bot running in the same repo (technically that is broader access but seems reasonable?)

I don't believe we want to give the entire organization access to the infra repos

Yep. I agree. Just people with read rights to the repo.

I think there might be an underlying assumption that the human changing the infra config is the same human that needs access to the output

I agree with you. Which is why I think putting the info in a PR comment is worse - very difficult to remember where my WIF/SA/bucket details are and how to find them.

so I don't fully understand why we can't just spit out a config file or some markdown that gets copied into the project's README

Can you elaborate on this? Your link to a file generated by terraform doesn't seem like it will solve the problems (unless this file gets checked in somewhere) since you'd need access to run a tf plan/apply in order to generate the file.

Fair enough. I imagine its somewhat self selecting though - since if its hard to parse the user can just update their outputs and flatten/shorten them.

Sure, but again, I think this assumes that the person making the changes to the infra is the same person who needs access to the outputs.

Can you elaborate on this? Your link to a file generated by terraform doesn't seem like it will solve the problems (unless this file gets checked in somewhere) since you'd need access to run a tf plan/apply in order to generate the file.

I'm still not super clear about the problem you're trying to solve with this proposal. I've heard "abc cli" and "thing I can link to". Here's how I suspect this should work:

A product team needs a new product environment, they ask the platform ops team to do it, or the propose a PR
The PR is approved and merged
Guardian puts the outputs in the comments (project ID, endpoints, etc)
The product team copies those outputs into their repository (either in a README, script, .env file, etc)
The product team rarely interacts with outputs again

In the example I linked, Terraform spits out a .env file that includes all the outputs (with some formatting). I'm suggesting we could print those out and product teams can copy-paste them into their product-specific repos.
I think the disconnect is that you're thinking we need continuous access to outputs, and I think of them as a point-in-time exercise that's probably not worth automating.

The more complex (and certainly atypical) use case that I have at X is that that we are attempting to give projects CODEOWNERS on their own directories in our gcp-org repo. In order to do this we need to generate a separate WIF/SA and lock it down guardian to only allow running on a particular directory for a particular WIF/SA. WIF provider is not known until after the apply that creates the WIF. Rather than having a manual step when someone has take the output from apply and add it to a file I'd prefer to just automatically grab the provider details from the output and make it available in an .env file for future PR plans/applies. Essentially we could develop a streamlined process for fine-grained auth on an infra repo. Happy to elaborate more.
How would you suggest achieving this? I'd prefer not having the user manually copy data from the PR output (our users know very little about terraform/guardian).

I'm not sure I follow the use case - can you send me a write-up or link me something in email? Just from the cursory description, it feels like having the apply propose a PR to add that data to the repo would be the best route.