lzma.h file not found

If you are building something and get an error that looks like the following

fatal error: 'lzma.h' file not found
#include <lzma.h>
^
1 error generated.

Simply:

brew install xz

Redirect domain and its subdomains in Plesk

Sometimes a domain alias in Plesk doesn’t do exactly what you want. If you domain is handled by Google Apps / G-Suite or points to external services an alias won’t alias properly.

These instructions assume domain.com is setup correctly. With the below setup other-domain.com will redirect to domain.com and subdomain.other-domain.com will redirect to subdomain.domain.com. It will also handle folders so subdomain.other-domain.com/test will redirect to subdomain.domain.com/test

  • Add a domain (other-domain.com)
  • Go to Apache & nginx Settings
  • Add the following to Additional directives for HTTP(S)
    RewriteEngine on
    RewriteCond %{HTTP_HOST} (.*) [NC]
    RewriteRule ^(.*)$ https://domain.com$1 [L,R=301,NC]
    
  • Add a * subdomain (*.other-domain.com)
  • Go to Apache & nginx Settings for *.other-domain.com
  • Add the following to Additional directives for HTTP(S)
    RewriteEngine on
    RewriteCond %{HTTP_HOST} (.*)(other-domain\.com) [NC]
    RewriteRule ^(.*)$ http://%1.domain.com$1 [L,R=301,NC]
    

The above settings could also go in .htaccess. If you aren’t using Apache use the htaccess to nginx plugin.

eGPU with the 2018 MacBook Pro

I recently bought a Thunderbolt 3 eGPU enclosure for my new 2018 MacBook Pro and wanted to write about my experience with it thus far.

Introduction

First, a little about me and why I wanted to buy an eGPU in the first place. 

I like to upgrade my computers about every five years so the timing of this MacBook release worked out perfectly for me. I had a gaming desktop with a Nvidia GeForce GTX 1060 in it and I mostly (only) play Overwatch on it. I use macOS App development and need Xcode.

My gaming desktop has all black parts in it, my desk is black, all my accessories are black; needless to say, I like things to match. Since they sadly don’t make black MacBooks my MacBook is space gray. I have a Space Gray [Henge Dock](). And now I have a Space Gray eGPU enclosure.

The eGPU Enclosure

There are plenty of Thunderbolt 3 eGPU enclosures available for purchase today. Apple currently recommends any of the following:
  • Blackmagic eGPU3
  • Sonnet Radeon RX 570 eGFX Breakaway Puck
  • OWC Mercury Helios FX3
  • PowerColor Devil Box
  • Sapphire Gear Box
  • Sonnet eGFX Breakaway Box 350W
  • Sonnet eGFX Breakaway Box 550W3
  • Sonnet eGFX Breakaway Box 650W3

eGPU.io has a more extensive list with plenty of setup guides, reviews, and benchmarks.

Mantiz Venus MZ-02

Looks alone is what initially brought me to the Mantiz Venus MZ-02 by Mantiz. I bought it off of Amazon. It doesn’t make much sense to me but buying the enclosure on Amazon is cheaper than buying directly from Mantiz’s website – even though they are shipping themselves through Amazon.

Sadly, the metal on the Mantiz Venus is more brushed (lines) than the MacBook so it isn’t a complete match, but it is much closer to matching than a white or black enclosure. It isn’t too noticeable at a distance so I don’t really care since the enclosure will be on the far corner of my desk.
In my opinion the benefits of the Mantiz MZ-02 compared to more popular eGPU enclosures are:
  • It provides 87W of power to the MacBook Pro 15″
  • Matches MacBook Pro (offers both Silver and Space Gray options)
  • 5 USB ports, 1 SATA interface, and 1 Gigabit LAN Ethernet port
  • Customer support

The Mantiz MZ-02 does not come without its’ disadvantages. It does not currently draw enough power for high end graphics cards. This means it can’t run the Radeon Vega 64. If you care, it also is not one of the recommended eGPU enclosure by Apple.

Most of the negative reviews on Amazon reference a design flaw on the main board – but apparently they have been fixed and I did not have any of the issues described in the negative reviews. eGPU.io rates the Mantiz fifth overall so if you are considering buying an eGPU enclosure I strongly encourage you to research other ones. I don’t think there is a “perfect” eGPU yet – or at least I can see positives and negatives with each.

Troubleshooting and Setup

Per, Mantiz’s website they only officially support macOS 10.13.4. If you buy a MacBook now, it most likely will have a greater version so your eGPU enclosure will be DOA (officially). Thankfully, Mantiz’s unofficial support is pretty solid for macOS.

Nvidia cards are also not supported on macOS so some modifications are necessary to get the card to work on macOS. It involves disabling SIP so I have not done this and have very little desire to do so. However, Mantiz said they would do this for me via TeamViewer if I wanted. I would much rather just upgrade to an Vega 56.
Since my setup is not officially supported I was pretty bummed. I missed the caveats when I was purchasing the enclosure. Apparently, Mantiz also charges a 20%+ restocking fee on Amazon so I decided to try to make it work.  I went on eGPU.io guide but nothing I found there worked. I then reached out to Mantiz via their Facebook messaging platform and they responded in around an hour (12 hour time difference).  They pointed out that they had sent me a guide in an email the minute I had bought the enclosure, but I had neglected to read it. On their guide they didn’t have specific instructions for the 2018 MacBook but the instructions were similar to the 2017 version. For Boot Camp, you will have to uninstall the AMD Radeon driver that is currently on your machine using Display Driver Uninstaller (DDU). I did this but my eGPU was still not being recognized. Mantiz’s support decided they would TeamViewer onto my machine and do the setup for me. It turned out the problem was that I  “…plug in ogpu to laptop ‘w/o PSU switch on’ too many times.”  A simple power cycle and reboot with the eGPU plugged in was all I needed to do. I originally was hot plugging it in since I was getting strange boot up issues (which I read was normal with macs) before I uninstalled the original graphics driver.
To summarize the Boot Camp Setup for the 2018 MacBook Pro 15″ is:
  1. Ensure Windows is updated to at least 1803. Restart if necessary.
  2. With the eGPU not plugged in, run DDU and remove the pre-installed AMD Radeon driver. Restart.
  3. While the MacBook is powering on, plug in the eGPU
  4. Upgrade/install the graphics driver
You should update your Thunderbolt 3 firmware for the Matniz MZ-02. Although I didn’t experience this, the firmware upgrade will fix any USB lag you might have.
You will need to buy a longer Thunderbolt 3 cable. The one they provide is less than 2 feet.  Thankfully Mantiz makes a 2 foot Thunderbolt 3 cable which is available on Amazon.

After the eGPU was installed I experienced frame stuttering while playing Overwatch. I would get consistent 144+ fps and then drop to 80 fps and back again. This would make the game lag. This can be fixed by disabling Xbox DVR, thus ensuring your battery settings are not throttling PCI/USB. Enabling application control in Nvidia settings also helps with the lag; as well as playing with the overwatch video settings – enabling triple buffer, and enabling v sync. Disabling the integrated graphics driver might also help.

Clamshell support is not on by default in Boot Camp. You can easily enable this in the power settings.

Conclusions

If I had done more research about eGPU’s for MacBooks I probably would not have bought one at all. They aren’t fully supported by Apple:

macOS High Sierra 10.13.4 and later doesn’t support eGPUs in Windows using Boot Camp

This is very unfortunate but very typical for Apple. Their trackpad driver sucks in Windows so why wouldn’t their eGPU support?

If you want a plug and play experience with eGPU on Boot Camp – you won’t get it. A dedicated graphics card is always going to be better than eGPU but Thunderbolt 3 is getting there. I like the convenience of being able to play games on my MacBook and not having to have two different computers so overall I am very happy with my purchase.

Necessary macOS Software

Below is the software I immediately download when I setup a new mac.

Honorable mentions

For development I also recommend:

Comment below any suggestions I may have missed!

Adidas Customer Support Sucks

I ordered some shoes on adidas.com. I’m a huge fan of their products and this hasn’t been my first order with them. My order was split up into multiple packages.

Screen Shot 2018-07-11 at 15.19.23

FedEx says they delivered to my front door

Screen Shot 2018-07-11 at 15.19.15

FedEx says my package was delivered

Screen Shot 2018-07-11 at 15.20.28.png

My delivery option is to not leave the package at the front door

Video evidence of no delivery: https://www.youtube.com/watch?v=eZuVCya4bEg (time on the video is wrong, my NAS has the correct time according to when FedEx delivered my package)

Clearly, I never recieved the package. FedEx even did an investigation and agreed with me.

Screen Shot 2018-07-11 at 15.15.46

FedEx support response

Sadly, Adidas did not.

March 22, 2018
Screen Shot 2018-07-11 at 15.17.54

Negative response from adidas

I tried to escalate again after I received my decision but had no luck.
Statistics/numbers:
  • Escalated to corp 3/22
  • Case number: 11295337, 12046415
  • Order # AD012102664
  • Refund for: BZ0063 and 772109
  • FedEx case #116833937 and 0116833938

Shared Hosting – Why is this not a thing?

I love one-click installs and easy certificate management. I love easy-to-use management panels and quick and painless service integrations. I love how everything is included in my plan I already purchased. All these things are part of the modern-day “Shared Hosting” experience. These things don’t exist for a VPS.

What I want is the choice of web technology though. I don’t want to be stuck with just PHP. Give me some Node.js or some Python. I want to be able to have multiple sites with the option of multiple technologies – all under the same plan.

Why is this not a thing?

Invalid Toolchain on El Capitan

I was having trouble submitting an app using the latest beta version of El Capitan.

Invalid Toolchain. New apps and app updates must be built with the public (GM) versions of Xcode 6 or later, and iOS 8 SDK or later. Don’t submit apps built with beta software.

So first, archive your app. In Xcode Organizer, right click your archive and reveal it in finder. Right click the now-revealed archive and click show package contents. Then go Products > Applications > Right Click your app and show package contents again. Now, the magic begins. Find your info.plist file. Open it in Xcode, and locate the line that says “BuildMachineOSBuild”. Alter the string from whatever it is to “14F27”. This is the Build ID for Yosemite. Safe the file, and now you should be all set to sumbit!

https://forums.developer.apple.com/thread/14367