Android 8.0 is coming very soon, so I have started preparing my apps for this new platform, while still maintaining the same functionality for Android versions back to 2.3.3 (Gingerbread). However, I will not be further updating my Chrome apps, as the Chrome Web Store has stopped accepting new apps, and is likely to stop hosting existing apps soon too.
The first paid-for app to be updated for Android 8.0, including 6 more questions, is:
and the 2 free apps, including samples from the other apps:
Update to more of my Android apps will follow shortly.
This is quick reminder that I still have the following apps available in Google Play:
- Data Steps: Do This in SAS?
- SQL: Do This in SAS?
- Graphs: Do This in SAS?
- Platforms: Do This in SAS?
- EG: Do This in SAS?
- Macros: Do This in SAS?
- Efficiency: Do This in SAS?
- Studio: Do This in SAS?
These apps are also available for Android users in the Amazon Appstore:
- Data Steps: How Do You Do This in SAS?
- SQL: How Do You Do This in SAS?
- Graphs: How Do You Do This in SAS?
- Platforms: How Do You Do This in SAS?
- EG: How Do You Do This in SAS?
- Macros: How Do You Do This in SAS?
- Efficiency: How Do You Do This in SAS?
- Studio: How Do You Do This in SAS?
There are also free apps, which you can find by searching in each app store:
- How Do You Do This in SAS? (Google Play and Amazon Appstore)
- Consulting: Do This in SAS? (Google Play)
- Consulting: How Do You Do This in SAS? (Amazon Appstore)
All these apps are updated frequently, and the paid-for apps are priced at less than US$3 based on the number of questions that are answered, and within the apps you can ask new questions that can be added in future updates. It doesn’t matter which platform you use, as the same content is present in the corresponding Google Play and Amazon Appstore apps.
The morale of this story is that, once you have proved all the likely reasons for the failure are incorrect, the only remaining reason, however improbable, is the cause!
Note that, as you are reading this post, the problem described below has definitely been resolved!
Over the last few weeks I have been trying to configure my new Linux server to include RAID1 (mirrored) drives, but, while it should only have caused brief service outages for reboots, some of the down times have been rather too long. I have now decided to implement regular copies of the drives instead.
The most recent outage was somewhat baffling, as my attempt to include the RAID1 drives had failed again, but I’d followed my well-practised back out procedure. Unfortunately the server hardware appeared to be up and running, I could access both servers on the device using local IP addresses, but only one, the Apache server and not the WordPress server, using the hollandnumerics.org.uk web address.
A systematic approach to resolving the problem would be needed:
- Check the server monitors to make sure the software was running:
- Both servers were running.
- The problem was not a failure to start the server software on reboot.
- Open the web pages for each server using their local IP addresses:
- The web pages for both servers opened.
- Both servers were up and accepting connections.
- Open the web pages for each server using their web addresses:
- The Apache server pages opened, but the WordPress server pages timed out.
- Maybe a problem with the WordPress port?
- Check the WordPress server access log for my attempts to open web pages:
- Only local addresses were recorded as connecting to WordPress.
- Maybe a problem with the WordPress port in the router?
- Check the event log on the router:
- All connections to the WordPress port are being blocked.
- Maybe a fault in the Port Forwarding configuration in the router?
- Check the Port Forwarding configuration in the router:
- All expected entries present.
- Maybe a fault has developed in the supplied entry used with the WordPress port?
- Replace the supplied WordPress entry with a user-modified copy of the working Apache entry, and then open web pages for the WordPress server using their web addresses:
- The web pages for the WordPress server opened successfully.
The key actions used to resolve this problem have much in common with those actions listed in my post “How Do You Successfully Debug Your Program?“:
- Work through the problem testing systematically:
- Make changes one at a time to be certain you know which one fixes the problem, and also allows you to back out the update if it doesn’t.
- Test after each change.
- Review the results from every test.
- Consider the likely and the unlikely causes of the problem.
- Most importantly: Read the logs!