Light Engine: LogMerger State Machine: S3ObjectMigration Lambda fails due to lack of KMS permissions on analytics S3 bucket

Describe the bug
I've deployed the Light Engine version of the solution exclusively.
I've configured log merge after 7 days and log archive after 365 days.
I've been using Athena to query the log data perfectly fine since the solution has been deployed. However, after a couple of months, I tried querying log data older than 7 days and it returned nothing. So I checked the analytics S3 bucket and confirmed that no data existed older than 7 days.
After investigating, I've found the following error in the S3ObjectMigration Lambda logs:
An error occurred (AccessDenied) when calling the CreateMultipartUpload operation: User: arn:aws:sts::[account_id]:assumed-role/clwos-CentralizedLogging-S3ObjectMigrationRole-lmkktgQaNF2r/clwos-CentralizedLogging-S3ObjectMigration-aFZF08trX9Eg is not authorized to perform: kms:GenerateDataKey on this resource because no identity-based policy allows the kms:GenerateDataKey action

The analytics S3 bucket has a customer managed KMS key as the default key, so it can't upload the newly merged object back to the analytics bucket.
Expected Behavior
The solution should support customer managed KMS keys on the analytics S3 bucket such that it accepts the KMS key as a parameter and adds the relevant permissions to the S3ObjectMigration Lambda role.
The solution should also properly fail when the error occurs. Currently, everything looks like it's working perfectly. The state machine all succeed, the Lambdas all succeed, so there's no clear indication something has gone wrong.
Current Behavior
The solution silently fails when uploading merged logs back to the analytics S3 bucket, if that bucket has a customer managed KMS key as its default encryption key.
The solution also reports success when the error occurs in the State Machines and Lambda functions.
Reproduction Steps

Deploy dependent resources e.g. SNS topics for alarms, S3 bucket for analytics engine and customer managed KMS key for the S3 bucket.
Deploy the solution.
Configure a pipeline using Light Engine targeting the S3 bucket created in the first step.

To speed things up, set the "Logs merge (days)" setting to 1 day.

Wait over a day and notice that the logs older than a day start disappearing from the analytics S3 bucket.

Possible Solution
Allow end user to provide a customer managed KMS key to the solution for the analytics S3 bucket so it can update the S3ObjectMigration Lambda with the relevant permissions.
Even better, have the solution check the S3 bucket for default encryption with KMS, and if set, fetch the KMS key information and configure itself accordingly.
Additional Information/Context
No response
Solution Version
2.1.1
AWS Region. e.g., us-east-1
us-east-1
Other information
No response

I want to confirm, the centralized bucket being used for the logs is a self-built bucket encrypted with CMK, right?
You can search for "KMSPublicAccessPolicy" in IAM -> Policy and add the corresponding CMK permissions.

I will reproduce this issue and fix it in version 2.2.0.

I want to confirm, the centralized bucket being used for the logs is a self-built bucket encrypted with CMK, right?
You can search for "KMSPublicAccessPolicy" in IAM -> Policy and add the corresponding CMK permissions.

Yes, I think I'm going to manually add the permissions for now.

I will reproduce this issue and fix it in version 2.2.0.

Amazing, thanks!


Removed extra versions of Flowable, leaving just one

Deleted examples and tests that are covered in existing tests; also
commented out a few, which will need to be redone.  Those are still
present in the code, as a reminder of what needs to be ported.

Changes look good reading/scrolling through them all. Except for the build break.

Not obvious to me why the tck test would fail. I don't see any changes that should affect that.

Seems to be a dependency issue - make[2]: *** No rule to make target gmock-prefix/src/gmock-build/./googlemock/libgmock.a', needed by experimental/yarpl/yarpl-tests'.  Stop.

Seems to be a dependency issue
make[2]: *** No rule to make target gmock-prefix/src/gmock-build/./googlemock/libgmock.a', needed by experimental/yarpl/yarpl-tests'.  Stop.

Yeah, it seems like we need
add_dependencies(yarpl-tests gmock)
or for anything that uses gmock really...  Just having yarpl-tests link in $GMOCK_LIBS doesn't express a dependency between the two.

Thanks, will add that, and if Travis OK's, will merge it.
On Fri, Apr 28, 2017 at 5:03 PM Alexander Malyshev<EMAIL_ADDRESS>wrote:

Yeah, it seems like we need
add_dependencies(yarpl-tests gmock)
or for anything that uses gmock really... Just having yarpl-tests link in
$GMOCK_LIBS doesn't express a dependency between the two.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rsocket/rsocket-cpp/pull/365#issuecomment-298132379,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAVU6ya0K4Qxjr81uC3wkVGjYUB7MmDsks5r0n42gaJpZM4NMCzM
.


onbuild triggers for mesos/storm versioning and building

By deferring the building of mesos/storm one is able to use mesos/storm image as a base image and then being able to easily control the desired versioning.
Instead of having to pull the mesos/storm repo and build the container passing the --build-arg STORM_RELEASE/MESOS_RELEASE I find more useful to just use an onbuild version of Dockerfile that allow me to simply do on my own dockerfile the following:
FROM mesos/storm-onbuild
....
<here I added my private things>
.....

and then
docker build -t my_storm_mesos_image --build-arg STORM_RELEASE=0.10.0 .
what do you guys think ?

Looking at it briefly I think it will work for storm versions but not mesos versions as we're still relying on /usr/local/lib/libmesos.so from the docker image.  Am I missing something?

@DarinJ  do you mean that it could break in the long run because of the hardcoding on the libmesos.so library ? If this is the case, yes, and it could happen already on the current container because we're making
ARG MESOS_RELEASE=0.27.0 which leaves an open door for someone to pass a different version through  --build-arg when building the image.
We could then leave the MESOS_RELEASE strictly as an ENV var and the STORM_RELEASE as ARG so people can change it.

@lfundaro : this is an interesting proposal for sure!  Seems like using ONBUILD would be useful, but I wanna make sure that I understand the motivation correctly, and that we do this onbuild-ification of the Dockerfile in a canonical fashion.  Towards that end:

Can you please give me an example of what kind of "private things" you'd be doing in this downstream Dockerfile?  I have a guess that it might be stuff like modifying the storm.yaml file's contents?
It seems from Dockerfile best practices - ONBUILD that we should have a separate docker image with an "-onbuild" suffix of the image name, and that we might wanna also have a separate Dockerfile for the onbuild use-case.

@erikdw

By "private things" I refer as you guessed to storm.yaml settings. But I can imagine that someone might want to put a newrelic agent ? Or whoKnowsWhatMore ? That's why I might find it useful to have an onbuild dockerfile.
Yes I agree, let me propose you a change following this conventions for "onbuild" and let's keep iterating over it.

I'll ping you when I have it.

@erikdw So I reverted the changes on the original Dockerfile and added a folder for an onbuild Dockerfile. From what you can see in the golang docker repository they use several folders for the version of the language and within those folders they have a standard Dockerfile and an onbuild folder with the corresponding onbuild Dockerfile. In our case I don't think we can make this distinction unless we turn MESOS_RELEASE into something you cannot change, e.g.:
mesos-0.26
         | __ onbuild
         |___Dockerfile

  mesos-0.27
         |___onbuild
         |___Dockerfile

and so on. I don't know if this makes sense or should we leave the possibility to the user to choose whatever combination of STORM_RELEASE and MESOS_RELEASE  want ?

Hey guys, after the discussion I am a bit confused here. I understand @DarinJ 's solution and I think it's a good idea. But does this mean the ONBUILD triggers are no longer needed ? Are we creating separate docker images per mesos version and then let the user choose the storm_release ?

@lfundaro I think we want the triggers but also a change to FROM ubuntu and use apt to install the appropriate mesos version base off the MESOS_RELEASE build argument. So
docker build -t my_storm_mesos_image --build-arg STORM_RELEASE=0.10.0 --build-arg=0.26.1 .

will install mesos-0.26.0 (and the appropriate libmesos.so in the process.
I'd wait for confirmation from @erikdw and @dsKarthick before doing to much work.

My thoughts were aligned with (DarinJ's comment)[https://github.com/mesos/storm/pull/109#issuecomment-200890109].   However, that is for the "directly runnable docker image" Dockerfile (non-onbuild).  For the onbuild Docker images, we would indeed be deferring the resolution of the STORM_RELEASE to the building of the child Dockerfile.
P.S., Minor typo correction to @DarinJ's docker build invocation (adding  MESOS_RELEASE before =0.26.1):
docker build -t my_storm_mesos_image --build-arg STORM_RELEASE=0.10.0 --build-arg MESOS_RELEASE=0.26.1 .

@DarinJ @erikdw +1

Alright then I wait until the other pull request is ready and merged to add
the onbuild part. Or you might as well add everything into a single pull
request. Cheers
On Mar 24, 2016 8:05 PM, "Erik Weathers"<EMAIL_ADDRESS>wrote:

My thoughts were aligned with (DarinJ's comment)[#109 (comment)
https://github.com/mesos/storm/pull/109#issuecomment-200890109].
However, that is for the "directly runnable docker image" Dockerfile (non-
onbuild). For the onbuild Docker images, we would indeed be deferring the
resolution of the STORM_RELEASE to the building of the child Dockerfile.
P.S., Minor typo correction to @DarinJ https://github.com/DarinJ's docker
build invocation (adding MESOS_RELEASE before =0.26.1):
docker build -t my_storm_mesos_image --build-arg STORM_RELEASE=0.10.0 --build-arg MESOS_RELEASE=0.26.1 .
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/mesos/storm/pull/109#issuecomment-200973705

@lfundaro I am not sure if you have to be blocked by #83 if you are interested in working on this. Its better to keep the changes separate so we avoid one uber PR with a ton of changes. Also, this could be a quiker change that #83(hopefully).

@lfundaro : looks like @salimane has taken up creation of this onbuild Dockerfile in #120.  Would appreciate your eyes on that review too, thanks!

Ok ! No problem :). I will check issue #120.
Lorenzo Fundaró García
On Wed, Mar 30, 2016 at 3:00 AM, Erik Weathers<EMAIL_ADDRESS>wrote:

@lfundaro https://github.com/lfundaro : looks like @salimane
https://github.com/salimane has taken up creation of this onbuild
Dockerfile in #120 https://github.com/mesos/storm/pull/120. Would
appreciate your eyes on that review too, thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/mesos/storm/pull/109#issuecomment-203176290


refactor: Consider making no_color a project-level setting

Feature scope
CLI (options, error messages, logging, etc.)
Description
and documenting it in https://docs.meltano.com/reference/settings.
One potential caveat is that project settings can be set in places other that the environment, like meltano.yml and .env.
This would make it hard to configure things like the console log formatter like
# https://docs.meltano.com/guide/logging
version: 1
disable_existing_loggers: false

formatters:
  structured_plain: # log format for structured plain text logs without colored output
    (): meltano.core.logging.console_log_formatter
    colors: False # also disables `rich` traceback formatting
  structured_colored: # log format for structured plain text logs WITH colored output
    (): meltano.core.logging.console_log_formatter
    colors: True # also enables traceback formatting with `rich`

which is (and should prob remain!) unaware of the Meltano project and just look for NO_COLOR directly in the global environment.
From conversation with @tayloramurphy.

@WillDaSilva I'd worry about the side effects of calling something like os.environ["NO_COLOR"] = "true", but it might work. We'd just have to make sure we're unsetting it when the program exits. Wdyt?

We'd just have to make sure we're unsetting it when the program exits

@edgarrmondragon By "when the program exits" you're referring to Meltano, right? Maybe I'm misunderstanding, but the environment will be discarded at this point, so there's nothing to clean up or unset.
As for side effects, I think it's reasonable to assume that if they don't want colored output from Meltano (by setting the no_color project setting) they probably don't want it from anything Meltano invokes either. Because of this the side effects of setting NO_COLOR to True would be desirable.

@WillDaSilva gotcha, os.environ does not live beyond the Python program, TIL 👍
That makes sense. Set in os.environ right after the project is detected, right before any logging is configured.

@edgarrmondragon We may want to make a color: <when> option, rather than no_color: <bool>, where <when> could be "always", "never", or "auto" (default). This would be similar to how ls handles the color option, and follows the general advice of preferring enums over boolean options.

Closing, as we feel the primary need has been met with NO_COLOR env var support, and further improvements here are relatively lower priority.


throw exceptions after pc.close

Codecov Report

Merging #53 into master will decrease coverage by 0.11%.
The diff coverage is 88.23%.

@@            Coverage Diff             @@
##           master      #53      +/-   ##
==========================================
- Coverage   93.55%   93.43%   -0.12%
==========================================
  Files           1        1
  Lines         822      838      +16
==========================================
+ Hits          769      783      +14
- Misses         53       55       +2

Impacted Files
Coverage Δ

rtcpeerconnection.js
93.43% <88.23%> (-0.12%)
:arrow_down:

Continue to review full report at Codecov.

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


Appstudio update test-component-pac-hqhu

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI/test-component-pac-hqhu-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
25 seconds
clone-repository

✅ Succeeded
39 seconds
build-container

✅ Succeeded
1 minute
sast-snyk-check

✅ Succeeded
29 seconds
inspect-image

✅ Succeeded
58 seconds
clamav-scan

✅ Succeeded
19 seconds
sbom-json-check

✅ Succeeded
29 seconds
deprecated-base-image-check

✅ Succeeded
3 minutes
clair-scan

✅ Succeeded
5 seconds
show-sbom

✅ Succeeded
5 seconds
show-summary

Pipelines as Code CI/test-component-pac-hqhu-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
25 seconds
clone-repository

✅ Succeeded
1 minute
sast-snyk-check

✅ Succeeded
39 seconds
build-container

✅ Succeeded
29 seconds
inspect-image

✅ Succeeded
58 seconds
clamav-scan

✅ Succeeded
19 seconds
sbom-json-check

✅ Succeeded
29 seconds
deprecated-base-image-check

✅ Succeeded
3 minutes
clair-scan

✅ Succeeded
5 seconds
show-summary

✅ Succeeded
5 seconds
show-sbom


[Package Issue]: Microsoft.VisualStudio.2022.BuildTools -- '--silent --disable-interactivity' do not work with install or remove

Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
Installation issue.
Brief description of your issue
winget install Microsoft.VisualStudio.2022.BuildTools --silent --disable-interactivity doesn't install the package without a human clicking on various popups.
Steps to reproduce
Run winget install Microsoft.VisualStudio.2022.BuildTools --silent --disable-interactivity
Actual behavior
Using
winget install Microsoft.VisualStudio.2022.BuildTools --silent --disable-interactivity to install the package, the user is presented

UAC prompt
A Visual Studio installer "Continue" prompt
Must close the installer window that comes up after it finishes running.

Expected behavior
Using
winget install Microsoft.VisualStudio.2022.BuildTools --silent --disable-interactivity --override "--passive"
skips items 2 and 3 unless there is a visual studio installer update, which the flag --noUpdateInstaller is supposed to inhibit, but then the package installation fails, so I guess passing that flag is not viable.
It's not clear to me that winget can ever suppress the UAC prompt, though it sure would be nice.
When removing, the --override flag cannot be passed, so the only flags available for non-interactive removal are --silent --disable-interactivity. The installer opens in interactive mode and requires the user to press OK to uninstall, and then close the installer when finished.
Notably, if --override is used on install to pass the --installPath flag, then remove will probably be unable to remove the package because it won't know which installation path to remove.
Environment
winget --info
Windows Package Manager v1.6.2771
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.19045.3570
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.21.2771.0

Winget Directories
-------------------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files (x86)\WinGet\Packages
Installer Downloads                %USERPROFILE%\Downloads

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled

Screenshots and Logs
No response

It's not clear to me that winget can ever suppress the UAC prompt, though it sure would be nice.

UAC prompts are usually asking for storage drive write permission, so elevating the session should pre-grant this permission.


[FEATURE] Highlight tags in search results

Description
Blocked by #8217
This issue is to highlight tags in the profile cards on the search page to match with the search terms.
clicked tags or tags typed into the search bar should return highlighted tags in the search results.
The result will look something like this...
If the user has entered "frontend" in the search, cards with frontend would highlight the tag like the below image

Screenshots
No response
Additional information
No response

I think I can work on it please assign it to me

I think I can work on it please assign it to me

@adarshmalviya12 I will assign this to you


[EventRequest] Codeunits 5805, 5807 procedure CreateDocChargeAssgnt()

Dear Team,
We are developing an extension to Item Charge functionality. Unfortunately, both mentioned codeunits have no publishing events at all (verified against NAV2018, CU6 (build 22292))
Ideally, the publisher looks like follows:
[External] CreateDocChargeAssgn(LastItemChargeAssgntSales : Record "Item Charge Assignment (Sales)";ShipmentNo : Code[20])
WITH LastItemChargeAssgntSales DO BEGIN
 // >> integration event
  OnBeforeCreateDocChargeAssgn(LastItemChargeAssgntSales,FromSalesLine);
 // << integration event
  FromSalesLine.SETRANGE("Document Type","Document Type");
  FromSalesLine.SETRANGE("Document No.","Document No.");
  FromSalesLine.SETRANGE(Type,FromSalesLine.Type::Item);
  IF FromSalesLine.FIND('-') THEN BEGIN
  . . .
Reason:

Applying additional filter(s) to the "Sales Line" based upon value(s) in the passed-through "Item Charge Assignment (Sales)" record.
Applying additional filter(s) to the "Purchase Line" based upon value(s) in the passed-through "Item Charge Assignment (Purch)" record.

Thank you,
Nazar Tobilevych

Dear Team,
thanks for adding the requested event to Codeunit 5805, CreateDocChargeAssgnt(),
OnAfterCreateDocChargeAssgnt(LastItemChargeAssgntPurch,ReceiptNo);

However, the request concerned the behaviour that would be better described as OnBeforeCreateDocChargeAssgnt(..), since the main idea was to apply additional filters before the Item Charge lines are being created.
I really hoped this is not a far stretch.

Additionally, the Codeunit 5807 which was also mentioned in the request, remained intact in regard to an event requested.

@StanislawStempin: could you please either reopen or comment on this?..
Thank you,
Nazar Tobilevych


Voting info for finished referenda

#8694x7m4v

Task linked: CU-8694x7m4v Android. OpenGov. Add opportunity to view historical votes for ended refs


Themes localization - test suite upgrade

This PR upgrades the test suites in regard to the related changes introduced in bullet_train-co https://github.com/bullet-train-co/bullet_train-core/pull/393

It seems like the Core tests are picking up my branch in bullet_train-co but the Release tests are still running with the code from master as the same test fails on the Release steps. Also the error says it cannot find the element with the new id "#partial_test_date_test_display"

Sorry I didn't mention this before, @3pns. The Release tests do indeed run against the version of the gems listed in Gemfile and Gemfile.lock. This is to help us know when we're introducing breaking changes. So I'd expect them to fail in this case, and it's not a blocker on merging the PR. It's just an indication that we need to release new versions of the core gems very soon after merging both PRs.

@jagthedrummer Well noted. I ensured that Capybara can find the fields with both the old and new id so now the tests pass for release as well.


Interpolation bug fixes

This fixes some bugs with the interpolation of Cp and Ct surfaces.
When calculating the the expected pitch angle trajectory, the specifics of the Cp surface can cause a non-monotonic interpolation function. The logic says "For a specific TSR, what is the blade pitch angle that gives a Cp of x". If the Cp's for a specific TSR are not monotonic, errors can be caused. 65c4020 fixes this by only allowing blade pitch angles that occur "above" the maximum Cp for a specific TSR - this provides the expected results.
9e89ef8 sets the Ct surface interpolation to linear instead of cubic - this is giving cleaner results

Makes sense. Examples run and look good!


feat(config.go): add connect_timeout to DSN parsable params

Given a DSN using libpq's connect_timeout parameter, parses it as WithDialTimeout.
closes #505

Thanks!


Usage of Fathom Analytics

Describe the bug
Not exactly a bug, but more a question about the usage of Fathom Analytics. All I have to do is to insert a small snippet of code to the “main html of the site”. However I’m unsure about where to insert this script. Navigating through the site files, it’s not clear where is the “main html” of the site.
Should I put it in the quartz.config.ts even if the fathom value doesn’t exist?
To Reproduce
Steps to reproduce the behavior:
This is a question, no reproducible steps to take.
Expected behavior
In the quartz.config.ts I expected to see the option fathom and a place to insert the script snippet.
Screenshots and Source
My site: https://github.com/jecogeo/Jecogeo-jardim-digital/
Desktop (please complete the following information):

Quartz Version: 4.4.0
node Version: 20.9.0
npm version: (not on desktop right now to check)
OS:  mobile: iOS/Obsidian/Working Copy; desktop: arch Linux
Browser: safari/firefox

If you feel like it, you can make a PR to add it to the supported analytic options.
Otherwise, either add the script tag from Fathom to the HTML block in head.tsx (if you want it loaded before the page loads) or in the HTML block renderPage.tsx (if you want it after page load)

If you feel like it, you can make a PR to add it to the supported analytic options.
Otherwise, either add the script tag from Fathom to the HTML block in head.tsx (if you want it loaded before the page loads) or in the HTML block renderPage.tsx (if you want it after page load)

Thanks a lot! Unfortunately, I’m not savvy enough to make a PR in typescript. But appreciate your help.
Just another two questions:

Do you mean head.tsx? Just asking because this file do have a html block <head> while the header.tsx does not.
In case you really meant header.tsx, could you please provide an example of where to add the script tag for implementing Fathom? Consider this example code:

<script
    src="https://cdn.usefathom.com/script.js"
    data-site="YOUR-SITE-ID"
    defer>
</script>

Put it somewhere in this part of Head.tsx.
https://github.com/jackyzha0/quartz/blob/v4/quartz%2Fcomponents%2FHead.tsx#L158-L205
Probably near the bottom of that part.

Unfortunately it doesn’t work. There is some syntax problem while inserting my snippet into Head.tsx.
My actual snippet would be:
<script>
(function(f, a, t, h, o, m){
	a[h]=a[h]||function(){
		(a[h].q=a[h].q||[]).push(arguments)
	};
	o=f.createElement('script'),
	m=f.getElementsByTagName('script')[0];
	o.async=1; o.src=t; o.id='fathom-script';
	m.parentNode.insertBefore(o,m)
})(document, window, '//fathom.jecogeo.eu/tracker.js', 'fathom');
fathom('set', 'siteId', 'QCMTI');
fathom('trackPageview');
</script>

However, the build process fails with:
Error: R] Expected "}" but found ";"

    quartz/components/Head.tsx:51:3:
      51 │     };
         │      ^
         ╵      }

Couldn't parse Quartz configuration: ./quartz/build.ts
Reason: Error: Build failed with 1 error:
quartz/components/Head.tsx:51:3: ERROR: Expected "}" but found ";"

If I just remove the ; from the snippet I get:
Error: R] Expected "}" but found "o"

    quartz/components/Head.tsx:52:2:
      52 │     o=f.createElement('script')
         │     ^
         ╵     }

Couldn't parse Quartz configuration: ./quartz/build.ts
Reason: Error: Build failed with 1 error:
quartz/components/Head.tsx:52:2: ERROR: Expected "}" but found "o"
Error: Process completed with exit code 1.

Any tips on how to deal with that?

The snippet you posted here is different from the one in the comment above.
The snippet you posted seems weird. You call a function fathom without defining it. Can you try putting the code you posted in your original post in instead (with your own ID, obviously.)

Use this guide: https://usefathom.com/docs/integrations/spas
Use this for help setting up tracking if Fathom is not tracking pageviews properly: https://usefathom.com/docs/script/script-advanced


Use vendor Twill manifest when public/ is missing

This is just a tweak to use twill-manifest.json from the vendor folder (which is source of twill:install and twill:update).
Had to do this in order to improve our deployments on Laravel Vapor, since it pushes all files from /public to S3, including json files and clears the public folder.
In the process I also created an Assets class and refactored the twillAssets() helper function a bit, since it was also growing in complexity.

/rebase


Add RCEMIP-II mock-walker configuration

### Implementation
- [ ] https://github.com/CliMA/ClimaAtmos.jl/pull/3134
- [ ] https://github.com/CliMA/ClimaAtmos.jl/pull/3150
- [ ] https://github.com/CliMA/ClimaAtmos.jl/pull/3157

This has been done.


pip3 install maya doesn't install out of the box in python slim docker container.

Building the following dockerfile:
FROM python:3.6-slim-stretch
RUN pip3 install maya

results in the following error:

Building wheel for regex (setup.py): finished with status 'error'**
  ERROR: Complete output from command /usr/local/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-2bfp2pmb/regex/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-w4oflj3h --python-tag cp36:

  gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/local/include/python3.6m -c regex_3/_regex.c -o build/temp.linux-x86_64-3.6/regex_3/_regex.o
  unable to execute 'gcc': No such file or directory
  error: command 'gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for regex

installing gcc seems to solve this error.
I'm looking forward to seeing how the install process could be improved to eliminate this error, and at what point in the dependency tree (maya? regex? pip? python container? dockerfile? ) an optimal solution could be implemented.
Thank you.

Similar issue reported last year:
https://github.com/kennethreitz/maya/issues/125

It's actually exactly the same issue as in #125 - and the exact same solution.
Please install python3.6-dev.

As I mentioned, I have already solved this error. I am wondering how to fix this for other users.
This is a packaging issue, given that the Kenneth Reitz community has experience with packaging due to Pipenv, I think it would be interesting to triage this.


Swipe to Back on iOS not working

Hello everyone,
When I am on a deeper navigation level and perform a swipe gesture, I get a back action on Flutter by default on iOS. However, on Beamer this function is not active.
Is there any way to enable the swipe to back functionality?

Hi @schlotterich
Thanks for creating an issue.
Can you provide a minimal example that reproduces the issue?

Hello @slovnicki,
thank you for your fast reply! I created a minimal example where the swipe to back functionality is not working:
https://github.com/schlotterich/beamer_navigation_swipe_to_back
The structure is very similar to the Beamer example "bottom-navigation". But in my example the swipe to back mechanic is not working.

@schlotterich Could this be because you have BeamPageType.fadeTransition? Does swipe action work if you comment out the type in your BeamPages?

@slovnicki Thank you very much! I commented the Type out and now the swipe action works again.
So it seems like there is a conflict between the type and the iOS swipe gesture... Do you have any idea how to solve this problem?

@schlotterich If we look at the implementation of transition types in question, we have:
case BeamPageType.cupertino:
  return CupertinoPageRoute(
    fullscreenDialog: fullScreenDialog,
    settings: this,
    builder: (context) => child,
  );

and
case BeamPageType.fadeTransition:
  return PageRouteBuilder(
    fullscreenDialog: fullScreenDialog,
    settings: this,
    pageBuilder: (_, __, ___) => child,
    transitionsBuilder: (_, animation, __, child) => FadeTransition(
      opacity: animation,
      child: child,
    ),
  );

It seems that only CupertinoPageRoute can have the swipe action (I might be wrong, this is out of scope of beamer). This would be solvable if one could define a transitionBuilder for CupertinoPageRoute as there is for custom PageRouteBuilder, but this is not possible (at least not in the same way). On the other hand, it may even be a bad idea to define a transition for "left-swipe" action that is not the iOS's default swipe.
If you find a way to use CupertinoPageRoute with different transition animation, you can define your custom pageRouteBuilder (called just routeBuilder on master) for your BeamPages.
You could also conditionally define your BeamPage.type, e.g.
BeamPage(
  type: Platform.isIOS ? BeamPageType.cupertino : BeamPageType.fadeTransition,
    ...
)


Thousands sep

@homu r+

:pushpin: Commit 48fa5f7 has been approved by kbknapp

:zap: Test exempted - status


[UX]: Ability for admins to configure NB container sizes

Description
As an admin, I need to be able to configure custom sizes for NB server sessions, so I can ensure effective usage of cluster resources.
This story is to provide an admin UI ability to configure custom NB sizes in addition to the OOTB NB sizes.
Goals

Ability to define custom sizes aside from standard S, M, L, XL.
Ability to configure which sizes are available for selection in the "spawner" UI. For example, the admin might only want to surface one or two custom sizes. If there is only one size option, the selection should not be visible to users. For example, if I define a single custom size, and that's the only option available to users, there shouldn't be a user input item to select the size.

Expected Output

Figma mockup

Related Issues

https://issues.redhat.com/browse/RHODS-3625
https://github.com/opendatahub-io/odh-dashboard/issues/1514

Completed artifacts
TBD

Added https://github.com/opendatahub-io/odh-dashboard/issues/1514 to ticket 1832, as this ticket 1832, is now including deployment size from Model Serving in Figma mocks.

Hii @kaedward would you mind having a look and review my mockup related to this ticket please when you get the chance? https://www.figma.com/file/iySvXThLOzuv8mtxD4JfNu/Admin-UI-Configure-container-sizes---Red-Hat?type=design&node-id=255%3A482&mode=design&t=KEvRrVpQy4DdWoAk-1

@ralombar Done! LMK if I missed anything you wanted feedback on, or when I should take another look :-)

@kaedward Thank you so much, very much appreciated. :) You should have edit access now too if required.

Hi @andrewballantyne @guimou @erwangranger, I was hoping that you could take a look at this mockup and leave any feedback you may have.
The Figma mock up is in the ticket description or here: https://www.figma.com/file/mw31oL8KLB9mvv7AOBTuY1/Admin-UI-configure-container-sizes?type=design&node-id=0%3A1&mode=design&t=sih4H5qN0FW1wlDf-1
I also have a recording for this mockup here: https://drive.google.com/file/d/1gs8M6Im7FS1xsnyK-R1-DDiJtcT48lnm/view?usp=sharing
Thank you
cc @kywalker-rh

Copied to issue: https://issues.redhat.com/browse/RHOAIUX-6


Fix a crash in /roomhelp

(Due to the recent PM refactor, I believe)

I swear passing undefined as the room is a terrible idea...
It makes sense conceptually, but code-wise it's a useless thing to implement :|

Maybe it should just use the Lobby or global room by default...?
In practice, that seems like it would be a bit better in that it would require a lot less bug-specific patching like this.

No, this is good. It lets me discover and decide on how to handle this sort of room-specific code in PMs, instead of just letting it silently fail.
This is why '!command': true, is intended as an opt-in for room possibly being undefined, anyway.


fix kne resetter failure (nokia)

"This code is a Contribution to the OpenConfig Feature Profiles project ("Work") made under the Google Software Grant and Corporate Contributor License Agreement ("CLA") and governed by the Apache License 2.0. No other rights or licenses in or to any of Nokia's intellectual property are granted for any other purpose. This code is provided on an "as is" basis without any warranties of any kind."

Pull Request Functional Test Report for #2350 / 7f837100ca0426b3713e6017ba76cab55b1b510b
No tests identified for validation.
Help


Issue 15: Made about.html responsive

Linked Issue
Closes: #15
Describe the changes you've made
Give a clear description what modifications you have made
Type of change
What sort of change have you made:

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Describe how have you verified the changes made
Checklist:

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.
[ ] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] Any dependent changes have been merged and published in downstream modules.

@Rupam-Matabber The last PR was causing some problems so I made this new PR with no conflicts.
I have also made all the changes that you suggested.

@Rupam-Matabber I had actually forgotten to make some commits to the branch.
I have made the suggested changes and fixed the bugs.
Note-> The max-width property is causing some errors so I have used the min-width property instead.

@iamatifmoin please record a video of the responsiveness of the about page and show me by replying to this comment.
The bugs are still there. Please recheck.

@Rupam-Matabber This is the video. It is a bit laggy.
Can you tell me what are the bugs? Because it is running smoothly on my computer.
About-us.webm

@iamatifmoin You are doing exactly the opposite of the desired design. I also told you to turn off the animation for smaller screens but you turned it off for larger screens. So, I am telling you what exactly you have to do. Read carefully.

See the design of the about page from the hosted link. Don't change the design for larger screens. It is perfect. the image is supposed to be on the left side and the text container should be on the right side for larger screens.
For smaller screens, the image is supposed to be on the top and the text container should be on the bottom.
Also turn off the animation of the image for smaller screens.
Adjust the padding, margin, font size of the text and heading, and the size of the image for smaller screens. Reduce them perfectly.

This is the desired design for larger screens.

I will suggest you to use the max-width property. It will make your task easy.

@Rupam-Matabber Please review these changes.
About-us-new.webm

@Rupam-Matabber I have made some changes. Please review.


EIP 2333: BLS12-381 Key Generation

Description
Implement EIP 2334 & EIP 2333 so that BLS keys can be created using a path and an entropy source. This is necessary to support the BLS keystore format with the key path.
https://eips.ethereum.org/EIPS/eip-2334
https://eips.ethereum.org/EIPS/eip-2333

Reference implementation licensed under CCO https://github.com/CarlBeek/eth2.0-deposit-tooling/blob/master/key_derivation/tree.py


ci: Validate Renovate config in CI

Description
While reviewing https://github.com/redhat-developer/rhdh-operator/pull/185, I thought it could help to check the Renovate config file in CI (for PRs that modify the config file). And I quickly found that there is a standalone tool from Renovate that could allow us to enforce such checks - see https://docs.renovatebot.com/config-validation/.
(If that makes sense).
Which issue(s) does this PR fix or relate to
—
PR acceptance criteria

[ ] Tests
[ ] Documentation
[ ] If the bundle manifests have been updated, make sure to review the rhdh-operator.csv.yaml file accordingly

How to test changes / Special notes to the reviewer
If you have the act and gh CLIs locally, you can run this job locally with gh act -j renovate-config-validator
/cc @kim-tsao @nickboldt

/lgtm
/approve

Thanks for adding this tool.  We should roll it out to the other repos.  Sometimes we hit errors that we can only see by going to the dependency dashboard.

Thanks for adding this tool. We should roll it out to the other repos. Sometimes we hit errors that we can only see by going to the dependency dashboard.

+1. FYI, I've created a follow-up task for this: https://issues.redhat.com/browse/RHIDP-4068


Add support for the Google Container Registry

A bit of a feature request this one, as I can't figure out how to get it working currently :)
It'd be handy if Kontena supported gcr.io as an external registry. This works in Rancher using the username '_json_key' and pasting the big ol' JSON service account key in as the password, but it doesn't seem to work straight away in Kontena.
I might get a chance to look at this myself, but I figured I'd make this as a request in case anyone else is curious/knows the solution.

Kontena supports all registries, for gcr:
kontena external-registry add --grid yourgrid -u _json_key -e<EMAIL_ADDRESS>-p "$(cat ~/Downloads/your-gcp-download.json)" https://us.gcr.io

I think this issue should remain open until this is documented.

@robotmay Did you get it working with the instructions from @matti ?


DRAFT: extract hooks from Nextjs into new React package

Checklist

[x] run make test
[x] PR title must follow conventional-commit-standard
[x] tests and/or benchmarks are included
[ ] documentation is changed or added
[x] commit message and code follows the Code of conduct

I removed all 'contextWrapper' related code, because it was hard to read and add a lot of unneeded complexity and size to the overall package. Instead I opted for an optional 'context' option parameter, so you can pass in a custom context. The templates use this to add the local context to the React hooks.
Right now all code is backwards compatible and there are no breaking changes for now. But I'm not 100% satisfied with the API yet, since we are introducing a new React package, this is also the best time to introduce any API changes from the original hooks.
Here is an example of a generated hook.
export const useHelloQuery = (args: QueryArgsWithInput<HelloInput>) =>
	useQuery<HelloInput, HelloResponseData, Role>(
		{
			operationName: "Hello",
		},
		args,
		{ context: wunderGraphContext, requiresAuthentication: false } // internal options, but could be consolidated with args.
	);

// the next package just re-exports this.

export const useQuery {
  HelloQuery: useHelloQuery
}

My personal preference is to change the api as followed. Separate the input from the args/options and use a string for operationName instead of another object. Also move result one level up.
const { data, status, refetch } = useQuery('Hello', { name: 'Eelco' }, options)

// data.hello.name instead of result.data.hello.name

const { data, mutate } = useMutation('SetName', options)
const { data } = useSubscription('LiveWeather', { forCity: 'Berlin' }, options)

More in line with other libraries like RTK query and React Query
Cleaner code and smaller size and easier to write (see #80)

We should also consider adding some more request state variables, a couple of suggestions.
const { isFetching } = useQuery('Hello', { name: 'Eelco' }, options)

isFetching when data is being fetched.

const { isDone } = useSubscription('LiveWeather', { forCity: 'Berlin' }, { isLiveQuery: true })

isDone = true when the subscription has ended.

SSR
The new React hooks have SSR functionality build in. But currently the package has no helpers to make SSR work (eg with react-ssr-prepass in Next.js). So it's not a plug and play in Vite for example. I think it's out of the scope for this issue, but one question:

Should the React hooks have SSR code by default? or should we have non SSR hooks as well.

const { data, status, refetch } = useHelloQuery({ name: 'Eelco' }, options)

I like this! For state variables a great place for inspiration is https://swr.vercel.app/docs/options#return-values

Should the React hooks have SSR code by default? or should we have non SSR hooks as well.

I'd prefer that they work for SSR by default.
With this preference, can we still ship it without breaking customers?

Cool, I go ahead with these changes if @jensneuse agrees too.
SSR will still work as before with Next.js, no changes needed.

Closing this for now as will we implement the learnings into SWR and React Query hooks


Problem with envelopes

Hi.
Ran into a problem when trying to build envelopes from the designs using newProductionEnvelope(). The function buildLPFromStrategies returns LP.C but no LP.dsense. Later when newProductionEnvelope calls for optimizeCbModel and it later calls buildLPproblemFromModel, it needs LP.dsense.
This is the error I got.
Reference to non-existent field 'dsense'.

Error in buildLPproblemFromModel (line 138)
        optProblem.csense = [model.csense;model.dsense];

Error in optimizeCbModel (line 273)
optProblem = buildLPproblemFromModel(model,verify);

Error in newProductionEnvelope (line 48)
solMax = optimizeCbModel(LP,'max');

Hi.
Ran into a problem when trying to build envelopes from the designs using newProductionEnvelope(). The function buildLPFromStrategies returns LP.C but no LP.dsense. Later when newProductionEnvelope calls for optimizeCbModel and it later calls buildLPproblemFromModel, it needs LP.dsense.
This is the error I got.
Reference to non-existent field 'dsense'.

Error in buildLPproblemFromModel (line 138)
        optProblem.csense = [model.csense;model.dsense];

Error in optimizeCbModel (line 273)
optProblem = buildLPproblemFromModel(model,verify);

Error in newProductionEnvelope (line 48)
solMax = optimizeCbModel(LP,'max');

You can turn off the model verification to not allow the createed LP being being checked. Different versions of Cobratoolbox have different LP structures, making it hard to maintain consistency if the lastest version is not used when developing add-ons, which was the case  for OptDesign.  I will try other solutions but for the moment the above mentioned method should work. Thanks


Remove lines that DG says are an anti-pattern and Python interpreter calls deprecated

E   DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('cumulusci.core.tests')`.
E   Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages

DG says:

it creates a namespace package the setuptools way. it’s only important if there are actually any other distributions which add subpackages to those namespaces. My guess is that was probably only ever a theoretical idea about a way to make cumulusci pluggable; it’s probably an antipattern and should be removed after a quick search of github to confirm there aren’t any obvious dependencies on it

I did not find any obvious dependencies and it isn't in our documentation as a supported extension point.

@jstvz Yeah I did try that but it didn't work and I didn't want to spend brain cells on fixing it.
____________ ERROR collecting cumulusci/core/tests/test_source.py ____________
ImportError while importing test module '/Users/pprescod/code/CumulusCI/cumulusci/core/tests/test_source.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/local/Cellar/python@3.10/3.10.9/Frameworks/Python.framework/Versions/3.10/lib/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
cumulusci/core/tests/test_source.py:24: in <module>
    from ..source import GitHubSource, LocalFolderSource
E   ImportError: attempted relative import with no known parent package
____________ ERROR collecting cumulusci/core/tests/test_utils.py _____________
ImportError while importing test module '/Users/pprescod/code/CumulusCI/cumulusci/core/tests/test_utils.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/local/Cellar/python@3.10/3.10.9/Frameworks/Python.framework/Versions/3.10/lib/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
cumulusci/core/tests/test_utils.py:11: in <module>
    from .. import utils
E   ImportError: attempted relative import with no known parent package
______ ERROR collecting cumulusci/salesforce_api/tests/test_metadata.py ______
ImportError while importing test module '/Users/pprescod/code/CumulusCI/cumulusci/salesforce_api/tests/test_metadata.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/local/Cellar/python@3.10/3.10.9/Frameworks/Python.framework/Versions/3.10/lib/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
E   ModuleNotFoundError: No module named 'tests.test_metadata'
__ ERROR collecting cumulusci/salesforce_api/tests/test_package_install.py ___
ImportError while importing test module '/Users/pprescod/code/CumulusCI/cumulusci/salesforce_api/tests/test_package_install.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/local/Cellar/python@3.10/3.10.9/Frameworks/Python.framework/Versions/3.10/lib/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
E   ModuleNotFoundError: No module named 'tests.test_package_install'
____ ERROR collecting cumulusci/salesforce_api/tests/test_package_zip.py _____
ImportError while importing test module '/Users/pprescod/code/CumulusCI/cumulusci/salesforce_api/tests/test_package_zip.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/local/Cellar/python@3.10/3.10.9/Frameworks/Python.framework/Versions/3.10/lib/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
E   ModuleNotFoundError: No module named 'tests.test_package_zip'
_______ ERROR collecting cumulusci/salesforce_api/tests/test_utils.py ________
ImportError while importing test module '/Users/pprescod/code/CumulusCI/cumulusci/salesforce_api/tests/test_utils.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/local/Cellar/python@3.10/3.10.9/Frameworks/Python.framework/Versions/3.10/lib/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
E   ModuleNotFoundError: No module named 'tests.test_utils'

@jstvz Okay I guess I'll just fix those errors instead of being lazy.

@jstvz  Nah...it opened a can of worms. I'll need to leave this for a future project.


Crash trying to load v7.2.1 into 1.20.2-pre2

Just to clarify, i know ModMenu doesn't have an official build for 1.20.2-preX yet, but i tried to load it to see if the changes in vanilla would affect or not the mod, and if positive to gather the crash report to see if this would be of any use by your guys.
Here's the crash i had.
I hope this can be of use on the process of updating the mod to 1.20.2!

Have you tried #649? There are many issues caused by GUI textures being split out of manual atlases that are resolved by that pull request.

oh i will try that right now! didn't saw that pr yet

Worked!

Relevant latest.log


Update pointers

Updates the cursors as per the design.

Added #283

Added #282

Looks good to me.


Missing editor utility widget prefix

Probably the file prefix should be EUW_filename for the Editor Utility Widget

As I said in another thread, I use WU_ for some years and it work well


chore: bring back yarn.lock

[x] no longer schedule workflows daily
[x] bring back yarn lock
[x] uncomment yarn lock foo in workflows
[ ] ...

lock file was removed a while ago, at a time when the project was immature.
it matured over time, but bringing back lock files was flawed due to a discrepancy of intended yarn versus CI/CT's actual yarn. see https://github.com/CycloneDX/cyclonedx-node-yarn/pull/200
This was finally solved, so the lock file might return to the projects.

@AugustusKling, may I ask you for a review?


Output buffer

Laravel Version: 5.4
PHP Version: 7.1
Database Driver & Version: mysql

Description:
There's a problem with the http/response: http://simpledeveloper.com/how-to-fix-laravel-response-image-download-in-laravel/
this causes problems with: https://github.com/Intervention/imagecache/issues/80#issuecomment-292100218
Steps To Reproduce:
see links above

I don't seem to be able to replicate this issue, this works just fine:
Route::get('/', function () {
    return Response::download(storage_path('test.png'), 'photo.png');
});

How can I replicate?

@themsaid didn't try this one myself, but i think this can replacate it? http://simpledeveloper.com/how-to-fix-laravel-response-image-download-in-laravel/

@themsaid and thanks for the quick reply, again :D

@BartHuis so you're reporting something you're not experiencing? :D I don't see opening an issue leading to anywhere while nobody knows how to replicate it.

i'm experiencing it with the package thats using laravel: https://github.com/Intervention/imagecache/issues/80#issuecomment-292100218

I believe this is not a core issue then since we can't replicate it without using that library.

i can try the http://simpledeveloper.com/how-to-fix-laravel-response-image-download-in-laravel/ case if you want... one moment

adapted example from:
http://image.intervention.io/getting_started/installation#laravel
// usage inside a laravel route
Route::get('/', function()
{
     $img = Image::canvas(792, 50, '#FF0000');
     // ob_end_clean(); // uncommenting this fixes it
     return $img->response('jpg');
});

now whilst that might seem like an Intervention issue it appears , this is the response builder from Intervention.. it seems the issue appears from Response::make ?
public function make()
    {
        $this->image->encode($this->format, $this->quality);
        $data = $this->image->getEncoded();
        $mime = finfo_buffer(finfo_open(FILEINFO_MIME_TYPE), $data);
        $length = strlen($data);

        if (function_exists('app') && is_a($app = app(), 'Illuminate\Foundation\Application')) {

            $response = \Illuminate\Support\Facades\Response::make($data);
            $response->header('Content-Type', $mime);
            $response->header('Content-Length', $length);

        } else {

            header('Content-Type: ' . $mime);
            header('Content-Length: ' . $length);
            $response = $data;
        }

        return $response;
    }

thanks @codemonkeynorth , ill skip the reproducing then ;)

basically that line..
$response = \Illuminate\Support\Facades\Response::make($data);

I can fix the corrupt output, by putting this straight after it...
ob_end_clean();

that seems like Response::make is causing the issue?

@themsaid you can use @codemonkeynorth 's version?

@codemonkeynorth is using a package code, I need to be able to replicate it without the package :)

you can also recreate it by using gd2 directly i believe

Also looking at the package documentation it looks like what you say works, it was tested by the package maintainers and written in the docs, there might be something that changed that caused the issue.

you can try creating a gd2 image and calling this from within your controller and it'll break
imagejpeg($img);
i think also if you try
return Response::make($img, 200,  array('Content-Type' => 'image/jpeg'));
it also breaks
both can be fixed by calling ob_end_clean();

This works:
Route::get('/image2', function () {
    $im = imagecreatetruecolor(120, 20);
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);
    header('Content-Type: image/jpeg');
    imagejpeg($im);

    return Response::make($im, 200, array('Content-Type' => 'image/jpeg'));
});

Route::get('/test', function(){
    return '<img src="/image2">';
});

imagejpeg returns the image without needing to make the response?
also i just get
����JF
etc
if i leave in the Response::make line, I then get..
UnexpectedValueException in Response.php line 444:
The Response content must be a string or object implementing __toString(), "resource" given.

So please, somebody, show me some code I can use to replicate the issue.

i dont think you can do Response::make($im...) since $im is a resource and doesnt have a __toString() function
i think the problem is that generating the image is already outputting a buffer that needs cleaning.
how do you pass a resource object to laravel response otherwise?

@themsaid getting this when visiting /image2

Yes my code was wrong I'm just following your suggestions on how to replicate the issue.

:)

@BartHuis . yes you need to take Response::make out of image2 function and put ob_end_clean() after imagejpeg
i dont know how you can get the gd2 resource into an object you can pass to Response::make
imagejpeg outputs an image. I assume that is the underlying part of Intervention too, but you can see the issues lies with how to deal with the library ouput.
It may need to be dealt with in the intervention package as it could just be an issue with using the gd2 functions. I'm not sure theres a $gd2Image->toRespondableOuput() function as such

@codemonkeynorth http://simpledeveloper.com/how-to-fix-laravel-response-image-download-in-laravel/ isn't using gd2? but i'll wait for a response of @themsaid before further trying.

I'm not sure what response you're expecting :) I'm just unable to replicate the issue, just going to leave the issue open for a few days maybe someone can help further. Sorry :)

@themsaid oh, i thought with "Yes my code was wrong I'm just following your suggestions on how to replicate the issue." you meant that you were trying the way of simpledeveloper site ;) You have a working version of your code, so we can try to make a not working version of it?

@themsaid i've got you something ;)
Route::get('/image2', function () {

    //since you want to ouput this photo to your browser, you set the header stuff
    $headers = array('Content-Type' => 'image/jpeg');

    //now create your new response here
    $response = \Response::download('/home/vagrant/Code/website/public/images/boxed-bg.jpg', 'boxed-bg.jpg', $headers);
    // ob_end_clean(); uncommenting this line downloads the file

    //simply returning $response here will NOT work;
    return $response; // just go get some coffee or even tea;
});

didn't get it work with make() instead of download, but i think thats my lack of knowledge about how files are served.

probably worth checking this though!
http://stackoverflow.com/questions/36922166/gd-library-cant-output-to-browser-laravel
"Found a space before the php tag in my package's config file"

i've no configs with spaces? :S sounds as a totally other problem?

you may be interested in the output to the browser from laravel just using imagejpeg in the route (and not using Response::make after)
there's an extra byte (the whitespace?) and also a cookie.. which presumably the browser doesn't expect for an image response?
with ob_end_clean:
Connection:Keep-Alive
Content-Length:1303
Content-Type:image/jpeg
Date:Thu, 06 Apr 2017 11:26:12 GMT
Keep-Alive:timeout=5, max=100
Server:Apache/2.4.23 (Win32) PHP/5.6.25
X-Powered-By:PHP/5.6.25

without ob_end_clean:
Cache-Control:no-cache, private
Connection:Keep-Alive
Content-Length:1304
Content-Type:text/html; charset=UTF-8
Date:Thu, 06 Apr 2017 11:26:36 GMT
Keep-Alive:timeout=5, max=100
Server:Apache/2.4.23 (Win32) PHP/5.6.25
Set-Cookie:laravel_session=eyJpdiI6ImgwUzZrK3RCU2I5UTkxa0k2V1wvWFwvdz09IiwidmFsdWUiOiJcLzhvU0Vqcm5xbjJDT1wvbWJzeEJBVmh4TTA0MFNxU2JnQTJGRDJla3V0MVRLdXpBM3hQc0tsa1FVMDZwZno3TmhaRmxxNVAwTW16NWRNVUttVG1cL2xsUT09IiwibWFjIjoiN2Q5OWRiNjBhMDZhNWU5OWIzZDU3MTQ1MDNlZTk2OGQyMDYwZTNhM2JjMzI5MTUyYmQ5MWQ2NDdkYjZlZDU3ZiJ9; expires=Thu, 06-Apr-2017 13:26:36 GMT; Max-Age=7200; path=/; httponly
X-Powered-By:PHP/5.6.25

@BartHuis .. any vendor file outputting a space at the start of the returned output would presumably break the image

just to complicate matters, i wasn't getting this a couple of days ago on a different machine, with an older version of laravel 5.4 and an older version of Intervention... but when i say older I mean not updated in the last few days, which I think both packages were)
that said, if the issue can be made with just larvael+gd2 (and possibly some combination of php settings), maybe it's just a PHP issue rather than any specific package or framework
either way something is creeping into the output before the image data (headers, cookies or whitespace etc)
and laravel is ignoring the header images/jpeg in that code above.
probably because it sent it beforehand? or the Route:: function adds it? etc

hmm, do you use an frash install @themsaid ? and what happens if you try one of our codes?

This is still working for me:
Route::get('/image2', function () {

    //since you want to ouput this photo to your browser, you set the header stuff
    $headers = array('Content-Type' => 'image/jpeg');

    //now create your new response here
    $response = \Response::download('/home/vagrant/Code/website/public/images/boxed-bg.jpg', 'boxed-bg.jpg', $headers);
    // ob_end_clean(); uncommenting this line downloads the file

    //simply returning $response here will NOT work;
    return $response; // just go get some coffee or even tea;
});

Sorry but I can't spend more time on this at the moment since apparently it's not laravel core related, and yes I'm on a fresh laravel installation with latest 5.4

I'm also getting white space in front of my json responses, so I'm trying to determine why

@codemonkeynorth Don't install the package, check on a fresh laravel installation.

I can confirm there are 2 separate issues involved here.
that initial whitespace not added on my fresh install for json or my image... (which suggests it could be a package returning whitespace)
BUT...
I still have to ob clean my output eg for this for it to show an image rather than ����JFIF��
Route::get('test2', function() {
    ob_get_clean(); // <== presumably somewhere in laravel something was added before the output
    $im = imagecreatetruecolor(120, 20);
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);
    header('Content-Type: image/jpeg');
    $im = imagejpeg($im);
});

therefore i would suggest

the broken image (white square people are seeing) is due to the whitespace, which I need to track down a cause of

the "����JFIF��>" etc getting output directly to the browser is due to imagejpeg already sending buffers and conflicting with laravels route/renderer
(since you can't output a gd2 image resource with Response::make, I think you need to clean the output buffer to pass your own headers instead)

@themsaid i can understand there is a bigger investigation needed here, so you can't put your time into this :)
@codemonkeynorth love to hear if you find a package generating the space. For now maybe it's wise for @olivervogel to add the clean ;)

well if it's a vendor package adding the space it's one of these
"require": {
"php": ">=5.6.4",
"anhskohbo/no-captcha": "^2.3",
"barryvdh/laravel-cors": "^0.9.2",
"barryvdh/laravel-debugbar": "^2.3",
"bogardo/mailgun": "^5.0",
"fedeisas/laravel-mail-css-inliner": "^2.0",
"flynsarmy/csv-seeder": "^1.0",
"guzzlehttp/guzzle": "^6.2",
"intervention/image": "^2.3",
"intervention/imagecache": "^2.3",
"laravel/framework": "5.4.*",
"laravel/tinker": "~1.0",
"laravelcollective/html": "^5.4",
"laravelgems/blade-escape": "^1.0",
"maatwebsite/excel": "^2.1",
"olssonm/l5-very-basic-auth": "^3.0",
"php-http/guzzle6-adapter": "^1.1",
"pragmarx/firewall": "^1.0",
"proengsoft/laravel-jsvalidation": "^1.6.0-dev",
"tijsverkoyen/css-to-inline-styles": "^2.2",
"torann/hashids": "^2.0"
},
"repositories": [
    {
        "type": "git",
        "url": "https://github.com/reganjohnson/laravel-jsvalidation"
    }
]

ok . so i made the same mistake and had some whitespace in one of my custom config files :S
that removes one issue.

also before your first php tag?

Just to chime in here, this issue actually occurs to me only when I have multiple images on the same page that are being downloaded from the same download route using Response::download().
It happens sporadically, meaning some images appear on one request, and on another some don't.
I resolved this by implementing a javascript lazy loader for all the images on the page. Not sure where the exact issue lies, but it seems when you're loading a lot of images from Laravel in a short period of time, it freaks out and causes an exception.

i had extra whitespace in app/config/constants.php which is my own file

again that doesn't stop the output headers being wrong. that just fixes the corruption not the buffering

@themsaid if we look at the base of this problem, shouldn't laravel just remove all spaces before the response in the case any third party package is adding that? i even see the space before my responses from html pages.

@BartHuis that means a package is buggy and has to be fixed :) Anyway feel free to open a PR if you think a change is needed, but I'm not quite sure on this one really.

i think now we've identified the problems, the package space thing is a side-issue ...
this is mainly about the output buffer, in terms of what automatically GD2 generates (and hence intervention) and the response headers being wrapped with laravel html/utf-8

If someone has a proposed change please feel free to open a PR, it's better to discuss implementation since it's an edge case.
Going to close this issue since it's not really a bug, but again please feel free to open a PR.


Update Operator Implementation Tutorial

Description
Update the tutorial for implementing operators in the backend.
Changes

[x]  Adds more details for the kernel launch function
[x] Updates nnvm link to nnvm design doc
[x] Updated instructions for writing operator tests.

http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-12230/7/faq/add_op_in_backend.html
Comments

@reminisce @apeforest @eric-haibin-lin @sandeep-krishnamurthy

@reminisce @haojin2 ping for review.

@reminisce ping for review/merge.

@anirudhacharya Please have a look at the review comments. Thanks.

This is a very useful tutorial.
@apeforest @haojin2 @eric-haibin-lin @reminisce => I see your comments addressed. Any pending feedback? Is this good to go?
Thanks.

My comments are addressed

@haojin2 @apeforest @reminisce Can you please take a look once to see if its ready to merge?

LGTM.


Validation

For me, it is good now. Note that in the SAE calculus, it was "[1,]" so it divided all zone by the total of the first, it was of course a mistake (sorry). Now it is [i,].

Fantastic set of changes, thanks Morgane!


Fail to install xgboost R package from source inside conda environment under MacOS (big sur)

Hello! Xgboost only uses ONE thread (core) under MacOS if it is installed using general install.packages("xgboost"). The solution is to install xgboost R package from source as indicated in https://xgboost.readthedocs.io/en/latest/build.html#installing-the-development-version-linux-mac-osx. Of coz, I also install
brew install libomp

at first, and then follow the above instructions to build the xgboost R package from source. I successfully install it with multi-threads work, but ONLY for the system-wide R.
I fail to install xgboost R package from source inside conda environment under MacOS (big sur).
In order to conduct the tests using different versions of R, conda environments are usually constructed to install R and related packages separated from the system-wide R.  For example, I just use the following R_4_mkl.yml to construct the conda environment:
name: R_4.0_mkl
channels:
  - conda-forge
  - defaults
dependencies:
  - python=3.8
  - conda-forge::r-base=4.1.0
  - conda-forge::libblas=3.9.0=9_mkl

In terminal, just input the following to construct the new conda environment and then activate:
conda env create -f R_4_mkl.yml
conda activate R_4.0_mkl

Next, I would like to install xgboost R package inside this conda environment. Well, I just slightly revise the FindLibR.cmake in xgboost/cmake/modules to allow the user to setup the proper executable R path. Please check the revised file:
FindLibR.cmake.zip
and the key part is
# detection for OSX
if(APPLE)

  find_library(LIBR_LIBRARIES R)

  if(NOT LIBR_EXECUTABLE)

    if(LIBR_LIBRARIES MATCHES ".*\\.framework")
      set(LIBR_HOME "${LIBR_LIBRARIES}/Resources" CACHE PATH "R home directory")
      set(LIBR_INCLUDE_DIRS "${LIBR_HOME}/include" CACHE PATH "R include directory")
      set(LIBR_EXECUTABLE "${LIBR_HOME}/R" CACHE PATH "R executable")
      set(LIBR_LIB_DIR "${LIBR_HOME}/lib" CACHE PATH "R lib directory")
    else()
      get_filename_component(_LIBR_LIBRARIES "${LIBR_LIBRARIES}" REALPATH)
      get_filename_component(_LIBR_LIBRARIES_DIR "${_LIBR_LIBRARIES}" DIRECTORY)
      set(LIBR_EXECUTABLE "${_LIBR_LIBRARIES_DIR}/../bin/R")
      execute_process(
        COMMAND ${LIBR_EXECUTABLE} "--slave" "--vanilla" "-e" "cat(R.home())"
        OUTPUT_VARIABLE LIBR_HOME)
      set(LIBR_HOME ${LIBR_HOME} CACHE PATH "R home directory")
      set(LIBR_INCLUDE_DIRS "${LIBR_HOME}/include" CACHE PATH "R include directory")
      set(LIBR_LIB_DIR "${LIBR_HOME}/lib" CACHE PATH "R lib directory")
    endif()
  else()
      execute_process(
        COMMAND ${LIBR_EXECUTABLE} "--slave" "--vanilla" "-e" "cat(R.home())"
        OUTPUT_VARIABLE LIBR_HOME)
      set(LIBR_HOME ${LIBR_HOME} CACHE PATH "R home directory")
      set(LIBR_INCLUDE_DIRS "${LIBR_HOME}/include" CACHE PATH "R include directory")
      set(LIBR_LIB_DIR "${LIBR_HOME}/lib" CACHE PATH "R lib directory")
      set(LIBR_CORE_LIBRARY, "${LIBR_HOME}/lib/libR.dylib")
  endif()

Now I just follow
cd xgboost
git submodule init
git submodule update
mkdir build
cd build
cmake .. -DR_LIB=ON -D${executable R path}
make
make install

where ${executable R path} is the result of which R inside the conda environment. The procedure fails in the final step make install:
Command: /Users/alfredfaisam/opt/miniconda3/envs/R_4.0_mkl/bin/R -q -e deps = setdiff(c('data.table', 'jsonlite', 'Matrix'), rownames(installed.packages()))\  if(length(deps)>0) install.packages(deps, repo = 'https://cloud.r-project.org/')
Command: /Users/alfredfaisam/opt/miniconda3/envs/R_4.0_mkl/bin/R CMD INSTALL --no-multiarch --build /Users/alfredfaisam/Desktop/LearningR/xgboost/build/R-package-install/R-package
CMake Error at RPackageInstall.cmake:16 (message):
  out: Error: package or namespace load failed for ‘xgboost’ in
  library.dynam(lib, package, package.lib):

   shared object ‘xgboost.dylib’ not found

  Error: loading failed

  Execution halted

  , err: * installing to library
  ‘/Users/alfredfaisam/opt/miniconda3/envs/R_4.0_mkl/lib/R/library’

  * installing *source* package ‘xgboost’ ...

  ** using staged installation

  ** libs

  ** R

  ** data

  ** demo

  ** inst

  ** byte-compile and prepare package for lazy loading

  ** help

  *** installing help indices

  ** building package indices

  ** installing vignettes

  ** testing if installed package can be loaded from temporary location

  ERROR: loading failed

  * removing
  ‘/Users/alfredfaisam/opt/miniconda3/envs/R_4.0_mkl/lib/R/library/xgboost’

  , res: 1
Call Stack (most recent call first):
  RPackageInstall.cmake:34 (check_call)
  cmake_install.cmake:102 (include)

make: *** [install] Error 1

Well, could you please help check this issue, or any suggestions about installing xgboost R package from source inside conda environment under MacOS?
r$> sessionInfo()
R version 4.1.0 (2021-05-18)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: macOS Big Sur 11.3

Matrix products: default
BLAS/LAPACK: /Users/alfredfaisam/opt/miniconda3/envs/R_4.0_mkl/lib/libmkl_rt.dylib

locale:
[1] en_US.UTF-8/UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_4.1.0

Supplements for the installation with the revised FindLibR.cmake are as follows:
cd xgboost
git submodule init
git submodule update
mkdir build
cd build
cmake .. -DR_LIB=ON -DLIBR_EXECUTABLE=/Users/alfredfaisam/opt/miniconda3/envs/R_4.0_mkl/bin/R
make
make install

Sorry for the incomplete information.

Conda-forge provides the XGBoost R package: https://anaconda.org/conda-forge/r-xgboost-cpu. Can you try installing it with conda install -c conda-forge r-xgboost-cpu?

Also, according to https://xgboost.readthedocs.io/en/latest/install.html#r, it should be sufficient to run install.packages("xgboost"). It should make use of libomp automatically.

Thanks @hcho3 ! Well, actually I tried both methods before but they fail to employ multi threads in use.
Let's check the benchmarks using the system-wide R with xgboost R package built from source. As expected, multi threads are allowed to work as follows:
r$> require(xgboost)
    x <- matrix(rnorm(100 * 10000), 10000, 100)
    y <- x %*% rnorm(100) + rnorm(1000)

    system.time({
      bst <- xgboost(data = x, label = y, nthread = 1, nround = 100, verbose =
     F)
    })
Loading required package: xgboost
   user  system elapsed
 19.075   0.098  16.838

r$> system.time({
      bst <- xgboost(data = x, label = y, nthread = 4, nround = 100, verbose =
     F)
    })
   user  system elapsed
 17.640   0.081   4.486

On the other hand, for some  conda based on
name: R_4.0_mkl
channels:
  - conda-forge
  - defaults
dependencies:
  - python=3.8
  - conda-forge::r-base=4.1.0
  - conda-forge::libblas=3.9.0=9_mkl

installing xgboost using conda install -c conda-forge r-xgboost-cpu CANNOT allow for multi-threads
r$> require(xgboost)
    x <- matrix(rnorm(100 * 10000), 10000, 100)
    y <- x %*% rnorm(100) + rnorm(1000)

    system.time({
      bst <- xgboost(data = x, label = y, nthread = 1, nround = 100, verbose = F)
    })
Loading required package: xgboost
   user  system elapsed
 17.161   0.063  16.618

r$> system.time({
      bst <- xgboost(data = x, label = y, nthread = 4, nround = 100, verbose = F)
    })
   user  system elapsed
 16.791   0.046  16.877

Let's check another conda environment generated by the same .yml file but installing xgboost using install.packages("xgboost"). The first interesting point is that during the installation process I notice:
checking whether OpenMP will work in a package... no
*****************************************************************************************
         OpenMP is unavailable on this Mac OSX system. Training speed may be suboptimal.
         To use all CPU cores for training jobs, you should install OpenMP by running

             brew install libomp
*****************************************************************************************

even though I have installed ti via
brew install libomp

Therefore, the results are not surprising:
r$> require(xgboost)
    x <- matrix(rnorm(100 * 10000), 10000, 100)
    y <- x %*% rnorm(100) + rnorm(1000)

    system.time({
      bst <- xgboost(data = x, label = y, nthread = 1, nround = 100, verbose = F)
    })
Loading required package: xgboost
   user  system elapsed
 17.789   0.058  17.284

r$> system.time({
      bst <- xgboost(data = x, label = y, nthread = 4, nround = 100, verbose = F)
    })
   user  system elapsed
 17.165   0.044  17.251

It seems that installation from source for the conda environment under MacOS is necessary to allow for multi-threads, but just need some revisions.

Got it. I'm out of ideas. The OpenMP support in MacOS has been a sticky point for a while and even with libomp there are some use cases that falls through the crack, such as yours. Feel free to share your insights once you figure something out.

After several trials, I figure out a method to solve this problem even though it is not that elegant. First, after the installation of libomp via
brew install libomp

OpenMP should be available for MacOS, so that for system-wide R installation of xgboost from source can successfully make multi-threads available. Therefore, the problems should be the compilation process when installing xgboost within the conda environment. Inspired by this post, I try to check the file path using the following command in R console within the conda environment:
file.path(R.home("etc"), "Makeconf")

Using vim to examine this file in the above returned path, I notice that this file is within the path of corresponding conda environment, and the following are set
SHLIB_OPENMP_CFLAGS = -fopenmp
SHLIB_OPENMP_CXXFLAGS = -fopenmp
SHLIB_OPENMP_FFLAGS = -fopenmp

However, the following are blank
SHLIB_CFLAGS =
SHLIB_CXXFLAGS =
SHLIB_FFLAGS =

Unfortunately, when using install.packages("xgboost") in the R console within conda environment, I cannot find -fopenmp is employed as effective flags for compilation. Therefore, I just revise the above file to set and save
SHLIB_CFLAGS = -fopenmp
SHLIB_CXXFLAGS = -fopenmp
SHLIB_FFLAGS = -fopenmp

Now, just useinstall.packages("xgboost") in the R console within conda environment. As before, the information
checking whether OpenMP will work in a package... no
*****************************************************************************************
         OpenMP is unavailable on this Mac OSX system. Training speed may be suboptimal.
         To use all CPU cores for training jobs, you should install OpenMP by running

             brew install libomp
*****************************************************************************************

is still shown up. However, during the compilation process, -fopenmp is found as the effective flag. After the installation, I find that multi-threads available now:
r$> require(xgboost)
    x <- matrix(rnorm(100 * 10000), 10000, 100)
    y <- x %*% rnorm(100) + rnorm(1000)

    system.time({
      bst <- xgboost(data = x, label = y, nthread = 1, nround = 100, verbose = F)
    })
Loading required package: xgboost
   user  system elapsed
 19.429   0.130  17.317

r$> system.time({
      bst <- xgboost(data = x, label = y, nthread = 4, nround = 100, verbose = F)
    })
   user  system elapsed
 17.949   0.063   4.538

r$> system.time({
      bst <- xgboost(data = x, label = y, nthread = 8, nround = 100, verbose = F)
    })
   user  system elapsed
 27.401   0.094   3.457

Even though this method is not that elegant, I guess I am fine with such revision. Furthermore, it brings no harm to keep such settings which may be also beneficial to other packages which need compilation and employ multi-threads.
Thanks @hcho3 all the same, and hope this post can add some hints about installing xgboost under conda environment under MacOS.

Another remark here is about installation of xgboost python package within conda environment. The short finding is that with libomp installed using
brew install libomp

then installation using conda install -c conda-forge xgboost can make multi-thread available. In my experiment, I also employ mkl to accelarate numpy, just like what I set for conda environment of R:
conda install -c conda-forge numpy libblas=3.9.0=9_mkl

and then install xgboost:
conda install -c conda-forge xgboost

Try the following
In [1]: import numpy as np
   ...: import xgboost as xgb
   ...: import timeit
   ...:
   ...: data = np.random.rand(10000, 100)
   ...: label = np.random.randint(2, size=10000)
   ...: dtrain = xgb.DMatrix(data, label=label)
   ...:
   ...: param_1 = {'objective': 'binary:logistic', 'nthread': 1, 'eval_metric': 'auc'}
   ...:
   ...: param_4 = {'objective': 'binary:logistic', 'nthread': 4, 'eval_metric': 'auc'}
   ...:
   ...: param_8 = {'objective': 'binary:logistic', 'nthread': 8, 'eval_metric': 'auc'}
   ...:
   ...: num_round = 100

In [2]: start = timeit.default_timer()
   ...:
   ...: xgb.train(param_1, dtrain, num_round)
   ...:
   ...: stop = timeit.default_timer()
   ...:
   ...: print('Time: ', stop - start)
Time:  16.160123399

In [3]: start = timeit.default_timer()
   ...:
   ...: xgb.train(param_4, dtrain, num_round)
   ...:
   ...: stop = timeit.default_timer()
   ...:
   ...: print('Time: ', stop - start)
Time:  4.242956155000002

In [4]: start = timeit.default_timer()
   ...:
   ...: xgb.train(param_8, dtrain, num_round)
   ...:
   ...: stop = timeit.default_timer()
   ...:
   ...: print('Time: ', stop - start)
Time:  3.200284463999999

Therefore, in terms of xgboost python package within conda environment under MacOS, OpenMP is correctly set to be in use. However, for xgboost R package under MacOS, installation from source is necessary to allow OpenMP.  For system-wide R, just follow  https://xgboost.readthedocs.io/en/latest/build.html#installing-the-development-version-linux-mac-osx; for R within conda environment my above solution may be the easy but not that elegant way to fix it. On the other hand, it is necessary to install libomp for MacOS at the very beginning:
brew install libomp


Deprecate config options: phantomOptions

Since phantomjs is deprecated, we should deprecate markoDevtools.config.phantomOptions in favor of a different name that can be module agnostic.

We've decided that we will probably want to support both phantom and headless chrome in the future, so it makes the most sense to not rename this.


SQLiteDatabase.NO_LOCALIZED_COLLATORS

Hello,
The database created with ORMLite contains a table named android_metadata.
Assuming the information that I read at http://stackoverflow.com/questions/2528489/no-such-table-android-metadata-whats-the-problem is true, this means that this has everything to do with custom collations injected by android.database.sqlite.
This is very worrisome for me, since I want to be able to share database files with the sister iOS application. Should those custom collations get referenced by the android database, the database will turn unusable on iOS.
I thus want to avoid this feature, remove the android_metadata table, and avoid depending on android-only collations.
Unfortunately, OrmLiteSqliteOpenHelper won't allow injecting the SQLiteDatabase.NO_LOCALIZED_COLLATORS flag that, it seems, deactivates this feature.
What do you think?
cc @Alexandre-saddour

Any news on this subject, @j256?

Sorry for the delay @groue .  I don't really know much about this not being an Android expert.  What is it specifically that you don't think ORMlite is doing right?

Don't worry @j256, I've many horses to beat as well :-)
Specifically, it would be nice if user code could inject the NO_LOCALIZED_COLLATORS  option, and maybe, more generally, any flag into android.database.sqlite.SQLiteDatabase.openDatabase(). Today it is impossible since the android.database.sqlite.SQLiteDatabase is opened in a private area of ORMLite.

Is this issue resolved @j256 @groue if yes can u please tell me how do i solve my crash


Hubs belong to Place, which delegate to Thngs

https://m.alphasights.com/process-registry-in-elixir-a-practical-example-4500ee7c0dcc#.wjinsfqo4

defp via_tuple(room_name) do
    {:via, :gproc, {:n, :l, {:chat_room, room_name}}}
  end

 {:via, :gproc, {:n, :l, {"PLACE", "MAC"}}}

:n - one process per name
:l - local


FIX consistency:  Epochs.load_data() should always return self

[Current coverage][cc-pull] is 86.67%

Merging [#3376][cc-pull] into [master][cc-base-branch] will increase coverage by 34.43%

@@             master      #3376   diff @@
==========================================
  Files           335        335
  Lines         57628      57628
  Methods           0          0
  Messages          0          0
  Branches       8721       8781      +60
==========================================
+ Hits          30105      49950   +19845
+ Misses        25694       5003   -20691
- Partials       1829       2675     +846

[][cc-pull]

Powered by Codecov. Last updated by [1a641d7...3f67483][cc-compare]
[cc-base-branch]: https://codecov.io/gh/mne-tools/mne-python/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/mne-tools/mne-python/compare/1a641d7bb800e8170d916b0289443abc9627b7eb...3f674830882a5c6208a00c15e1a05856e0c14bf3
[cc-pull]: https://codecov.io/gh/mne-tools/mne-python/pull/3376?src=pr

thx @christianbrodbeck