Update a WordPress password with wp-cli

If you develop with WordPress and are handy on the command line, I highly recommend installing and using WP-CLI. https://developer.wordpress.org/cli/commands/

To update a user’s password on the command line:

Change directory to the root of your WordPress site.

cd <filepath>

wp user update <user> —-user_pass=<pass>

Where <user> is the email address of the user and <pass> is a cleartext password that will be encoded and stored for the user.

Back up your iOS Day

Today is backup your iOS (device) day around our house. 

In preparation for the release of iOS11 tomorrow I’ve backed up my iPhone and made sure I had the latest OS installed (I did).

Why today? Why back it up?

I do it today because quite frankly a new OS drop is a good reminder to do what I should do more frequently anyway. I’m not going to write a <soapbox> about why you should back up your phone </soapbox>. I back up mine frequently and if I hadn’t learned on my own, I would have learned on behalf of my family and friends who have come to me asking about what happened.

I will tell you a secret though…

An iCloud backup does not contain your passwords, Health and HomeKit data. What this means is if you do a back up of your phone to iCloud and use the backup on a new device (or a newly wiped device) —when you go to restore it, your health information as well as the rest of the data mentioned above will not be restored to your new(ish) device.

I used to back up to iCloud exclusively thinking this was the best way… the Apple way. It’s not. The best way is to back up your iPhone to your computer with an encrypted backup. I didn’t so much care about my passwords, but not having my meticulously tracked health data on my new phone was sad indeed.

Have a look at this iTunes screen capture below and note how Apple makes it clear if one only pays attention.

Your domain, your business

As an Internet consultant to small businesses, the first thing I always recommend is to register a domain name. Hopefully that no longer needs to even be said, but even so I often see businesses that are not using their domain to its fullest potential.

If you have a small business it is a must to get a domain for it.  Your domain name is a part of your brand and is the number one method that people will communicate with you on the Internet. Your domain should be a part of your business cards and marketing by using your email, not gmail. I’m not dinging Gmail (Google) at all, they offers a great service and I highly recommend it, but why have anyone remember youremail@gmail.com when you can use youremail@yourbusinessdomain.com?  Let me show you, it will only cost around 3 cents per day for a .com.

Register the domain

When I started working in the Internet industry, domains were $35 per year and they had to be registered for a minimum of 2 years. Now though, the market has changed and they are much less expensive. At around $10 per year, the benefits of registering your domain name heavily outweigh the cost.

A domain name is not really owned, it is more like leasing. It is important to understand that the lease must be renewed each period. To continue the home analogy, a registrar is like a domain landlord. They charge a fee to lease the domain for a specific period of years. They often provide a discount for registering (leasing) the domain for more than one year. On behalf of clients, I have worked with many of the largest domain vendors since Network Solutions lost the right to manage them all. GoDaddy, Yahoo, MelbourneIT, Namepal you name it – I’ve been on hold with them. All of my domains are now registered through Namecheap. While they may not actually be the cheapest one, they provide the best value and customer service. I have managed hundreds of domains and Namecheap is hands down my favorite registrar. Since I am a developer and registrant of domain names myself, it just makes sense for me to be an affiliate. If you end up buying through my links it will put a little credit in my own Namecheap account. Feel free to just go there directly instead of using the link and use the tutorial below to route your email.

Registering a domain name is pretty simple. Follow the link… see big search box… enter the domain name you wish to register. Do not be surprised if you have to go through a few of your domain options. You have compiled a list of potential names right? Just try until you get one that is available. Get creative, but not crazy. Hopefully you’ll get lucky right away.

When you find the name you want, add it to your cart and check out. Create an account, fill in your credit card and yes, go ahead and take the free WhoisGuard they offer. Once the transaction is completed you will get an email showing your domain registration. At this point you should be logged in, if not go ahead and log into your new account and choose Domains from the left navigation to see a screen similar to below.

Your newly registered domain should be listed in the screen with a expiration date based on how many years you registered for during the process as shown above. The next thing you should do is route the email yourname@yourdomain.com to your real address (at gmail or wherever).

Click the MANAGE button on the bottom right of your domain list, then scroll down to see section labeled Redirect Email as shown below.

Click Add Forwarder to active the form. Next, in the Alias box, enter only the first part of the email you wish to use (the user in user@domain.com). In the Forward To box enter your real email address that you use to receive your email at.

Don’t forget to click the green checkbox at the end of the line to save it. Then be sure to send an email to the address to test it before you call it complete.

That’s it, add as many as you want and send them to different locations: sales@, accounting@, billing@ the sky is the limit. Send them to separate addresses or all to the same – You are in control.

Enjoy dropping your phone in the toilet ;)

My youngest daughter dropped her phone in a public toilet last weekend. After emerging from the restroom and explaining her plight, we ran through the store in search of a bag of rice and then rushed to the customer service desk. After paying, I ripped the plastic off at the top, poured out some of the contents into a waiting trash receptacle and then inserted the phone into the rest of the rice in the bag.

The cashier just stood there watching, stunned. Crisis averted for the moment, but after a quick swim like that, any phone is a ticking time bomb, ready to go off… literally and permanently.

At home now, my wife to the rescue again, she gets online with AT&T and tells me that someone will be coming to our house to hand deliver a replacement phone and help set it up.

Now it was my turn to be stunned. I looked at her and said something really deep like “Um, what?”

She shrugged her shoulders and said that this was a free service and that someone would contact her by 7pm and be at our house no later than 8pm. Well, it was now about 4:30 on a Sunday and I was still skeptical even after the technician texted a few minutes later and let us know he would be there at 7pm.

Dinner completed, my daughter anxiously waited the arrival of her new phone signaled by a knock on the front door.

Sure enough, JC was here, an employee of Enjoy and representative of AT&T at our home to unbox and set up the phone. As long time Apple users, we had already backed up the original, still working phone. From there it was just turn on the phone, run through the set up and activate it. Most of the time spent was with me asking questions about the business model. How the relationship between the two companies was going and chatting about technology in general. Within 30 minutes we were saying goodbye to JC. Leaving me still shocked by the service I had just received from a company whose retail offices I had previously spent many hours in, waiting for someone to help me.

AT&T, partnering with Enjoy was a great decision from the customer experience point of view. Thanks.

I fell in love in a job interview

Or more specifically, I fell in love with a platform when I applied for a job at Pantheon.io.

So not really a person and it was more geek-love than anything else, so that’s why I’m sharing it here.

WordPress

No, I didn’t fall in love with WordPress just now, but we’ve had a great relationship for quite a while. Along the way we’ve had our ups and our downs, but our relationship has been mostly positive. WordPress has been a fantastic platform for freelancers and for small businesses alike. On a smaller scale, WordPress has worked very well, but it has not always had a workflow that was ideal for larger scale development in business.

Why?

Trust and Risk as the business grows.

Once a WordPress website is live with whatever custom plugins and theme were required to meet the business need, it must be treated as a “production” environment.

Do you trust your team to develop new code on the live website? Would it be worth the risk if the site went down?

If the answer is no, and it should be, then you need a development environment and you should probably have a test environment as well.

Integrated Development, Testing and Production WordPress Environments

Why you should care about this depends on what your personal role is within the business…

CEO

Worrying about your website is something you don’t want to do.

Unless you’ve put someone else in charge of this headache, then you are worrying about it yourself.

What kind of a CEO are you?

If you are the CEO of a startup, then you may have already experienced these pains. Especially if you are doing-it-all-yourself.

You’ve got your WordPress website live, but you need to make changes – perhaps a new plugin for sales? These days, you no longer have the time to do it yourself. You don’t really want to give out your production password to just anyone either, but if you don’t then you have to figure out how to get the new code installed.

Either path is really no good. You wish there was a way to give them a password to a dev site, then look at it almost as if it were live, then push it to production yourself.

If this is you, then this platform is something that you should investigate for yourself.

Are you a CEO that is over all that? Have you passed those sleepless nights to someone else? Congratulations. Seriously.

Don’t bother reading any more, just pass this information to that team and they will thank you for it.

Developer

Developers will love the versatility it offers with multiple methods for them to connect and contribute to the project.

What kind of developer are you?

Do you just want to connect via SFTP and upload files?

Just want to set up your editor and have it connect seamlessly?

Do you want to just upload the files and see the changes directly on the development server?

Are you a polished professional accustomed to using Git?

Do you want to use git and connect to a private repo, make changes locally, git push and have an already configured continuous integration service promote the code to the dev site?

Do you need to move the modified code to an up-to-date test environment based on the production site content to have internal stakeholders approve the changes?

Once you are ready for it to go live, do you have a strategy in place to move the new code to production while maintaining the content on your site?

Are you multi-hat-wearing polyglot technologist?

Sometimes you are the one in charge of everything. A lot of your time may be spent manually creating and destroying sites to try them out yourself or to pass off to another team member.

If you’ve done it once it might have been fun, but if you’ve done it twice you’ve thought about scripting at least part of it because who likes to do this mindless stuff and waste time that could have been spent on more worthwhile projects?

Oh, and would you also like a log of every single thing that changed along the way with git diffs, commit messages and the like? Including the auto generated moves between environments? Something with traceability?

Quality Assurance

As a QA stakeholder of a WordPress site, wouldn’t it be useful to easily test the latest WordPress upgrade on a test site before pushing it to production?

It’s usually such a hassle to create a test site and really know that the site will look and act correctly without testing at it in an almost-production environment.

Do you cringe when you hear that there is going to be a new WordPress theme or plugin that you have to test before it goes out?

Wouldn’t it be great if you could personally clear the cache on the test and production sites to be sure that the problem you are seeing isn’t related to cache? Of course you would.

Operations

Operations loves great SaaS offerings. They are usually easy to predict and manage. This one stands alone at the top of the class.

Breaking down a professional development workflow for non-developers can be a daunting task. Putting it all into an understandable UI that allows non-developers to manage part of that workflow is an accomplishment beyond compare.

With minimal training an operations team could manage everything necessary to work with an outside WordPress vendor. Create their account, give them the documentation link and send them on their way to code for you.

Forgot to Mentions

  • What if all of that and more was built into a SaaS offering that was easy to use?
  • What if it was possible to set up and manage a multi-dev environment so easily that it was only a footnote in this article?
  • What if you also had a speedy CDN to make your WordPress site load faster for the end user?
  • What if you only paid for what was in production and it may cost less than you are paying now to host a WordPress only server?

What if I told you that there where many, many, many features I didn’t cover?

  • Like all of this is also available for Drupal sites too
  • SSL
  • New Relic monitoring
  • Great documentation
  • Agency pricing
  • Don’t forget free dev and test sites, so you really can try it out before you spend anything.


Just so you know, I was serious when I said that I was investigating service offerings from Pantheon.io when I applied for a job there.

I’ve been in the Internet industry for more than 20 years. I knew I would write this unsolicited article after less than 20 minutes with the software.

In that first 20 minutes I was able to spin up dev and test WordPress sites, use my IDE to create a local copy, create a new theme stub and git push it. Pantheon.io rebuilt the dev site based on my changes and, using the UI, I pushed it to the test site where I could confirm the new theme was available to select in admin.

~ Brian

How to change your byline text in WordPress

Many WordPress themes show the author of a post in a byline format just below the article title. If this is the case for your theme, you will likely want to change the default formatting of the author’s name. The default format is to use the login of the author, which is not as user friendly as might be desired. You might prefer to use First Last for your blog, or even a Nickname.

For themes that support the change (most of them) this is very easily handled directly from the individual user profile.

  1. Log into your WordPress instance
  2. From the left hand Dashboard menu choose Users
  3. Edit the user that needs formatting
  4. Scroll to Display name publicly as
  5. Select an available name format option
  6. Click Update Profile

Note: The formats available are combinations of the username, first name, last name and nickname. These fields must be filled in for all of the formatting options to be available.

How to enable right-mouse click on your Mac

For many, the learning curve to go from PC to Mac is an easy one… and for others tiny little differences add up to quick frustration.

Take the right-mouse click motion that is very much a standard for every PC user. The default configuration for OSX does not enable the right-mouse click which means the transitioning user is continually clicking on the right side of their mouse and not getting the intended response.

Now, it may seem a little strange right-mouse clicking on an input device that has no visible right and left buttons to it, but make this configuration change and you will be greatly rewarded.

  1. Choose System Preferences… from the Apple Menu (top left icon on any screen with a visible menu)
  2. Under the row labeled Hardware, click Mouse
  3. Enable Secondary Click by selecting the checkbox next to the option
  4. Click on right side should be now set as the default (although you can change it to left if you prefer)
  5. Close your System Preferences window

 



Get to know your geek!

4 questions to ask a geek, designed to expose their level of geekiness

Mac or PC?

Ask this question in a room full of geeks to start anything from a passionate conversation to an all out war. This is undoubtedly the most well known debate in the computer industry. Both camps are equally vocal about which is the best. Bonus geek points to the first person to ask why Linux isn’t included in the choice.

iOS or Android?

A close second to the above question is the mobile OS of choice. Those who answered Apple to the previous question will frequently (but not always) answer iOS to this one citing many of the same reasons.  Stir the pot by asking about version fragmentation.

Tabs or Spaces?

An opinion on this question will expose the programmers among the crowd. Only professional coders will have a reason to back up their preference. Extra points for the geek who compares readability to compilation time.

PHP or Python?

Another question for the web developers, in this case primarily the back-end folks. To the front end developers who take exception to this categorization… are you sure you are not in-fact closer to full stack?

Be sure and ask these fun and leading questions if the room hasn’t already erupted into chaos!

  • Star Wars or Star Trek?
  • jQuery or Prototype?
  • Google or Amazon?
  • Git or SVN?
  • Lord of the Rings or Game of Thrones?
  • Closed or Open Source?
  • Box or Dropbox?
  • Kirk or Picard?
  • IDE or vim?
  • Wizard or Dungeon Master?

 

 

DNS for the Small Business Owner

The following loosely describes the steps that your browser takes to display a website from the point that you type it in to the point that a web page displays.

The target audience of this article is the small business operator who needs to understand a little more than the basics to best manage his or her business website. There are steps here that have been simplified for brevity.

Broadly DNS (typically domain name services) can be thought of as the service that relates a domain name to a specific computer on a network identifying themselves with an Internet Protocol address (IP address).

The Hosts File

The first thing that happens is your browser checks to see if anything explicit has been set for this domain in your local hosts file. This file is found in a different location depending on your computer’s operating system, they use the same format in the text file. This file should not be edited unless you are a developer or computer geek that knows more about DNS than written in this article.

The file format is to have an IP address followed by one or more spaces, then a domain followed by a newline (i.e. carriage return).

e.g.:

192.168.50.100     yourdomain.com

If the domain is found in this file, the browser connects to the server with that IP address. If not, it takes the next step.

Local DNS cache

Your computer keeps track of frequently visited sites in a local database referred to as your computer’s DNS cache. The browser checks this database just like the hosts file looking for a domain to IP relationship. If an entry for the domain is found, the browser connects to the server with that IP address. If not, it takes the next step.

Local Network DNS

Your local network may also keep track of frequently visited sites. This frequently occurs within large corporate networks, but can also happen in home networks depending on a number of factors. Your browser connects to your router looking for the DNS information.

In a home network, this can be your wi-fi router or your cable modem. In any event the router will either tell your browser the IP address, or it will give an IP address of another server that may know.

Domain Name Servers

Every valid domain registration requires a primary and secondary domain name server association. These are the servers that are responsible for knowing which server is handling your specific domain.

Once your browser leaves your local network, the question changes from what IP address is handling this domain to what are the servers that know what IP address is handling your domain.

Local ISP DNS and Beyond

The Internet consists of many servers keeping track of domain to IP relationships. They keep the information using various methods and for varying lengths of times. Describing each variable is out of scope here, but ultimately they check with one another until the IP of the domain is found or the domain name servers for the specific domain are contacted. These servers are the final authority on which IP address is handling the domain name. In fact, for the most part, these servers are also know about all the sub domains as well (www.domain.com, mail.domain.com, ftp.domain.com, etc.) Note that it is possible for all of these sub domains to be routed to a different IP address.

Web Server Routing and Virtual Servers

Once your browser has the destination IP, it connects to the web server. Depending on the configuration of the server, it may be processing requests for more than one domain. When a web server is handling multiple websites using one IP address it is commonly referred to as a virtual server (or virtual host). The server is responsible for serving the correct website for the specific domain your browser has requested.

Outlook Overload (Pt. 2)

Too Many Emails!

In part two of Outlook Overload we look at the Inbox. Whether you are a believer in Inbox Zero or not, if you work in tech today you will spend more time than you really wish to managing your incoming email. The following bullet points were also created as part of an online reference at my previous assignment. With the permission of my previous employer, I share them here with you. The two parts together formed a wiki document to reference when bringing people in or when either meetings or emails started to get out of hand.

Do:

  • Do be sure to specify the recipient in the opening of the email if you are responding to a particular party and especially if you are looking for a response from that party. Received emails that don’t seem to be to anyone in particular may not be answered because every party assumes that it is addressed to someone else.
  • Do use the To, and CC fields properly to indicate why a recipient is receiving the email. Generally if someone is in the To field, they are expected to actively participate in the thread through replies, etc. If someone is listed only in the CC it is for general knowledge and information sharing, not action taking.
  • Do ask to have a Jira* ticket created when someone starts an email thread about an issue or problem that would normally have a ticket in Jira for handling.
  • Do look to see if you are being asked to respond directly to the email or if there is an action item that you need to follow up on.
  • Do ensure that you use the subject line to convey the subject of the email.
  • Do change the subject line if a thread changes to a different topic – or better yet, start a new thread if the topic is email worthy.
  • Do re-read your email before you send it to ensure that it is grammatically correct and error free.
  • Do be sure that your signature line has all of your contact information.
  • Do add “FYI” to the top of an email when you are forwarding it to someone else just for their general knowledge.

Don’t:

  • Don’t reply to an email without starting the email with the person’s name to whom you are addressing the email; or starting with “All”, “Team”, etc. when sending to multiple persons.
  • Don’t assume that you will get a direct response if it isn’t clear to whom you are seeking a response from.
  • Don’t assume that just because someone was cc’d on an email that they are following the whole topic thread and are up to date on all of the details.

 

Pay it forward!

Following these guidelines will only help so much, I recommend a judicious amount of categorizing and filtering too. The success of these guidelines can only be truly felt when each team member buys into the change in the way they schedule meetings and send email – the more people follow, the greater the benefit.

Outlook Overload Part 1

Also be sure to check out this handy and fun “Should I send this email” infographic from the folks at OnlineITDegree.net.

 

__________

Footnote:

*Jira is an popular issue tracking tool often used for tracking defects in software. This may not apply to every reader, but it was an important factor in our process flow.