Author: Brains

  • Setting up email deliverability SPF DKIM DMARC Office 365 Cloudflare cPanel

    Take a primary domain where DNS is controlled at provider A (e.g. CloudFlare), email is managed through provider B (e.g. Office 365) and the website is hosted on provider C (e.g. cPanel server). We are using domain name example.com We are as using cPanel IP 1.2.3.4 Test SPF at https://www.dmarcanalyzer.com/spf/checker/ Test DKIM at https://easydmarc.com/tools/dkim-lookup (uses…

  • I hate WPML

    WordPress Multilingual (WPML) is the only plugin I use that makes me nervous. Every time I run an update I dread seeing what it’s broken and working out how much of my time it will take to fix. The team at wpml consistently seem to add unwanted, unnecessary and untested ‘features’ that never appear to…

  • Setting up Ionic on new MacOS Monterey install

    Install xcode Install Homebrew /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)” Install node and npm brew install node Install Ionic CLI npm i -g @ionic/cli Install Cordova (if using, Capacitor probably needs installing too but I’m not using it yet) npm i -g cordova Fix error ionic cordova build tool ‘xcodebuild’ requires Xcode, but active developer directory…

  • Build-tool 32.1.0 rc1 is missing DX at

    Making a note of this becasue it’s bound to break at some point. After a fresh MacOS Monterey install and Android Studio 2 install and JDK 1.8 install (from Oracle) you need set your paths below, you might get this error: Build-tool 32.1.0 rc1 is missing DX at Used below to create a symlink (changing…

  • How to use test Firebase functions locally

    This specifically relates to running a web project withFirebase. There are two requirements to testing Firebase functions locally before deployment. First you need to run the emulator, and second you need to tell your calling script to use the emulator. And tell it using the correct syntax. Setup the emulators Run the following in your…

  • Firebase deploy: functions predeploy error: Command terminated with non-zero exit code126

    Received error number 126 relating to eslint lint when deploying project to firebase. Down to broken/missing Lint package. Solution cd into project functions directory run this: Deploy again and the error should be gone: Source: https://stackoverflow.com/questions/48602833/eslint-error-while-trying-to-deploy-firebase-functions

  • What schema settings should I use with WordPress SEO – Enfold 2020

    Enfold has the option to add ‘Automated Schema.org HTML Markup‘ but it’s output isn’t designed to help SEO. It adds lots of microdata but doesn’t add much in the way of clean useful markup. This article is for a basic blog. If your site includes products, reviews, recipes or other data types for which there…

  • Updating Enfold pre version 4.x

    Enfold theme can get stuck updating since Envato changed their API. You can try this: Please replace enfold/framework/php/auto-updates/class-pixelentity-theme-update.php with https://github.com/KriesiMedia/enfold-library/blob/master/temp_fixes/Enfold_4_4_1/class-pixelentity-theme-update.php This should enable the update. If nthe update isn’t even showing try Update Theme and Plugins from Zip File plugin. Download latest enfold, install plugin, upload them and install. The plugin will overwrite the old…

  • Setting up new Debian 9 Turnkey Lamp with php 7.2 notes

    Notes for setting up a new lamp php 7.2 dev environment: Download Turnkey Lamp ISO Setup new VM in VMWare. Use iso to create. Install php 7.2 #!/bin/bash # To add this repository please do: if [ “$(whoami)” != “root” ]; then SUDO=sudo fi ${SUDO} apt-get -y install apt-transport-https lsb-release ca-certificates ${SUDO} curl -ssL -o…

  • Viewing local PDFs in Ionic on browser, iOS and Android 5 +

    This is a provider that allows viewing of local PDFs on iOS and Android. Tested on Android 5,6 and 7. Tested on Ionic 3.19.1. This will never work on Android if you use live reload as the above version of Ionic doesn’t see cordova. It does work without the live reload flag. So this, won’t…