Month: November 2018

  • Troubleshooting Project Fi SMS Issues

    Troubleshooting Project Fi SMS Issues

    I’ve been having an issue with my new Pixel 3 XL receiving messages from iPhone users.

    I’ve been given a comprehensive guide from Google’s support team on troubleshooting this issue. Here’s the their troubleshooting steps:


    Hi Duane,

    Thank you for the information.

    I’d request to follow the below troubleshooting steps to fix the issue. If the issue persists after trying the below steps, then I can go ahead and escalate the case to our specialist team to assist you further.

    Step 1: Power Reboot:

    Power Reboot will let you power off the phone and restart it which will clear the temporary memory.

    To reboot the phone:

    1. Hold power button down for about 15 seconds.
    2. You will see the “Power off” box appear. Ignore it and let the screen go black.
    3. When the screen goes black, release the power button. Your phone will restart.

    Step 2: Check for app updates:

    Open the Play Store app > Menu (three lines, top right) > My Apps > Select the app (Hangouts, Android Messages, or Project Fi.)

    If it says “Update,” tap the button to update the app. If it says “Open,” then the app is already updated to the latest version. 

    Step 3: Check for system updates:

    •  Open Phone Settings > About phone > System updates > Check for update. Install the available updates, if any. 

    Step 4: Data usage and permissions:

    For Project Fi service to work properly, the Project Fi app must be enabled, data usage shouldn’t be restricted, and permissions must be switched on for Phone, SMS, and Location.

    • On the device, open Phone settings > Apps > Project Fi.
    • Make sure the app is enabled. The App info should show a “Disable” button when the app is enabled.
    • Tap Data usage. The wording will differ depending on the OS.
    • If you see “Background data,” the switch should be ON.
    • If you also see “Unrestricted data usage,” the switch should be ON.
    • If you see “Restrict background data,” the switch should be OFF.
    • Tap the back arrow from the top to return to the App info.
    • Tap Permissions. Phone, SMS, and Location permissions should be ON.

    Step 5: Safe mode: 

    Rebooting device to safe mode helps figure out if it’s an app that’s causing the problem. Third party apps will appear, but they will not work when in safe mode. Only the original apps that came with the phone will be functioning. 

    Step 6: Switch Networks:

    Please dial the code same as *#*#344636#*#*  from dialer pad on the phone . It shows the current network information. It may be either T-Mobile or Sprint.

    • When the current network shows Sprint, then dial  *#*#34866#*#*, it switches to T-Mobile.
    • When the current network shows T-Mobile, then dial *#*#34777#*#* , it switches to Sprint.

    If none of these help, please reply to this email with the below information to assist you further:

    • Can you please confirm the address where you’re having issues?
    • Are you able to make/receive calls, receive texts, load a webpage, or any combination of these activities?
    • Do you have service issues when connected to Wi-Fi as well?

    Next, I’d like you to dial *#*#FIINFO#*#* on your device at the location where you experienced issues. After you dial, you’ll see a name listed under “Network operator.” Please reply back to this email with the name that you see.

    If you have any other questions, please reply to this email. We are open 24/7 and will be more than happy to help you.

  • Immutable WordPress Example

    Immutable WordPress Example

    One of my goals to improve security and availability is to containerize my applications and use a Microservices architecture.  I’ve separated MySQL and WordPress and placed them in their own containers.

    By creating immutable instances of an application that is highly mutable, I’m able to destroy/recreate on the fly should something happen to my WordPress applications.

    I’ll explain how these two containers are created.

    MySQL docker-compose.yaml

    I’ve made a universal docker-compose.yaml that takes advantage of an external MySQL DB container: To visit, click the following button.

    I’ve noted the following areas in the configuration and why I chose to implement them this way:

    ConfigDescription
    imagemysql:5.6

    This is the MySQL version I’m using. WordPress supports MySQL and MariaDB (latest versions)
    network_modenetwork_mode: bridge

    If you’re running standalone containers that need to communicate with each other, use bridge mode.
    volumesvolumes: – db_data:/var/lib/mysql

    I’ve created a persistent volume. When bringing down the container and restoring it, the contents of MySQL is kept.
    portsI’ve opened these two ports to communicate with it directly with a client.  Turn this off to close the ports entirely from the outside world.
    exposeExposing 3306 within Docker will help other containers communicate with it.  In fact, you need this exposed.
    restartrestart: always

    As the name suggests, always restart the container should something happen to it (system restart, container restart, container crashes, etc).
    container_namecontainer_name: db-mysql-main

    I’ve explicitly gave my container a name.  Not the best practice if you’re looking at scaling.  Feel free to omit this unless you want to use a single container throughout its lifecycle.
    environmentThe official MySQL container has several environmental variables you can take advantage to interact directly with the management of the service.  See the official MySQL Docker for more information.

    WordPress docker-compose.yaml

    Creating a MySQL container is pretty straight explanatory.  The hardest part of these two configurations is putting together a docker-compose.yaml file for a WordPress container.  To view the example configuration, click the following link:

    ConfigDescription
    imageimage: wordpress:4.9.8-php5.6-apache

    Official WordPress image.  You should probably use a PHP7 version.
    network_modenetwork_mode: bridge

    If you’re running standalone containers that need to communicate with each other, use bridge mode.
    volumesThe following volumes need to be mapped to the contents remain consistent:
    – /wp-content/themes
    – /wp-content/plugins
    -/wp-content/uploads
    -/.htaccess

    Add a custom .htaccess. A very good feature for this is to map assets to the live version of your website if this is a sandbox version.  See this section on how that .htaccess would look like.
    portsports:
    – “8080:80”

    I used port 8080 to serve my HTTP page.  Feel free to change that to whatever you want.  The internal port is your standard port 80.
    restartrestart: always

    As the name suggests, always restart the container should something happen to it (system restart, container restart, container crashes, etc).
    container_namecontainer_name: wp-test

    I’ve explicitly gave my container a name.  Not the best practice if you’re looking at scaling.  Feel free to omit this unless you want to use a single container throughout its lifecycle.
    environmentEnvironmental variables go here.  I’ve used the standard variables that you’ll need to get WordPress running.  Visit this page to know other variables you may need to use if needed.

    Most notably, you can add additional configurations outside your standard configurations using WORDPRESS_CONFIG_EXTRA

    Launching Containers

    Launch the following configurations in this exact order:

    • MySQL docker-config.yaml
    • WordPress docker-config.yaml

    I have these configurations in their own folder.  In each folder, execute the containers by executing the following:

    
    
    docker-compose up -d