Where Did Our Tech Support Content Go?

Once upon a time, in a galaxy far, far away, Reich Web Consulting was just Reich Consulting.  I came from a background in IT and continued to take IT and support clients for several years.  Since then, we’ve narrowed our focus to web development and web marketing.  We’re no longer in the tech support business.

With that in mind, we want our website to reflect the services we offer today.  We’ll be moving all of our tech support content out to Medium, so those articles that are still helpful remain available to those who need them.

Our site at reich-consulting.net will focus on the topics in which we specialize, specifically web developer and web marketing.

Your WordPress Hosting Is Upgrading to PHP 7.2

Are you a Reich Web Consulting WordPress Hosting customer?

We don’t want to bore you with technical details, but we want you to know that some changes are coming to your web hosting platform that may affect your website.

Your site runs on WordPress. WordPress is written in a language called PHP, which has gone through many versions. Your site currently runs on PHP 5.6.  This version will reach its end of life on January 1, 2019.  This means that it is no longer supported software, and will become a security problem if not upgraded.

Don’t worry! You chose to host with Reich Web Consulting because we’ve got your back. We still do. If you trust Reich Web Consulting to do right by you, well, there’s no need to keep reading. Go enjoy this beautiful summer day! If you’d like to learn more, continue on.

The Benefits

There’s a reason we’re not asking if you want this upgrade, and that reason is SECURITY. Not performing the upgrade would eventually leave your website open to attack.  Every web host that supports WordPress and PHP must make this transition within the next 5 months, or willfully choose to leave their customers vulnerable to hackers.

As an added benefit, PHP 7.2 is significantly faster than PHP 5. Some benchmarks indicate that PHP 7.2 can run a WordPress page request over 2x faster than PHP 5! Faster page loads mean more users will stay on your site longer, and may even help search engine ranking.

Our Upgrade Plan

We’re upgrading to the latest version of PHP, which is 7.2. Most sites will work without any modifications, but some may require additional work.

In order to upgrade our sites without causing service interruptions, we’ll go through the following process.

  1. Run a Compatibility Tool Against Your Site to Determine if the PHP 7.2 upgrade is safe.
  2. If it’s not we’ll determine what components are incompatible.
  3. If those components are free and won’t affect your site performance to upgrade them, we’ll go ahead and update those components.
  4. If making your site compatible with PHP 7.2 will include any costs, we’ll contact you before we do anything. This could be due to premium plugin upgrades, or significant labor involved in more complex scenarios.

Only after all the sites we host are tested and confirmed to work with PHP 7.2 will be “flip the switch.

Our Upgrade Timeline

We plan to begin testing immediately.  We plan to complete the process and finalize the upgrade to PHP 7.2 at the end of August.

Tips for UPS API Integration

I do a lot of shipping integrations for my manufacturing automation customers, and for my customer’s customers. While we always document these tips internally, I thought it would be useful to catalog and share them. Below are some helpful tips we’ve compiled for UPS API integration.

TIP #1: Customer Account Numbers Use the Number Zero, Not the Letter O

Customer account numbers are a series of six letters and digits.  If you have a UPS customer account that contains something circular, it’s always the number zero (“0”) and not the letter “O.” This tip comes directly from UPS API support.

TIP #2: UPS Mail Innovations Doesn’t Support Third Party Billing

UPS Mail Innovations is a unique shipping method that utilizes the local postal service to complete the final leg of your shipment. Unlike other shipping methods, it does not support third-party billing. That is, you cannot use one account to ship the package and bill the package to another UPS account using the BillThirdParty payment option. Mail Innovations shipments must be generated using the BillShipper option. That leads us to our next tip.

TIP #3: BillShipper Requires that you Add the Shipper Account as a Payment Option

To use the BillShipper payment option, you must add the account you’re billing for the shipment as a payment option in the UPS account being used to access the API.  You can do this by logging into the account on ups.com and selecting Payment Options. You’ll need a few pieces of information, including:

  • UPS Account Number
  • Default pick up Zip code
  • Invoice # from most recent account invoice
  • Date of most recent account invoice
  • Payment due amount from the last invoice
  • Control ID of the last invoice

 

Need Help Integrating with UPS?

Having trouble integrating with UPS? Don’t hesitate to contact Reich Web Consulting today.

In the Wake of #DeleteFacebook, It’s Time to Rethink The Free Internet Economy

In the wake of what the media has misrepresented as the “Facebook data breach” by the British Firm Cambridge Analytica, Facebook has lost users, lost high-profile company pages, and most importantly to them, lost value.

The #DeleteFacebook hash tag’s popularity has hockey-sticked as have Google queries for the search term delete facebook. The torches and pitchforks are out. The townsfolk are angry. And they should be.

We Have a Right to be Angry

But our anger shouldn’t be entirely aimed at the dorky billionaire possibly cloistered away at his private Hawaiian beach. If you need to blame someone for violating your privacy, you should start by blaming yourself.

I have no love for Facebook.  Or social media in general. I encourage you to delete your Facebook simply to regain control of your schedule and mental well-being.  But it won’t solve this problem because Facebook is a symptom, not a cause.

I’m aware my opinion isn’t popular. So let me explain.

What Did the Trump Campaign Do?

During the 2016 presidential election, the Trump campaign hired a British firm called Cambridge Analytica to manage their online campaigning. The campaign tasked the firm with building a useful voter database and using it to change hearts and minds. This strategy is not the stuff of scandal. For better or worse, this is the life-blood of modern American political campaigns.

Do you remember the movie Inception? It’s like that. But instead of implanting thoughts in our heads with futuristic dream travel technology, they do it with ads so targeted to our headspace that we think their idea and the resulting change in our behavior were ours all along.

Summary: The Trump campaign collected detailed profile data on voters that most believed was private. They leveraged this data to develop microtargeted campaign messaging that was often untruthful, with the goal of playing to the voters’ owns hopes and fears to swing their vote. This is common. But this is not OK.

What Did Cambridge Analytica Do?

Cambridge Analytica developed a Facebook personality test app that tens of thousands of users installed and shared.  When the app was installed it requested permissions to read information about the user’s connections (“friends”) and their demographic data. Facebook essentially allowed users to permit apps to read their friend’s profiles.

On its surface, the app did what it claimed to do.  But behind the scenes, the app was used to data mine demographic information on millions of Americans.

Cambridge Analytica claims that by using data mining and microtargeting, they can zero in on the needs of specific voting blocs and deliver ads that can change voting behavior. A former employee leaked their blueprint for winning the presidency.  Spoiler Alert: he won. They helped.

Summary: Cambridge Analytica developed a Facebook platform application that did one innocuous thing on its surface, but behind the scenes gave Cambridge Analytica access to detailed profile information for both the users and the user’s Facebook friends.  The app took advantage of the fact that very few people paid attention to app permissions and did what so many free online services do: offer something useful in exchange for data. It’s common. But it’s not OK. (More on this later.)

What Did Facebook Do?

Not much.

I don’t mean that Facebook didn’t play a pivotal role in this fiasco.  Inaction was their choice, and inaction turned this from a design flaw into a scandal.

Facebook required users to authorize permissions when they installed the app manually.  But once a user gave Facebook apps permissions, they didn’t concern themselves with how they used it. Former employees have claimed that it was Facebook’s internal policy to not look at how the data was used because then they’d be responsible for what they found.

Summary: Facebook developed a social platform and allowed third-party programmers to build apps on it. Facebook’s platform required apps to ask for permissions.  But the permissions were far too broad and could be used to read profile data on users other than the one using the app. In Facebook’s business model user data is the product they sell. Looking too closely into how that data gets used would jeopardize their business. Their business model does not incentivize privacy.  This is how the Internet’s “Free Economy” works. There is nothing OK about it.

What Did Do?

“What did I do to cause this?” is the question nobody is asking.  But it’s the most important.

The Trump campaign hired Cambridge Analytica to mine private data and use it to change behavior. Cambridge Analytica built an app to harvest data by taking advantage of Facebook’s overly permissive app platform, and the psychological fact that users are terrible at reading and understanding terms and permissions. Facebook built a platform that’s free to use but sells our data and sells moments of our lives (“engagement”) to advertisers.

But there’s one thing that’s required for all their plans to come together: they need you to play along.

You signed up for Facebook.

You installed the app.

You neglected to read the fine print.

You gave the app permission to harvest your data.

You gave the app permission to harvest your friends’ data.

You neglected to read Facebook’s terms and signed up anyway.

You agreed to let Facebook sell moments of your life by way of engagement with targeted ads the moment you signed up.

You agreed with the message of the ads because they confirmed your existing beliefs rather than challenge them.

You didn’t fact-check the message because that takes time and could challenge your existing beliefs.

You helped the message spread because it confirmed your existing beliefs.

You decided, explicitly or not, that all this was better than paying for whatever value you think you’re getting from Facebook.

It’s Time to Rethink the Internet Economy

The behavior of the Trump Campaign, Cambridge Analytica, and Facebook is the rule. It is not the exception.

If it weren’t Donald Trump, it would be his opponent. Cambridge Analytica’s programmer is hardly the first coder to build disingenuous software. Except for the open source movement, that’s the free software model. Facebook isn’t doing anything with its data that other social networks wouldn’t do as well, or have done in the past.

And it’s all because we expect the Internet to be free.

Ideas mature. They get reconciled with reality.  They get old. They sell out. My punk-rock high school friends work at banks now. Rock & roll lost its edge and became a commodity. And the Internet isn’t pirated games, and it isn’t Napster anymore.

But it’s built by folks who cut their teeth on it. And now they have kids to feed.

You, me, and billions of others decided we like free so much that we’re willing to sell out our friends, our privacy, our democracy, and even our thought processes in exchange for free service.  We barely consider what those services are, and if they make our lives better.

We need to have a conversation about the real price of free service, and whether it’s worth the social cost.

 

Install the PHP SQLSRV Driver on Linux

Rejoice! Microsoft actually does provide a PHP Linux driver for Microsoft SQL Server. The bad news is, it can be a real pain to get it working.  I went through this experience tonight while setting up a utility I wrote for a client. I ran into two separate issues. This article provides some assistance with the issues I ran into when I tried to Install the PHP SQLSRV driver on Linux.

How to Install PHP SQLSRV Driver on Linux

The instructions in the repository’s readme.md are actually pretty good. Check out the official Github repository for the driver for the latest version and installation information. I recommend you follow their instructions first. When you hit a roadblock, come back to this article for help.

PECL Building with Wrong PHP Version

The final step in the installation is installing the base driver and the PDO variant withpecl install. PECL runs a build process on your machine and it uses a tool called phpize to execute the build. The version of this tool needs to match your PHP version. Otherwise, the build will succeed, but the extension file it generates won’t be compatible with the version of PHP you’re running. You’ll know pretty quickly if this is the case if you get “can’t load extension” errors after you build and execute PHP.

To solve the problem, install the version of phpize that matches your PHP version. For example, if you are running PHP 7.1, you would run:

sudo apt-get install phpize7.1

Microsoft ODBC Client is Missing

After I fixed the problem above, I ran my PHP script and the database connection failed. The PDO SQL Server driver reported an error message that it could not execute because it required the Microsoft ODBC Client. Installing the client is actually part of the steps in the instructions provided on Github. But for me, the installation failed and I didn’t notice. I went back and repeated this step and found that there was a missing dependency that would not install. Once I manually installed it and re-ran the client installation steps, then the PDO driver started working.

The Github repository below contains the official drivers from Microsoft. Check out the repository for the latest version information and installation instructions.