How to stop Amazon Music Helper from running in the background OSX

After installing Amazon Music on my mac, I noticed this background task “Amazon Music Helper” running. I tried to kill it, it came back.

The fix I used was to remove execute permission on that file:

chmod -x /Applications/Amazon\ Music.app/Contents/MacOS/Amazon\ Music\ Helper

Then kill the process again and it shouldn’t come back.

I have bought music since then and find that all the features (that I use) work fine. This thing isn’t even needed!

Start a screen session as another user at system startup

Came across this technique to get a screen session started as another non-root user on system startup. You could have this command in /etc/rc.local or any other location that runs on system startup as root.

Also, it doesn’t have to just be at system startup. These commands could be used at any time by the root user to start a screen session for another user.

This command must run as root. I had best luck when providing full paths to the executable and optional file arguments (like if you are passing a conf file)

su - username -c "/usr/bin/screen -dmS screenname ./executable"

So, for example, to get irssi started as chris in a screen session named irc, You could:

su - chris -c "/usr/bin/screen -dmS irc /usr/bin/irssi"

You can then log in to the box as chris and resume the screen session that root started.

Apache Proxy with CORS headers

You want to have your JavaScript application access a remote API but that remote API does not have CORS headers. What to do?

Instead of pointing to that remote API, point to a location on an Apache server that you have control of, have it connect to that remote API for you, and also add the CORS headers so JavaScript is happy.

Apache can proxy, or hand off the API request for you while also injecting the CORS header Access-Control-Allow-Origin to that remote API response.

Requirements:
Apache mod_proxy
Apache mod_headers

# Proxy for BaseServer
<LocationMatch "/api">
   ProxyPass http://remote-server.com:8000/api/
   Header add "Access-Control-Allow-Origin" "*"
</LocationMatch>

Now instead of pointing my JavaScript to http://remote-server.com:8000/api/, I point it to my Apache server at /api/ and that will serve the data from http://remote-server.com:8000/api/ with the CORS header.

http://enable-cors.org/server_apache.html

If you are using mod_rewrite along with this, you might need the [P] flag which tells mod_rewrite to handle the request with mod_proxy.

https://httpd.apache.org/docs/2.4/rewrite/flags.html

Full Stack Software Tools Engineer