WordPress Support Forums Add @mentions with Auto-complete

The WordPress Support forums have been updated to include Twitter/GitHub style auto-completion for usernames. As users begin typing @username in the forum’s TinyMCE editor, it will begin to suggest usernames, narrowed further by characters typed. Hitting tab or enter will complete the username and link it to the user’s profiles.wordpress.org page. This will trigger a notification for the user.

A similar feature was implemented on WordPress trac three years ago. This initial version of @mention auto-complete for the support forums works in a similar way in that it completes a partial search query from a known set of usernames. In this case it only includes thread participants. In order to make the auto-complete scale for WordPress.org’s 10+ million registered users, it does not perform site-wide username lookups or include moderators, plugin reps, or theme reps who have not yet commented on the thread.

The @mentions have been implemented across all WordPress.org forums. Any issues with the feature can be reported on trac by re-opening the original ticket or creating a new one. Daniel Iser commented on the ticket that he is working on getting this feature working for bbPress during the first half of this year.

How to Import / Export Your WordPress Gutenberg Blocks (2 Steps)

Did you know that the new WordPress block editor aka Gutenberg allows you to save your custom content blocks and export them to use on your other WordPress sites.

This little-known feature is extremely useful and can you save you a lot of time specially if you’re building websites for clients.

In this article, we’ll show you how to easily export your WordPress Gutenberg blocks and import them to use on other sites.

How to export your Gutenberg blocks

Reusable Gutenberg Blocks 101

Gutenberg is a fully block-based WordPress editor where every piece of content you add is a block.

You can customize each individual block styles and re-use it to quickly create content in the future.

These re-usable blocks are extremely helpful for adding call-to-action buttons, feedback forms, banner ads, etc.

We created a step by step guide on how to create a reusable block in WordPress.

Giving a name to reusable block

What a lot of users don’t know is that you can actually export these re-usable blocks to use on your other sites, client websites, and technically you can even sell them if you want to.

Let’s take a look at how to export Gutenberg blocks to use on other sites.

Exporting Your WordPress Gutenberg Blocks to Use on Other Sites

WordPress’ reusable blocks are not just restricted for the website they’re created on. You can easily export them to use on any other WordPress site.

First, you’ll need to open the block management page. You can navigate to that page by clicking the Manage All Reusable Blocks link inside the Reusable tab in your content editor.

Manage all reusable blocks in Gutenberg

Once you’re on the block management page, you can edit, delete, export, and import your WordPress Gutenberg blocks.

Gutenberg reusable blocks management page

Step 1. Export Your Gutenberg Block

To export your Gutenberg block, you simply need to click the Export as JSON option below the block.

Export your WordPress block as JSON file

Next, your block will be downloaded to your computer as a JSON file. Now, you can upload this JSON to any other WordPress site and use the block.

Gutenberg block downloaded

Step 2. Import Your Gutenberg Block

You need to log into the other WordPress site and go to its block management screen. You’ll see an Import from JSON button at the top.

Click Import from JSON in Gutenberg

Go ahead and click on that button to import.

Next, you’ll see a file upload box. You need to click on the Choose File button and select the block JSON file you downloaded earlier.

Choose file to import block in Gutenberg

After it’s uploaded, you’ll see an Import option. Simply click on that to proceed.

Import WordPress Gutenberg block

WordPress will now import your new reusable block and save it in the database. Once done, you can use it on your new WordPress site like you would any other block.

Gutenberg block imported

We hope this article helped you learn how to export your WordPress Gutenberg blocks to use on other sites. You may also want to see our list of the must have WordPress plugins for all websites.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Import / Export Your WordPress Gutenberg Blocks (2 Steps) appeared first on WPBeginner.

Life after WordPress

It’s been three months since I made the switch from WordPress to a custom system for my blog. This was one of the toughest and scariest changes I’ve made in the 15+ years I’ve been running this site. What if I break things? What if I’ve wasted all this time for nothing? What if the WP community that I’m very much a part of views this decision as a betrayal of sorts?

I’m happy to report that I’m in a better place now.

For the vast majority of the years I’ve been blogging, I relied on WordPress to always be there and working. It held onto memories from nearly half of my life, like old journals packed into a cardboard box in the back of the closet.

In many ways, I was too reliant on it. WordPress was a drug that I no longer enjoyed but kept using because I depended on it. I believe stepping away has made me a better blogger and a better developer.

More blogging

I’ve written 31 posts since the changeover, more than I’d written in the prior three years altogether. I could’ve certainly been a more prolific blogger on WordPress or any platform. However, I needed that extra push, that rush of excitement with something new, something that got down to the roots of what it is to blog, to force me back into a habit of writing.

Completing National Novel Writing Month in November certainly helped me write more. During that time, I was pushing out nearly 2,000 words every day. More than anything, that challenge helped me focus on the task at hand while tuning out distractions.

Mostly, I wanted to write more. I needed an outlet for my thoughts. And, WordPress wasn’t that for me.

I’ve been writing in a Markdown editor for several years now (currently Atom). Even my first blog posts ever written were in Notepad for Windows and uploaded to a basic HTML site. I’ve never taken to visual editors or even programs like Microsoft Office. Even while typing, I wanted an experience that’s as close to pen and paper as I can get.

Removing WordPress from the equation has been like taking out the middleman. In the past, I’d write a post, copy/paste it into WordPress, edit any metadata, and publish. Now, I write and edit metadata in a single file. Then, I simply upload and the post is available to the world.

The publishing process is less of a chore for me, which has helped me focus more on the writing aspect.

Faster page loads

My Web site is actually pretty fast, much faster than before. I think most pages on the site now get an “A” performance grade from Pingdom. And, that’s on a cheap hosting package.

In the past, it was a constant battle to disable useless stuff that WordPress adds. Emoji images come to mind (especially when nearly all of my users can see these 🤪 symbols natively). And, I know the new Gutenberg editor auto-adds a big stylesheet on the front end. Not to mention, I’d have to disable stuff from plugins. At a certain point, disabling things became tiring.

Everything on the site is now something that I personally chose to add. Any performance issues are generally of my own making.

With a faster Web site, I don’t have to worry quite as much about adding a large image for fun once in a while. It’s not having to compete with too many other resources. If anything’s slowing me down, it’s Google Analytics, which I begrudgingly kept for the time being.

Admittedly, most of the speed issues could’ve been solved while still using WordPress. However, working from a blank slate rather than having to “fix” things within an existing system has made the process much easier.

Growing as a developer

One of the things that makes WordPress so great is the vast wealth of knowledge freely available on the Web. If you need to figure out how to do something, chances are that someone had the same need first and shared the solution.

When you step into the world of building a custom platform for your Web site, it can feel a bit like trekking through the great unknown. What I’ve learned is that it’s not so scary. The WordPress community is vast, but the overall PHP community is much larger. While I have relied on my own skillset to solve new problems, I’ve been able to lean on the untold numbers of those who’ve come before me.

There’s a certain romanticism to taking this journey. I’ve fallen in love with PHP coding once again, after a string of years where our relationship suffered some bumps and bruises. As a developer, it’s important to broaden my skillset beyond simply writing code for WordPress. And, it’s important to bring what I’ve learned back into my plugin and theme work.

What I miss

My favorite WordPress feature is the ability to quickly drag and drop an image into a post. Even while I wrote blog posts in the past in Markdown, I always used the WordPress media feature to add in my images. WordPress has fairly robust media handling.

However, I quickly adapted. Truth be told, Markdown syntax handles 99% of my image needs. It’s the missing WordPress [gallery] shortcode that will likely give me a headache the next time I want to roll out a gallery. I’m not sure how I’ll handle that in the future, but I don’t post a lot of galleries either.

The second feature that held me back for so long was having a native commenting system. I still feel strongly about my reasons for disabling comments. But, some days, it was nice to strike up a discussion with someone over a post that I wrote. I’m having a few withdrawal symptoms, but I still feel like it was the best decision.

The third and final thing I miss is the ability to quickly fix a mistake I notice when browsing the site on my phone. Because I’ve yet to build an admin interface, opting to do everything offline, I must be on my computer to make quick changes. It’s a minor annoyance once in a while but not enough to get me to build out an admin interface.

What’s in store for the future

I don’t see myself going back anytime soon. I’m having fun and am enjoying the current platform that I’m building.

If anything, I might continue fleshing out the code so that it can be used by others. I’m not in a hurry to do that, but I suspect I’ll turn the project into a public repository at some point this year. Maybe others can build something cool on top of it (I’d really love to see a Vue.js-based admin interface, for example).

I’ll also continue bringing techniques that I learn along the way into my WordPress plugin and theme projects at Theme Hybrid. I’m excited about one of the plugins that I’m working on and am eager to make it public.

Bird Box

Cover of the Bird Box novel with a blindfolded woman.

It’s hard to avoid the Bird Box craze these days. Ever since Netflix dropped its new movie based on the book by Josh Malerman, memes of a blindfolded Sandra Bullock have taken over my social networking feeds. People (in the real world) are even taking a challenge by getting into their cars and driving blind on public roads.

Thrillers are not my typical fair. I like them in small doses and far between. But, Amazon had a sale. The book was cheap. And, folks seem to love the book. So, I was game. I needed a breather between heavy doses of epic fantasy anyway.

Malerman did not disappoint. I spent part of Saturday night wading through the back yard with my high-beam flashlight as I gathered the remaining cats for bedtime. With each step, I almost felt something move out of the corner of my eye. I’m fairly certain I scanned every inch of the yard for some critter. In my mind, it was one of the local possums searching for food, but I had to be sure. The thing that plagued me was that I never saw a possum. Or anything. That’s what made the book so good. It’s the unknown, the unseen that’s frightening.

Note to self: bring all the cats in for the night before reading thriller/horror books.

The story follows a woman named Malorie as the world experiences an apocalyptic event. Something is causing people to go crazy and commit suicide. All they really know is that it happens when people see something, creating a society of people who board up their homes and only go outside blindfolded. And, Malorie learns that she is pregnant when events first unfold.

The premise for the novel is genius. Not having the ability to see makes every decision more frightening. Simple things like going to the well to draw water or scavenge for canned food become all the more difficult. Will this be the day that I “see something” and kill myself?

The present day plot of the novel follows Malorie and two children, each four years old, as she takes them on a blind boat ride down a river. As they travel into the unknown, to some place that may possibly be their salvation, we get flashbacks of the previous years of her life. We see her grow from a woman who needs help to survive into someone who must face her fears and take charge for the sake of the children.

One of the things that bothered me the most about the book is that the secondary characters were not as fleshed out as they should’ve been. Aside from a few bits and pieces about Tom, the de facto leader of a group Malorie joins, we never learn much about what drives these people outside of survival. And, when you stay with a group for any length of time, you’d think you’d learn more about their backgrounds. Perhaps this is a good thing in some ways because the book was focused on maintaining a mood surrounding the unknown throughout.

The second issue I had was the wrap-up. Without getting into spoilers, I just wanted to add that I wanted a bit more. I liked how the story played out otherwise.

As a thriller, the writing is as solid as it gets. Malerman kept me on edge throughout the entire read. It won’t change your life or have you questioning the nature of man. But, it’s a nice respite from longer works. Most important, it gave me the jitters for a bit.

⭐⭐⭐⭐/5 stars.

The life-changing magic of sorting books

Bookshelf lined with a little over 100 books.

There’s been a lot of backlash against Marie Kondō and her KonMari method of tidying in the last week or so as the crowd of folks making their way through the program get to Lesson #2: Books.

And, rightfully so. Many of us take our book collections seriously.

I’m an avid believer that we should fill our lives with as many books as possible. I’ve seen homes with stacks and stacks of books coming from the floor because the owner ran out of shelf space. I love it. I’m amazed by it. My mind doesn’t immediately think clutter if it’s books.

I admit that when I was reading the The Life-Changing Magic of Tidying Up, I felt different about books than Kondō did. I wasn’t sure how I’d make it through the process. I failed in my attempt to discard books in 2018. Was this going to be the stopping point in my journey for 2019?

The one point where I vehemently disagree with Kondō is her position that most books will only get read when you first purchase them. While I can see that being true for many, it’s simply not the case for me. I’ll often look through my unread books on a rainy weekend afternoon and start reading something that’s been awaiting its moment to be read. The perfect time to read a book is whenever you pluck it from the shelf and open the first pages. I just read Eragon because I found it during this tidying process.

For some people, many of their books may more appropriately fit into Lesson #5: Sentimental Items. Jumping from what’s typically an easy category like clothes to something near and dear to your heart, like your book collection, can be a daunting process. If parting ways with books will be a huge struggle for you, I’d almost recommend doing it as the last part of the tidying process and skipping ahead to Lesson #3: Papers.

After spending a year with my Kindle, I don’t foresee buying many new physical copies of books unless they are special. This has lightened the load on me.

Still, I struggled with this process. A good 80% of the books I touched sparked some sort of joy within me. I couldn’t just let them go. However, the question I had to ask myself was whether a particular book was something I could see as part of my life going forward.

There were two things that got me through this process:

  1. I wasn’t going to let myself feel bad about anything I wanted to keep, which is in line with the KonMari method.
  2. I broke things down into steps and thoughtfully worked through those steps over the course of the week.

Step 1: Discarding

The easiest way to kick-start this process was to get all my books out. Then, I grabbed a tote. I proceeded with the KonMari method of touching each book and awaiting a spark of joy. If it was something that I didn’t like, it went into the tote.

By the time I was done, I had overfilled my tote with things that I wouldn’t ever read again. Things I wouldn’t lend to a neighbor. And, things that I simply didn’t want to keep on my shelves. Recognizing titles that I absolutely didn’t want was crucial first step.

These books are now ready for donation to Goodwill or the public library.

Step 2: Giving

During the initial process, I also started making several stacks of books that I wasn’t sure about. Many of them I enjoyed. I was in this gray area where I couldn’t see myself letting them go but probably wasn’t going to read again.

So, I made two boxes. One for my sister, which was mostly fiction. One for my dad, which was mostly religious and gardening books. My sister has since gone through her box and took about 90% of them. My dad will get his soon.

This made the act of letting go easier. I may one day have these books returned to me as the family rotates books around. And, if I never see them again, that’s okay. I know they’re going to a good home where they’ll be read, which is the most important thing for a book.

Step 3: Sorting

In the photograph above, there’s a little over 100 books. These are titles that I haven’t read yet, have read but want to read again, or just want to display. The top shelf is devoted to reference books that I can quickly grab when needed.

It’s nice having the things I’m most likely to pick up all in one place. This was the biggest benefit of going through this decluttering process with books. I hated going through unpacked boxes attempting to find something. And, yes, it’s been several years since I’ve moved without unpacking some stuff.

The rest of my books are on other shelves or in a box in the closet for the moment. I need to get proper bookshelves at some point in the future.

Final thoughts

While I didn’t do an official count, I kept about half of my books. Probably in the neighborhood of 300. I’m sure there are others with much more massive collections. This was a tough enough job for me.

I feel good about where I’m at. The goal was to tidy my books. To organize them. Keep titles that sparked joy. I’ve accomplished that mission.

WordPress 5.1 to Introduce New White Screen Protection Feature, Beta 1 Now Available for Testing

WordPress 5.0.3 was released this week with more than a dozen fixes related to the block editor. The automatic background update has gone out and 23.2% of sites are currently running on 5.0+, with 47.2% hanging back at 4.9. Meanwhile, work on WordPress 5.1 charges forward and Beta 1 is now available.

One of the projects Matt Mullenweg identified for 2019 was to merge the Site Health Check plugin into core to assist with debugging and encourage “good software hygiene.” The Site Health Check project, formerly called “ServeHappy,” began with the goal of helping users get their sites running on supported versions of PHP but has evolved to include other aspects of site maintenance and debugging.

WordPress 5.1 brings one of the most exciting aspects of the Site Health Check project into core. It introduces a new white screen of death (WSOD) protection feature that catches fatal errors so that users can still log into the admin to attempt to resolve the issue. In the past, non-technical users would have to contact their hosting companies or FTP into their files to try to fix plugin or theme compatibility issues by turning things off.

In preparation for WordPress’ highly anticipated minimum PHP version increase, 5.1 will display a warning and help users upgrade their version of PHP. The minimum will be bumped to 5.6 in April and, depending on feedback, will be bumped again to 7.0 in December 2019.

“This project benefits not just WordPress users, but also the surrounding PHP ecosystem as a whole,” Jenny Wong said in the notes she published from the Site Health Check Project review at WCUS 2018. “Our hope is that this will prompt a lot of PHP updates across the web.”

If you want to take advantage of more features from the Site Health Check plugin, you can install it from WordPress.org and visit the Dashboard > Health Check for a detailed overview of your site. It also has a very handy troubleshooting mode that enables a vanilla WordPress session, where all plugins are disabled, and a default theme is used, but only for your user. This works without disrupting the way the site displays to visitors.

WordPress 5.1 also introduces some updates for developers, including the ability to replace the cron system with a custom cron handler, set a custom location for WP_DEBUG_LOG, a new wp_blogmeta table, and a few other changes. 

WordPress 5.1 is currently slated for release on February 21. The upcoming release is a big step on WordPress’ journey to becoming even more user-friendly. The idea that users will never again be locked out of their sites due to a WSOD is a major enhancement that will greatly improve the way they interact with WordPress’ plugin system. It also makes the prospect of installing new themes and plugins less daunting for non-technical users.

Eragon

Eragon book cover with Saphira, a blue dragon.

I remember when Eragon by Christopher Paolini blew up. I was in college. I remember friends and family telling me I must read this book. They told me it was written by a teenager. They said it was better fantasy than even seasoned authors were writing.

They were wrong.

At 15, most of us were not writing 500+ pages of epic fantasy. I applaud Paolini for his skills at that age. He was well beyond his years. The problem was that Eragon needed an editor who was vicious. A good editor who could look a kid in the eye and tell him what was wrong. Or, good beta readers. If you’re going to jump into the big kids’ pool, you can’t be wearing your floaties when you do.

Eragon is best marketed as a young adult novel. It’s not Tolkien or Martin.

Most readers will love the book if they devoured it at a younger age and it either introduced them to the joy of reading or the world of fantasy. Adults who are a bit more well read will see its many flaws. If I had read it 15 years ago, I may be singing a different tune.

I picked up the book back in college. I’d always intended to read it. But, it got lost in the steady stream of books through the college years. Like most books in my collection, it survived many shelves at the various places I’ve lived. It was packed and re-packed as I moved. And, I finally made a decision to read it as I dusted it off during my tidying journey.

Eragon is standard fantasy. It follows a teen boy named Eragon and his dragon named Saphira. An old man teaches him the ways of becoming a dragon rider, the secrets of a gifted few thought to have died out long ago. There’s nothing particularly groundbreaking. It’s like Star Wars meets Lord of the Rings with a dragon. It’s your classic hero’s journey that crosses vast swathes of land over many months, all culminating in an epic battle in the end.

There’s nothing new under the sun. Yes, I know. I’m okay with rehashing plots from existing fantasy works. What matters is the story. Plot is what happens to the characters. Story is how the characters react and grow because of or in spite of the plot. Aside from Murtagh, one of the secondary characters, no one grows. He was the only character that I was invested in.

The pacing made reading a bit more of a chore than it should’ve been. As is often the case with young writers, Paolini relied too much on describing irrelevant details instead of focusing on the narrative. A good editor would have used her red pen to slash 100-150 pages worth of words from this book. I can read a well-written novel of equal length by a great author, such as Brandon Sanderson, in half the time it took me to sloth through this work.

It was not without its high points. The magic system was well thought out. There were real, physical consequences, which I love far more than magic being available just because. And, the author hit all of the notes he needed to make for a somewhat decent work of high fantasy.

Paolini’s first work proves that he has the chops, the skill necessary to write good fiction. While I haven’t experienced anything more recent of his, I can only hope that he has improved since this first outing.

I just so happened to be in the mood for elves, dwarves, and dragons. That played to Paolini’s advantage. I could forgive a lot of issues for a bit of an adventure, a few days of escapism. So, I’m feeling a generous with my rating today.

⭐⭐⭐/5 stars.

How to Test Your Site for Updating to Gutenberg (WordPress 5.0)

Are you excited to use the new WordPress Gutenberg editor? Officially launched with WordPress 5.0, Gutenberg is the new default content editor for WordPress that allows you create visually stunning content using blocks.

The challenge is that some themes and plugins may not properly support Gutenberg, so updating your website can cause unexpected issues.

In this article, we’ll show you how to test your WordPress site for updating to Gutenberg and WordPress 5.0.

Testing your site for update to Gutenberg and WordPress 5.0

Why Test Your WordPress Site Before Updating to Gutenberg?

WordPress 5.0 brings a totally new way of creating content with a brand new editor called The Block Editor or Gutenberg. It uses blocks which are content elements that you can move around the editor.

New WordPress Block Editor also known as Gutenberg

WordPress 5.0 with Gutenberg editor is indeed a revolutionary improvement to the WordPress platform.

However due to this massive change, some users are reluctant to update their sites right away, fearing that something would not work, or it may break their website.

Gutenberg was developed over a long period with enough time for theme and plugin developers to make their products Gutenberg compatible. All top WordPress plugins are already fully compatible with Gutenberg and most themes would work without a hiccup.

However, to avoid any conflicts you may want to test your site with Gutenberg and WordPress 5.0. This would allow you to find if any of your plugins or theme are incompatible. You can also catch unexpected errors and fix them before updating your live site.

That being said, now let’s go ahead and check how to test your website for updating to Gutenberg or WordPress 5.0 step-by-step.

Step 1: Create a Complete Backup of Your Website

You must always create a complete back of your WordPress website before any major update. Backups protect you against any unfortunate damage that can happen during the update process.

Keeping regular website backups is important even if you aren’t updating your site because they can save you in catastrophic situations like malware attack, hacking, etc.

There are plenty of WordPress backup plugins that you can choose from. We recommend using UpdraftPlus because it allows you to setup automatic backups and store them on a remote location.

Step 2: Test Your Site on Local Server or Staging Site

After you’ve created a complete backup of your website, you are now ready to test your website with WordPress 5.0 and the new Gutenberg editor.

There are two common methods to test new updates without actually affecting your live site.

  1. Test your website on a local server installed on your computer
  2. Test your website on a staging server

Both options allow you to test WordPress 5.0 with the new Gutenberg editor with your existing content, plugin, and themes.

1. Test Your Website on Local Server

Using a local server simply means installing your WordPress site on your personal computer with a software like WAMP or MAMP (for Mac).

In this method, you’ll first move a copy of your live WordPress site to local server using a migration plugin like Duplicator.

Duplicator WordPress plugin

Then on the local site, you can update to WordPress 5.0 and test out all your plugins / themes for compatibility with the new editor.

You can also make changes on the local site and upload it to your live site when you are done.

If you didn’t need to make any changes to the local site, and everything seemed ok, then you can go ahead and update your live site to WordPress 5.0.

2. Test Your Website on Staging Environment

A staging site is a separate development version of your website where you can try out new features.

It’s usually a sub-domain of your site that’s restricted from public access. It’s where you can test new updates, themes, plugins, or use it for all your development. Once you’ve tested everything necessary, you can then upload it to your live site.

Most top WordPress hosting companies offer 1-click staging site installation from your hosting account.

If your site is hosted with Bluehost, then you’ll find an option to create a staging site under the Bluehost menu in your WordPress admin dashboard.

Creating a staging site in Bluehost

You can also create 1-click staging sites on WPEngine and SiteGround. If you are not using any of these hosting companies, then you should ask your host because they may offer this feature.

If your hosting service doesn’t have staging site installation feature, then you can still do it manually on your own. Here’s our step by step tutorial on how to create a staging environment in WordPress.

Step 3: Install the Classic Editor Plugin

The most significant change in WordPress 5.0 is the new Gutenberg editor.

This means that if you were to run into any issues, then it’ll likely be caused by a plugin or theme’s incompatibility with the new editor.

It is also possible that you may not like the new editor.

Luckily, you can update to WordPress 5.0 and still keep the classic WordPress editor.

You can simply disable Gutenberg by installing the Classic Editor plugin on your WordPress site. Doing this will allow you to safely update to WordPress 5.0, while still keeping the classic editor that you’re familiar with.

Switching to the classic editor

Classic Editor is an official WordPress plugin from WordPress core contributors to allow you to switch back to the classic editor. With this plugin, you can hide the Gutenberg editor and create content the same way as before.

If you had to install Classic Editor because a theme or plugin wasn’t working after updating to WordPress 5.0, then you still have work to do.

You need to reach out to the theme or plugin developer and request them to make it compatible with the latest WordPress release.

If you don’t get a positive response, then you need to find an alternative theme or plugin to replace incompatible ones.

Step 4. Things to Do After Updating to Gutenberg in WordPress 5.0+

If you are just starting your first WordPress blog, then you are in luck. You’ll quickly get used to the awesome new block editor which is faster, modern, and incredibly powerful.

On the other hand, if you have been using WordPress for a while, then the new editor is an exciting new experience for you.

Most of us are used to working with the old editor and have setup our workflows around it.

Good news is that you can still do all the things you did in the old editor with Gutenberg, and then some more.

To help you learn new features, we have created a complete Gutenberg tutorial it shows how to use new block editor and create visually stunning content for your site.

We hope this article helped you to learn how to test your WordPress site for updating to Gutenberg or WordPress 5.0. For troubleshooting common errors you may encounter, check out our guide on most common WordPress errors and how to fix them.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Test Your Site for Updating to Gutenberg (WordPress 5.0) appeared first on WPBeginner.

WordPress Governance Project Flagged as Unsanctioned, First Meeting Set for January 15

The WordPress Governance Project is a new community initiative, led by Rachel Cherry and Morten Rand-Hendriksen, that will host its first meeting Tuesday, January 15 2019.

The purpose of the project is to address two objectives:

  1. The governance of the WordPress open source project and its various community components, and
  2. WordPress’ role in the governance of the open web including representation in forums where decisions about the web platform and the Internet are made.

Hendriksen advocated for open governance when he introduced the project at WordCamp US in his presentation, Moving the Web forward with WordPress. He discussed how the decisions made for WordPress’ future affect a large portion the web. The project will first look at WordPress’ internal governance structure and then move into the second aspect of getting WordPress a seat at the table in important discussions affecting the broader web.

Contributors on the project are aiming to propose a governance model for WordPress at or before WordCamp Europe 2019 or the Community Summit, if one is planned for 2019. The group plans to research existing governance models from corporations, government, and the open web community and submit their proposal to WordPress’ current leadership for consideration.

WordPress Governance Project Seeks to Change Leadership Structure, Rand-Hendriksen Says Status Quo is “Not Tenable”

The governance project has piqued the public’s interest but some have found its objectives confusing. It is not clear what actions will be within the realm of possibility with the current benevolent dictator model WordPress has used. Part of the scope of the project is to “propose a leadership and governance model for the WordPress open source project and its communities.”

The idea of governance means different things to audiences across cultures. The second aspect of the project that aims to get WordPress a seat at the table seems more feasible and more likely to be well-received by the project’s leadership. It might make more sense to split up the two objectives into different projects. WordPress’ internal governance and its role in the greater web are very different topics, but the project’s creators seem to view them as inseparable.

Matt Mullenweg hasn’t joined in the Twitter conversation about governance but he did address the topic on a recent Post Status podcast episode.

“When he was talking about open governance, my take was that he was talking about getting WordPress a seat at the table, and discussing these regulation changes and et cetera happening,” Mullenweg said. “I think the example last year was that there was this meeting at 10 Downing Street. Who was there? Was WordPress represented?

“And he started talking about the Web Foundation, and I began thinking, “Wow, WordPress only represents a third of websites, and not even, really. It’s a third of the top 10 million. Another foundation like the Web Foundation actually might be a better vehicle to try to advocate on the open Web as a whole, versus just the people who happen to be using a single CMS.”

When asked more about WordPress’ leadership structure, Mullenweg reviewed the different approaches he has taken with the project. In 2018, the expression of his BDFL-style leadership was manifestly more overt than previous years, which may have influenced or even inspired the creation of the WordPress Governance Project.

“There’s been a lot more leaders, but I would actually argue the point that WordPress has always been sort of my vision being set, or even my direct leadership,” Mullenweg said. “There was a good four or five years there where the leadership structure, because we’ve experimented with lots of different – we don’t call it governance – but essentially leadership structures in WordPress. For a while, we had kind of the … It wasn’t a committee approach, but essentially like the lead developers consensus approach. We did that for a few years.

“Even from the beginning it wasn’t just me. It was me and Mike Little, so it’s never been solo. Then we went to where the release lead was the final decider, including over me, so that was probably, I don’t know, 3.9 to 4.7 maybe, that included overruling me as project lead for what was in the release or not, and that was to try to give a little more autonomy and flexibility to release leads. But the big change was a few years ago I said, ‘Okay, I’m going to take back over core WordPress development,’ and that was to try to make some of these big changes happen. So right now it is much more of a benevolent dictator model, although both of those words are questionable. But, I don’t see that as the permanent forever structure.”

Mullenweg may not be able to sustain this level of involvement in core leadership indefinitely, with all of his other responsibilities at Automattic. He said he is open to WordPress empowering other leaders in the future.

“I’m not saying it always has to be me, but what I want is a strong, opinionated, thoughtful leader setting a bold direction, taking experiments and being willing to fail, comfortable with failure, is I think what you need to create great software,” he said.

Brian DeConinck, a WordPress developer who has recently been a vocal critic of the project’s leadership, called for more transparency around the decision-making process in his initial thoughts on the governance project.

“Matt is the central figure of the WordPress project,” DeConinck said. “He’s been a guiding force since the beginning. Without a doubt, he’s an important and valued member of our community. I don’t imagine governance as a means of usurping him.

“But should there be a single human face at the head of a project and a community at this scale? When people are critical of decision-making, having Matt at the center makes it easy to make criticism needlessly personal. This dynamic is hard on Matt and others in the project leadership, and ultimately toxic for the community.”

DeConinck said in order for the governance project to be successful he thinks it needs to be international, multicultural, and multilingual, with diverse voices, as well as clear mechanisms for WordPress users to provide feedback. He outlined a detailed list of success criteria that hasn’t officially been embraced by governance project as it has yet to hold its first meeting.

DeConinck’s suggestions are incompatible with the current BDFL-style leadership, as he claims that “feedback from a community of millions of users can’t adequately be processed and acted upon by a single individual listening and making decisions for the project.” WordPress has risen to become a dominant force on the web during the past 15 years under this style of leadership. Any meaningful proposal of change to the leadership structure will need to demonstrate how the new model can continue to enable WordPress to make rapid progress and maintain its relevance on the web.

WordPress Governance Project Flagged as Unofficial and Removed from WordPress.org

Earlier this morning, WordPress Community Team representative Francesca Marano posted a notice on behalf of the governance project’s leadership to announce that the project has been removed from WordPress.org.

“Concerns have been raised about the posting of news about the WordPress Governance Project on make.wordpress.org and use of the #community-team Slack channel giving the impression the project is sanctioned as an official WordPress project,” Marano said. “It has not received such sanctions from WordPress leadership.”

“We went through what we believed were the appropriate channels for launching the project through the Community group (ie speaking to group members, asking for access to the Make blog, coordinating with the team and others to find a meeting time which didn’t collide with others, etc),” Morten Rand-Hendriksen said. “We were later informed the project was not sanctioned by WordPress leadership and therefore cannot use the Make blog or Slack.” He would not comment further on what transpired or the communication his team received.

For the time being, it looks like the governance project will need to prove its worth independently before being officially adopted by WordPress. Many other community-led efforts and tools have followed this same process before coming under the umbrella of core.

The project now has its own dedicated website at wpgovernance.com and a Slack instance at twgp.slack.com. The first meeting was set for January 8 but has been postponed to January, 15, 1600 UTC to allow participants to sign up at the new Slack workspace.

Ultimate Comment Blacklist for WordPress: How to Stop Spam Without Plugins

[ WordPress Ultimate Comment Blacklist ] How do YOU stop comment spam? If you’re like a lot of WordPress users, you just grab another plugin or two and call it good. I mean after all, plugins like Akismet work great at stopping spam. The only downside is that, well, you’re relying on another plugin. And that’s fine for folks who just wanna “get ’er done”, although each active plugin requires additional maintenance and server resources.

To be fair, some plugins are more resource-intensive than others, but in general ANY plugin that you use is going to require some level of support, maintenance, bandwidth, memory, and other resources. So it makes sense to avoid too many (resource-hungry) plugins in order to help improve performance and keep your site running tippy top shape.

Yes there are some cases where installing another plugin is pretty much the only way to do something. But fortunately, that’s not the case when it comes to stopping comment spam. This article explains how to stop spam using only WordPress, thus eliminating the need for any “anti-spam” plugins.

Contents

Making my site faster by eliminating plugins

I recently completed a massive overhaul and redesign of Perishable Press. My main goal was to simplify production and boost performance. So I took a hard look at each of the WordPress plugins I was using, in order to determine if the functionality provided by each were possible via native WP functionality or some other simple means. Turns out I was able to remove the following plugins:

  • Akismet
  • Art Directed Styles
  • Subscribe to Comments
  • Yet Another Related Posts Plugin

To give you an idea of how WordPress default functionality can be used in place of additional plugins. For Art-Directed styles, I simply added any necessary post-specific CSS directly to the post content, had to do this for like 20 posts didn’t even take that long. So BOOM: one less plugin chewing up resources.

Likewise for Subscribe to Comments. I love the plugin but it hasn’t been updated in forever. Plus only a few awesome people ever leave comments anymore, so what’s the point right? So I removed Subscribe to Comments and replaced it with a simple link to post-comments RSS feed (which you can see if you scroll down to the comment form). And just like that BOOM: another plugin replaced with existing functionality. And I did the same for the “Yet Another Related Posts Plugin”, replaced it with a simple theme function. BOOM: another one down. And that brings us to Akismet..

Replacing Akismet with native WordPress tools

After removing the plugins described above, I turned my eyes to Akismet. For years now, I have been recommending Akismet as the only thing needed to stop spam. I mention it in my Lynda.com video tutorials, books, and elsewhere.

What kinda sucks is that, after years of freely promoting Akismet, I log into DigWP.com one day, to find out that my free Akismet account had been deactivated. After years of no problems, suddenly they pull the “plug”.

Why? What happened?

Apparently the Akismet team didn’t like me using their plugin for free at Digging Into WordPress. No idea why, as they did not provide any warning, notification, or explanation. I’m guessing that they disabled my Akismet license for DigWP.com because the site has a few advertisements and promotes our book, Digging Into WordPress. However the site also has been serving the community for over 10 years, sharing FREE tutorials, themes, and other WordPress resources.

But really it is not a big deal, I understand that rules are rules and must be followed by all. Right? But still, I can’t afford to rely on a plugin that literally at any moment may be disabled, leaving my site open to floods of comment spam. Getting your site riddled with sleazy spam links drives away visitors and hurts your reputation.

Moral of the story

So after that episode, I removed Akismet from DigWP.com and a few other sites where comments remain open. And since then, I’ve removed Akismet from Perishable Press, and working on removing from all of my other sites and client sites. Instead of a plugin, I now use the Ultimate Comment Blacklist and a few choice WP settings, as explained below. And you know what? My sites are much better for it. I now enjoy:

  • One less plugin to worry about
  • Less load on server resources
  • Spam-free comments thanks to native WP tools :)

Note: I don’t have anything against the developers of Akismet or anyone else for that matter. It’s just that it kinda hurts being a huge advocate for years and then suddenly they disable the plugin on my site. So my primary line of defense against spam was just “shut down” without any notification, explanation, or anything. So again, Akismet is great at stopping spam, but there are alternate ways of doing the job without relying on another plugin. Read on to learn how..

How to stop spam without any anti-spam plugins

I’ve written before about the methods I use to stop spam without plugins. The trick as my readers may recall is the WordPress Comment Blacklist. In that linked article, you will find a highly effective set of spammy terms that may be added to any WP Comment Blacklist. For those short on time, here are the bullet points on how to use WordPress’ built-in anti-spam features instead of resorting to yet another plugin.

  1. Dial in WordPress General settings > Discussion
  2. Add a solid set of terms for the Comment Blacklist

That’s all there is to it. Which settings to use depends on your specific strategy and site content, goals, etc. For complete discussion of the possibilities, check out my post at DigWP.com: You Don’t Need Any Plugins to Stop Comment Spam. For those short on time, and/or to give you a good idea, here are the Discussion Settings that I use at Perishable Press:

[ WordPress Discussion Settings ]Perishable Press Discussion Settings (click image to open in new tab)

So you can use that as a starting point to dial in your own ideal comment settings, or start fresh whatever. Depending on things like site popularity, traffic, activity, niche, and so forth, the optimal Discussion Settings may vary.

And then for the Comment Blacklist, you can use my tried and true set of blacklist terms, or you can grab the “ultimate” set of blacklist terms provided below. Let’s check it out..

Ultimate Comment Blacklist

So you’ve got the perfect Discussion Settings dialed in. Last step is to add a powerful Comment Blacklist. Fortunately, you can skip the 12 years of research and development and just grab a copy of my own list. The Ultimate Comment Blacklist, combines unwanted/spammy terms from several sources:

Given the sources, one might think the resulting blacklist to be miles long. But not so. Rather, these lists have been actively updated and developed for maximum efficiency and effectiveness. What does that mean? It means that we want to block the most comment spam with the least number of terms and the fewest false positives. Is the list perfect? Nope. But guess what. It effectively blocks 99% of the spam comments that I get at Perishable Press, DigWP.com, and elsewhere. Seriously, the Ultimate Blacklist blocks tons of spam and keeps my comment sections looking good.

Download

Warning! The download text file contains all sorts of nasty stuff, like swear words and worse. Please do not read if you are underage or easily offended.

Bottom line: take a few minutes to configure built-in tools like WordPress Discussion Settings and Comment Blacklist can save you from relying on yet another plugin just to stop comment spam. I mean, WordPress already provides sufficient tools to stop spam in most cases; it just takes a bit of understanding to make it happen.

To-Do

On the to-do list for the Ultimate Comment Blacklist: Integrate DigWP Custom Comment Blacklist. Until I have time, I will leave this as a manual exercise. For example, combine both lists and then use a free online tool to remove duplicate words. Boom done ;)


The life-changing magic of folding clothes

Clothes folded neatly and stood upright within storage containers.

After reading Marie Kondō’s The Life-Changing Magic of Tidying Up, I was a bit motivated to begin my journey into a tidier and more peaceful life. At first, I made a plan to simply throw out a bag of stuff each day to get myself started. However, I quickly realized that I didn’t feel like I was making any sort of progress. Even Kondō is against incremental tidying.

I was hesitant to do a big project. I have a lot going on both personally and professionally. However, this need to tidy things has spilled its way over into all other aspects of my life, creating mental clutter.

I started binge-watching her show, Tidying Up With Marie Kondō, on Netflix. This was a nice compliment to the book. It allowed me to see firsthand people who had much more clutter than me (I honestly don’t have a lot of material possessions in comparison to many, but I suppose it’s all relative). I got to see things from more of a male perspective through the men in the show. And, Kondō’s presence on the screen has an oddly calming effect. She allows the people to apply her methods. She’s never bossy or makes anyone feel bad about the things that they like.

With renewed vigor for this looming project, I started anew. The first lesson is clothes. And, I was happy it was clothes. That’s an easy category for me. I have few qualms about tossing clothes, and it was an easy start because I didn’t have that many to work through.

Yesterday, I literally touched every item of clothing I own, including things like linens and towels.

For the most part, this was more about throwing out things that needed to be thrown out. Socks with holes. T-shirts that I hadn’t worn in a year or two. Pajamas that I’ve never worn but felt guilty about throwing away because they were gifts. A lot of things were trashed because they’d outlived their usefulness. However, I was able to give away things that still had plenty of life left in them.

The hardest part of this process for me was when I came upon an old, long-sleeved, orange shirt I used to wear. It was thicker than a normal T-shirt and made for good loungewear. I can’t remember how many times, particularly in college, where I’d come home after a long day and slip it on and all my problems would seem less significant. When I put that shirt on, it meant I was serious about doing some relaxing. The shirt had served its purpose in my life though. It was the first article of clothing that I truly felt like thanking for the gift of comfort over the years. I wanted to keep it. However, I didn’t see it being particularly useful for my life going forward.

I had a few similar items of clothing. But, I’m not one to be overly sentimental about clothes. Some bring back some good memories, but I’m mostly fine letting go.

The biggest surprise I had was how many pairs of socks I’d accumulated. I don’t know the exact number, but I’d guess it was around 60-70 pairs. Most of them were worn out and not something I’d worn in a year or two. They were just stuffed into a drawer. Seeing them all at once was a bit shocking. I’m by no means a hoarder when it comes to clothes, but that was a lot of frickin’ socks. I’m now down to about 20 pairs, most of which I got for Christmas.

I feel good about the process. Last night, I had a bit of a headache from all of the work. Today, I’ve felt much lighter.

Oh, and if you’re wondering after viewing the photo above, I don’t have a chest of drawers. Mine was stolen at some point several years ago, and I’ve never gotten a new one. Now, I’m not sure that I actually need one. :)

The next step is books. This will be a tougher category for me. But, I know there’s a number sitting on the shelves that I’ll never look at again and can go to a better home.

Artemis

Cover of Artemis, a novel, featuring the moon.

Artemis, by Andy Weir, follows a foul-mouthed, 20-something Saudi woman named Jazz. The story takes place in the only city on the moon, from which the book is named. She grew up without a mother, spent her childhood around welders and other laborers, and lives in the dregs of the city. After a falling out with her father, she got a job as a porter, using it to smuggle contraband into the city.

When one of her wealthy clients (the sort of folks who can afford to have things shipped to the moon) asks her to take on a new job, she turns him down. But, when she hears how much money she’ll be making, 1,000,000 slugs (the currency on Artemis), she accepts without blinking. This leads to a series of events that will forever change the most charming little city on the moon.

Weir knows something about humans that some people may find hard to stomach. By the time humanity has created the first 2,000-person city on the moon, we won’t be living in a utopia where everyone lives by today’s politically-correct standards. Just because we’ve advanced technologically doesn’t mean that we’ve changed our ways. On Artemis, each race still has their own little sections where they stick together. The wealthy have lavish property that could house hundreds while the little people live in the bowels of the city, many in units dubbed “coffins.” Oh, and the mob launders money through one of the largest businesses on the moon.

Jazz’s ultimate goal in life is to make more money so that she can live like a queen, at least relative to her current situation. Pretty much on par for what most poor folk aspire to. And, she’s willing to break a rule or two or ten to get there.

I made the mistake of reading a few other reviews of Artemis. It seems that people either love it or hate it. But, many of the people hate it because they don’t believe a woman and her gay, ex-friend can behave in the way that these characters behave. I find these reviewers to be narrow-minded people at best. If you try to group everyone in boxes, you’ll be sorely disappointed when you get smacked upside the head with the truth—humans are vastly different. The only boxes that we fit in are our own. People come in all shapes and forms. And, sometimes, these characters from their own, unique boxes make their way into novels.

Jazz is crass, rude, and makes childish sex jokes. If that’s not your cup of tea, so be it. But, step outside of your bubble sometime.

Not every book needs to cater to far Left, holier-than-thou political correctness.

I shouldn’t need to qualify that statement, but I say it as a self-proclaimed liberal. If the characters hurt your sensitivities, grow the fuck up. Otherwise, go back to reading YA romances where everyone lives happily ever after and the characters have about as many dimensions as a sheet of paper.

Frankly, I’m tempted to add a star to my own rating because the book pissed off a bunch of pansies who believe that women should only speak and act like a princess. I won’t. But, I’m still tempted.

Sorry, I went off on a tangent for a bit there.

If you go into this book looking for something akin to Asimov or Philip K. Dick, you won’t find it. Looking for an earth-shattering, mind-altering analysis of what it means to be human? Nope. Not here either.

But, if a heist-like adventure on the moon that follows a woman who may as well have grown up with sailors is your thing, it’s worth a read.

I’ve never read Weir’s The Martian, but I watched the movie. It’s what led me to pick up this novel. I was looking for something different and wasn’t initially in the right frame of mind for this story. Still, something was lacking. The work didn’t move me in any way. I wasn’t particularly invested in any of the characters. At times, the humor was smart and snuck up on you, but most of it was too on the nose.

Part of me just kept reading to see what kind of craziness was coming next for Jazz. Not every book need be some life-changing affair. Some works can be purely lowbrow entertainment.

⭐⭐⭐/5 stars.

The Life-Changing Magic of Tidying Up

Blue book cover with white clouds.

I knew one of my New Year goals was going to be to get rid of some of the clutter I’ve accumulated over the years. As fate would have it, a Kindle deal popped up a few days ago and shined light upon the path that I should take. I managed to snag The Life-Changing Magic of Tidying Up for cheap.

It was like the gods themselves were speaking to me.

Marie Kondō developed her KonMari method of tidying after years of attempting to achieve perfection. She teaches you how to clean your home once and never let it fall back into disarray. Yeah, I wasn’t completely convinced either. And, to be honest, I’m still working with her method to see how it turns out. Like most self-help books, I think a part of you must be willing and ready to take on a change in your life for it to truly work.

Because it’s going to take me a bit to make it through Stage 1 (there are only two stages), I can’t comment on how life-changing this book really is. I can simply review the book at this point. In the future, I’d like to do a part 2 of this review on the method and how things worked out.

The entire book could’ve been one well-written and succinct blog post. But, you can’t sell a few million copies of a blog post. Plus, a book helps reiterate the same principles over and over, drilling them into your mind.

I read through The Life-Changing Magic in one night. It’s a short read, coming in at little more than 200 pages. If you’re serious about wanting to declutter your home, the reading commitment is minimal.

I spent much of the time while reading thinking that the author sounded like someone who needed professional help. Many excerpts were a retelling of her desires, even from childhood, to be neat and tidy. I’m talking to the point of being obsessive about it. I wondered if her methods would translate over to those of us who didn’t spend our childhoods compulsively organizing and cleaning everything. Then again, maybe that’s the perfect type of person to teach the rest of us lazy slobs how to get our house in order.

Much of the advice is geared specifically toward women. I have no doubt that is Kondō’s primary audience, so it makes sense to lean that direction. However, it would’ve been nice to acknowledge that some men might be reading the book and offer practical advice specific to the them. This wasn’t enough to detract from the book’s message, but it was noticeable enough to be a minor annoyance.

With 200 pages, I thought that the book would dive into more practical advice. Things like the clothing-storage methods make sense, and I’m ready to start trying those. The book needed far more of these practical tips to be worth the page count. I’ve heard that Spark Joy, the illustrated sister book, offers more of what I was looking for.

The message that hit home with me is the one of ridding your life of things that you find no joy in. This is a feeling I’ve been having for some time now. I have possessions that do not bring me joy. Why do I have them? Kondō was able to articulate those feelings for me and provide a plan of action for confronting and dealing with them.

As a book, it needed a few more revisions and to be fleshed out with more practical advice. As for the content, the message, we’ll see. Maybe I’ll be living a peaceful and clutter-free life six months from now.

Some readers will find Kondō to be batshit crazy (she does talk to inanimate objects) and, in true KonMari fashion, discard this book because it does not spark joy. Others, well, we’re probably crazy enough to give her advice a try.

I’m withholding my star rating for this book until I can decide how life-changing this book truly is by putting Kondō’s methods into practice.

Mistborn: The Final Empire

Cover of the Mistborn novel, featuring a girl, Vinn, in a cloak with two blades in her hands.

It’s Brandon Sanderson. Need I say anything else to convince you to read it?

Mistborn: The Final Empire is unlike your traditional fantasy. There are no dragons to slay. No elves and dwarves. No long, arduous journeys crossing continents. Most of the story takes place within one city and follows a band of thieves, not your most likely group of heroes.

Sanderson brings along a unique magic system and characters that feel as real as anyone you know in real life. You’ll grow with them as they take on a foolish quest that no one would dare go on.

Scadrial, the world this book takes place on, exists within The Cosmere, which is a universe that many of Sanderson’s works take place. Don’t worry; it’s okay to start here. The story isn’t tied to other novels. It’s just in the same universe.

This world has its own magic system called Allomancy, which is a nice break from old-school magic in traditional fantasy, where certain metals give powers to those who use them. What I liked most is that Sanderson didn’t just dump all of this info at once. He teaches you how the magic system works through story, never allowing you to forget the system. You won’t get lost later in the book trying to remember it.

The story takes place in the city of Luthadel in the Final Empire, in which the Lord Ruler has reigned for 1,000 years. He saved the world from some entity called The Darkness and has since shaped the world as everyone knows it. The world is a dark place. Ash falls upon everything. And few go out at night for fear of the mists and what lies within them. Plants are brown and fields worked by the slave class, the skaa. Most people can’t imagine a place where everything is lush and green.

The adventure closely follows a group of skaa thieves who have come together for the ultimate heist. Kelsier, the fearless and possibly a bit insane, leader brings in a new apprentice named Vinn. Vinn is broken, beaten, and serving off her brother’s debt. She hides herself away from the spotlight, hoping to remain unseen and unhurt. The real story is hers. Her journey from a scrawny girl into the woman that she’s meant to be is what the book is ultimately about.

In over 600 pages, Sanderson builds a complete universe through his story, one just as real as our own. There’s a lot to digest as he tackles politics, classism, and slavery. You’ll find yourself pulling for this band of thieves, especially Kelsier and Vinn, as they take on an impossible challenge.

When I began this book, I was fully prepared to give it a 4/5-star rating. It didn’t quite pull me in as much as Sanderson’s Skyward. However, this was an epic read. The story and characters needed time to develop. At a certain point, I was as invested in the journey as the characters themselves. And, that’s what great fiction writing is all about. You must feel what the characters feel and root for them.

Mistborn also gets credit for the book that finally made me turn off late-night TV and simply read for the pure enjoyment of reading.

⭐⭐⭐⭐⭐/5 stars.

2019 goals

A dark forest illuminated by many lights.

It’s hard to believe that it’s the start of a new year. That’s what we say every year, right?

A new year always gives you a fresh slate on life, to a degree. There’s new possibilities. There’s hope for something greater than the year before. It’s an exciting time where you have a renewed sense of wonder about the world.

Last year, I decided on one major, concrete goal. I set it a bit high for what I was ready to tackle. But, I gave it a shot anyway. While I didn’t hit my target, the thing I wanted to really do underneath it all—become a more active reader—is something I accomplished. Concrete, definable, measurable goals are good things. Even if we don’t hit the mark, the attempt counts for something.

The trend for 2019 is to discard things that I don’t need and take the time to appreciate the things that bring me joy. Without further ado, here are my goals for the year.

Writing

After completing NaNoWriMo last year, I want to start fresh on a new novel. This time around, I will outline the plot and not get lost trying to figure out what it is I want to say. I have the beginnings of a sci-fi story jotted down at the moment. I’m not sure if that’s what I’ll pursue yet.

I also plan to create chunks of time in my schedule for working on the novel. Instead of daily writing, which can be a creativity killer for me working in a creative field, I’ll probably set aside time chunks 2 or 3 days each week. Most likely, some of this will happen on the weekend when I’m doing less “real” work.

Finding a creative balance between being a designer/developer and a writer is something I struggled with last year. It felt like it was all or nothing with one side always tugging at me more than the other.

As for NaNoWriMo 2019, I’m not sure yet. November is a long time from now. I’m tentatively marking it on my calendar with a note that whether I participate will depend on where I’m at with my planned novel for the year. I wouldn’t want to start a new project if I’m neck deep in one I’m already doing. I’d love to participate simply for the feeling of accomplishment that you get from completing the challenge.

Reading

I set a smaller goal of 40 books to read this year, which I’m tracking via my Goodreads account. I’ll be starting the new year fresh because I finished a book last night. So, I have a completely blank slate.

Last year, I shot for 100 books, which was too much. Setting the goal at 40 this year might seem low. However, I want a number I feel like I’ll definitely hit. Not to mention, I’ve recently started reading more Brandon Sanderson. If that trend continues into 2019 (I suspect it will), his epic fantasies are probably going to slow my completion rate down a bit. I want to enjoy reading and allow it to be a part of my daily life rather than feel like a chore. But, I also want to feel like I’m hitting a goal.

The primary goal is to simply continue finding time to read more and watch TV less, which brings me to my next goal.

Watch less TV

I love a good TV series. I have a huge collection of DVDs, a Netflix account, a YouTube Premium account, and an outdoor antenna. I have more available to me than I’d ever care to watch.

This year, I’m cancelling both my Netflix and YouTube Premium accounts. I’m not saying that I’ll keep them cancelled for the entire year. For example, I really want to watch season 2 of Kobra Kai when it returns. There’s a few Netflix series I’ll want to catch too. But, it’s time to take a break from both. They are getting cancelled this week as my monthly subscription runs out.

More than simply watching less TV, I want to only watch things that I find joy in. I need to learn to give up shows that I don’t care for and not continue watching because I want to feel some sense of completion. I have a bad habit of wanting to complete everything I start. Well, that’s sometimes a good habit to have. However, it’s bad when you’re not getting anything from it.

With that in mind, I’m going to revisit my Winter Network TV Schedule and cross out a show or two.

Less football

In 2018, this sort of became a late-year goal for me. Living in a small, rural town in Alabama, all anyone wants to talk about is [American] football. But, at this point in my life, it’s not something I care that much about. One of the things I done this year was simply not watch much football unless my alma mater (Auburn University) was playing over the air.

If you live outside the U.S. South, this might not seem like such a big deal. But, football is a way of life around here. Social functions are built around it. Business deals are made based on who you pull for. Children are branded from birth as a fan of a given team. It’s not something you can easily escape.

Don’t get me wrong; I love watching a game here and there. I was even an all-state player in high school and almost pursued the sport in college. But, the culture and huge time suck it takes up on a Saturday is not something I find much joy in.

For me, this is more about shedding an old part of myself that is still holding me back from being the person that I should be. The Justin from 10 or 15 years ago loved the game. The Justin today has other things that fulfill his life. There’s no good reason to hold onto that old part of who I was any more.

Tidying

I brought in the new year by reading The Life-Changing Magic of Tidying Up last night. A huge part of what I want to accomplish this year is to discard things that do not bring me joy. This book served as a way to help motivate me to do this and get the new year started right.

I hate clutter. I think most people do. But, I seem to get clutter anyway. In six months, I would like to be free of everything in my home that I don’t need or that I find no value in.

I’m putting together a list of my concrete plans to accomplish this, some based off this book. I’m fairly certain that you, dear reader, probably won’t find interest in that list.

Bullet journaling

Along with tidying, I’m giving bullet journaling a try. It’s next to impossible to find the perfect calendar or planner that fits what I need it to do. I can’t remember how many I’ve trashed over the years after using them for a while. Creating a bullet journal seems like it may fit the bill.

A bullet journal is a highly-customizable system that caters to the individual. You don’t necessarily need any sort of special notebook or planner to handle it. You can fill it out however you want and not follow any strict rules. It’s a system rather than a product.

Gardening

I’m cutting back this year. Way back. This is easier said than done for folks who get the gardening bug every Spring.

I tried to take on too much last year. I had a full garden that ate up way too much of my time. This year, I’m going to focus on things that continually produce great here and involve less day-to-day work.

Potatoes and onions will be the primary crops I focus on. They’re a lot of work when planting. Potatoes are a lot of work harvesting too. However, the work in between isn’t too bad. And, these two crops are something that we eat on a near-daily basis.

I’ll likely do a few other crops but not at a large scale. A few tomato and pepper plants can live next to the porch. I may do a row or two of carrots. But, I don’t have any plans for any calorie crops outside of potatoes. We get peas from local farms and dry beans are cheap to buy.

Finances

The goal here is to not buy useless shit. Or, don’t buy stuff when I already have it.

Seriously, I have like 8 different air fresheners when I only need one or two. I gave away unused candles as Christmas gifts. I don’t know why I buy things like this when I already have what I need on hand. It’s a habit I plan to break.

As part of my tidying goal, I also don’t plan to purchase any physical goods outside of necessities while I’m in the “discarding” phase of my journey. I’m sure I’ll make an exception for a movie or two. The Amazon gift card my parents got me for Christmas should help with that because it means I can simply purchase e-books for entertainment, which also fuels my reading goal.

Homebrew for WordPress Development

Homebrew is an awesome command-line software management solution for macOS (similar to MacPorts). It can install pretty much all software required for WordPress development and keep it organised (under /usr/local) and updated with a single command.

Why is it awesome?

  • Installs packages quickly without having to download and run the installers via a web browser.
  • Builds everything from source (unless installing from cask) which makes it secure. Compares checksums of the download files against known references.
  • Places everything under /usr/local and doesn’t use root privileges for added security and limited system access.

Use It

Here is how to install some of the most popular packages. In most cases you just need to run brew install PACKAGENAME or brew cask install PACKAGENAME for packages that are distributed as binaries.

Development Tools

Install Node.js and npm:

brew install node

Install Composer:

brew install composer

Editors

Install Visual Studio Code:

brew cask install visual-studio-code

Install Atom:

brew cask install atom

Virtual Development Environments

Install VirtualBox:

brew cask install virtualbox

Install Vagrant:

brew cask install vagrant

Install Docker and Docker Compose:

brew install docker docker-compose

Useful Commands

Update Homebrew and the package information:

brew update

Update all installed packages:

brew upgrade

Remove old versions of packages:

brew cleanup

List all installed packages:

brew list

Use Contact Form 7 to collect business leads and enquiries? I created Storage for Contact Form 7 plugin which stores them safely in WordPress database.

Get it now for only $19 →

Year End Summary – 2018

Well 2019 is almost here so it’s time to look at a years worth of plugin reviews.

Everything

Here’s the chart of everything for the whole year. That gap in January-March is due to a snafu in the system. It wasn’t properly recording anything, so we weren’t able to collect stats.

Highs and Lows

Due to the above gap, our ‘least’ for the weeks are a little off, but you’ll get the general idea of how much we review a week:

Requested Rejected Closed Approved Pending
Most / week 281 99 1171 149 730
Least / week 101 2 9 36 566
Average / week 164 21 341 87 651
YEAR TOTAL 7095 1062 13034 3752 566

What it Means?

We can see that roughly 52% of all submitted plugins are actually approved.

Why are only about half of all plugins approved? I could give you a lot of math explanations, but the crux of it is this: people don’t reply to emails.

Around 35-40% of plugin submissions are pended, either for more information or for code issues, and the majority of those simply never finish a review.

This year, though, we have an abnormally high number of closed plugins (see those gold spikes). This comes from a lot of cleanup of unused plugins (ones where code was never committed) as well as plugins with email-bounces. Due to GDPR, many email servers changed their reporting so we’re finally getting some accurate data on bounced emails.

Of the closed plugins, about .003% of developers reached out to us about them, and of those, the majority were because emails were out of date. This is why I’m always harping on people to make sure their account emails work and don’t auto-reply or bounce.

If your email bounces, we’re not going to email you or hunt you down to figure out who’s supposed to own a plugin. It’s not an efficient use of our time for people who aren’t maintaining their accounts. We’re aware it’s not very nice, but since our accuracy rate is well into the 99th percentile, it’s more effective to close the plugin.

What’s the take away from this? Check your emails. If you submitted a plugin and didn’t get an automatic reply telling you it was received and what the plugin slug was, then you’re having trouble getting our emails and you should add plugins@wordpress.org to your email’s never-spam list. If you did get that email, count 7 days from that. You will have another email from us by then, either as an approval or a rejection (which always comes with a reason why).

2018 year in review

A bundled of dozens of freshly-picked carrots from the garden.

It happened last night. I’d felt the rumblings of it on occasion in the past couple of weeks. It’s that moment when you realize there’s something you’d simply rather be doing than the thing that you’re doing.

It was just past 9 p.m. I’d spent most of the night switching between reading Mistborn: The Final Empire and watching television. I’d just come off a second reading session and planned to put the book down for the night. I’d catch some show or another before getting a bit of shuteye. But, there was nothing I wanted to watch in particular. The novel was far more interesting than anything I had to watch. I could’ve chosen between 100s of shows or movies that I own on DVD/Blu-ray. I could’ve watched anything on Netflix. I could’ve switched to over-the-air TV. But, what was the point?

It took me a full year to get here, but I finally realized that I’d hit my true goal of the year. The goal beneath the goal where reading was more interesting to me than lazily watching TV.

I flipped back the cover to my Kindle Paperwhite and began reading again. I had about 80 pages left in the book and needed to know how the story ended.

The year of books

In January, I dubbed 2018 “the year of books.” My big goal of the year was to read 100 of them.

Yeah, that was a bit crazy.

After several years of only putting down about 15-20 books or so, it was a bit crazy to think that I’d hit 100 this year. I read a lot though. More than many previous years. I’m not exactly sure on the number because I didn’t track them, which I will definitely be doing in 2019.

There were times throughout the year when I got a bit lazy. There were months in the late spring and early summer where the most reading I done was with a bathroom book. At that time, I was trying to maintain my garden and keep up with my normal work. I didn’t have enough balance and my reading habits waned.

I did get a Kindle Paperwhite as a gift, which boosted my reading habits. My Kindle library is growing, and I have plenty of books awaiting in 2019.

I had planned to donate many of my old books to the high school library. However, after suggesting the same to a friend trying to get rid of some books on Facebook, the librarian commented on the post and didn’t seem too keen on the idea. So, I abandoned my own plan to do so.

I’ve also started reviewing books again here on the blog. It’s hard to believe that I’d gone over 11 years without reviewing a book. This is a practice that I hope to continue, sharing what great adventures I go on with the world.

Writing

I found my passion for writing again.

The biggest accomplishment of the year was competing in and winning National Novel Writing Month. It was one of the toughest and most rewarding experiences of my life. I’m glad to have done it and hope I can compete again next year.

My passion for blogging has also returned. A major part of this was finally deciding to drop WordPress and move to a custom system for my personal blog here. Over the years, I felt like WordPress simply didn’t suit me well as a blogger. My new system is far simpler and more focused on the things that I need for sharing my thoughts online. After June 2015, I hit a block and never fully recovered until a few months ago. I’ve written more this month than I have in any of the previous two years.

Dungeons & Dragons

This was the year that I first played D&D. I’ve known about the game for many years but have failed to find anyone in my group of friends to try it out. Fortunately, my cousin’s teenage kid plays and ran us through our first game. It was fun.

I was so excited about future adventures that I put all three of the core handbooks on my Amazon Wish List and got all three as gifts from some awesome folks.

10 years of Theme Hybrid

In August, I celebrated 10 years of running Theme Hybrid, my WordPress theme and plugin site. That was a huge accomplishment for me. I don’t think I really believed I’d be doing this thing for 10 years when I first began.

It also marked a turning point where I was going to refocus the site on two primary projects. One project would be my popular Members plugin (news on version 3.0 coming soon). The other project would be…

The Mythic starter theme

I spent most of the year working on a starter theme for WordPress, which I named Mythic. This was the culmination of everything I’ve learned in the past 10 years with a focus on the future of WordPress. It was good timing considering that WordPress itself is at a turning point in how it manages content.

I’m proud of the work that I and several others put into this project.

Finances

This year was a bit of a letdown financially. I had too many ups and downs, never seeing any sort of stability. Some of this had to do with putting too many projects on the backburner while I worked on the Mythic starter theme, which was not earning me any money in the many months it took to develop.

I’ve been fortunate to have been my own boss now for 10 years with a lot of flexibility with how I want to live my life. However, I need to do far better in the years to come. Right now, I’m just not where I need to be.

Gardening

It seems like ages ago since I’ve set foot in the garden. This past season was a mishmash of success and failure.

In the late winter and into spring was the brightest spot. I grew enough red potatoes that we never ran out. It was only this month that the remaining potatoes went bad from some freezing nights where they sat under a shed. I made enough onions to last well into the fall. I also grew bigger and better carrots than I ever have after several failed attempts in past years.

Most everything else during the late spring and summer months was mediocre at best. We had nearly two months of solid rain, never going more than three days without at least a shower. That pretty much makes it impossible to garden. Weeds take over. You can’t get in with a hoe and work soggy ground. It was a mess.

All along, there were a few bright spots. But, I’d grown tired of trying to fight against the messy rain and gave up the fight until 2019.

Skyward

Skyward book cover, feature a teen girl with a view of space behind her.

Honestly? I was a bit angry.

I was angry that the sequel to this book is planned for a fall 2019 release and wasn’t already available. That’s so effing long from now. How am I supposed to move on with my life knowing that there’s so much more to this story? Well, the first thing I done was pick up another Brandon Sanderson novel. Reading fiction by anyone else would’ve likely been a letdown after this adventure.

Skyward is marketed as young adult, but it’s better than most YA fiction that you’ll read. Spensa, call sign “Spin,” is the young protagonist and narrator of this story. She dreams of being a pilot and flying amongst the stars. There’s only one problem. Her father was a coward after deserting his team in the greatest battle for the survival of her people. She and her family were branded cowards. Her mother couldn’t get real work. Instead, they mostly relied on Spensa hunting cave rats to sell from a cart.

The last of humanity has been stranded on a foreign world for generations. They’re at war with an alien race who could attack at any moment. Spensa plans to join flight school, become a pilot, and clear her father’s name. She knew there was more to the story—that her father wasn’t a coward. But, there’s no way they’d let her in.

You’ll fall in love with Spensa’s over-the-top bravado, a persona that she has built for herself over the years of being called a coward. Her warrior’s heart filled with the great tale’s that her grandmother has passed down from old Earth. Despite the show she puts on, Spensa is an oddly-relatable character who is as flawed as us all. We all wear masks to hide our vulnerabilities.

Skyward is a story of a young girl overcoming all odds to be the hero that she was meant to be. A warrior. Defiant.

Spensa finds herself at odds with the de facto aristocracy—children born of pilots who fought in the great battle. But, she finds some unlikely friends and sidekicks along the way. She must learn to trust others after relying on her own wits over the years to survive.

Sanderson is a near-flawless writer. I only put the book down that first night because I had work the next morning. I was also in the midst of a few Christmas dinners, most of which I spent counting the minutes until I could return to Spensa’s adventure. There’s a complete story here, but Sanderson leaves you with enough questions that you’ll be the first in line in 2019 to purchase the sequel.

Hand’s down, this is the best book I’ve read in 2018. It’s an adventure that’s suitable for both teens and adults. It’s well worth every minute spent along for the ride.

⭐⭐⭐⭐⭐/5 stars.

Where did they go from here rebrand and v2.2.0 update

I’ve released v2.2.0 of Where did they go from here. This update comes with new features, bug fixes and, most importantly, a rebrand of the plugin.

Starting v2.2.0, the plugin is called WebberZone Followed Posts and has a new home. This completes the transfer of yet another of my plugins under the WebberZone umbrella.

WebberZone Followed Posts

The rebrand of this plugin has been on my todo list for a long time. Although Where did they go from here was an accurate representation of what the plugin did, what it really did was display a list of posts that visitors follow on your site.

My hope is that with the new name, the plugin accurately represents what it does i.e. display followed posts.

Updated widget

WebberZone Followed Posts widget
WebberZone Followed Posts v2.2.0 widget

The main update in the widget is new options to show author, excerpt, date and post types. If you are already using the widget, please double-check and re-save the settings to ensure you get the accurate display.

All changes in WebberZone Followed Posts v2.2.0

  • Features:
    • New options to show author and date in the list. Find it under Output tab
    • New options in the widget to show author, excerpt, date and post types
    • New function wherego_get_referer() along with its corresponding filter
  • Fixed:
    • Fixed the error message that was generated on activation
    • Errors in tracker under PHP 7.2

As always, you can update the plugin directly from your WordPress dashboard. New users can find the plugin by searching for “WebberZone Followed Posts” in the Plugins screen.

If you’ve got any questions or require support, please make a new post in the support forum.

The post Where did they go from here rebrand and v2.2.0 update appeared first on Ajay on the Road called Life.


Where did they go from here rebrand and v2.2.0 update was first posted on December 30, 2018 at 1:14 pm.
©2003-2018 "Ajay on the Road called Life". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement. Please contact me at https://ajaydsouza.com/contact/

Whitelist validation in WordPress

Far too often when doing code reviews, I see developers lean too heavily on sanitize_text_field(), using it as a sort of catchall for sanitizing data. That’s usually not a good idea. Data should be sanitized based on what sort of data you’re expecting.

In this tutorial, I’m going to cover one method of making sure data is safe that not nearly enough WordPress developers utilize. It’s called whitelist validating, which simply validates a given value against a whitelist of allowed possibilities. When possible, I always prefer this sort of validating because it’s the safest method for making sure data is what it should be.

Whitelist validating is the act of taking a posted value and checking if that value exists within a limited set of allowed values. If the posted value is not in the whitelist, we reject it and return a safe default instead.

A simple example of whitelist validating

Let’s suppose we’re asking a user to input a favorite fruit. We have a limited number of allowed fruit. We’re going to look for the justin_favorite_fruit key.

I’ve broken this down in the following code. It’s simple to do.

// Get the value and remove the slashes that WP adds.
$value = wp_unslash( $_POST['justin_favorite_fruit'] );

// Create an array of allowed values.
$allowed = [
	'apple',
	'banana',
	'orange',
	'watermelon'
];

// Assign the favorite fruit if it's allowed. Fall back to a default.
$favorite_fruit = in_array( $value, $allowed ) ? $value : 'apple';

When to use whitelist validation

Do you have a list of predefined choices? Then, you should use whitelist validation. It’s as simple as that. The following types of settings are when you typically have choices.

  • Select dropdown field.
  • List of checkbox fields.
  • Radio fields.

There are other scenarios where you may want to use whitelist validation. One such example is if you only have a single valid value where you would check if the posted value is an exact match using ===.

Building a real-world scenario

In practice, you’ll likely want to make your code as DRY as possible. Your whitelist should also serve as your choices list. This will allow you to use it both for outputting the form field and for validating. Using our “fruits” example from above, let’s create a function that serves that purpose.

function fruit_choices() {
	return [
		'apple'      => __( 'Apple' ),
		'banana'     => __( 'Banana' ),
		'orange'     => __( 'Orange' ),
		'watermelon' => __( 'Watermelon' )
	];
}

Note that we’ve moved the actual choices to the array keys rather than the array values as in the earlier example. Therefore, you’d need to use either isset() or array_key_exists() for checking if a value is in the whitelist.

Use in the customizer

The following code is an example of adding a “Fruit” section with a “Favorite Fruit” dropdown in the customizer. You can see that we use the fruit_choices() function to provide the choices to our control and in the sanitize_callback for the setting.

add_action( 'customize_register', function( WP_Customize_Manager $manager ) {

	// Add custom section.
	$manager->add_section( 'fruit', [
		'title' => __( 'Fruit' )
	] );

	// Add a favorite fruit setting.
	$manager->add_setting( 'favorite_fruit', [
		'default'           => 'apple',
		'sanitize_callback' => function( $value ) {
			return array_key_exists( $value, fruit_choices() ) ? $value : 'apple';
		}
	] );

	// Add a favorite fruit select dropdown.
	$manager->add_control( 'favorite_fruit', [
		'section' => 'fruit',
		'label'   => __( 'Favorite Fruit' ),
		'type'    => 'select',
		'choices' => fruit_choices()
	] );
} );

Use on a plugin settings page

If you’re building a plugin settings page using the core Settings API, the following should be straightforward. We check the whitelist in the sanitize_callback function for register_setting().

I’m not going to cover how to create a settings page in WordPress with sections and fields. The following code just shows how to set up the whitelist validation aspect.

add_action( 'admin_init', function() {

	register_setting( 'settings_group', 'favorite_fruit', [
		'type'              => 'string',
		'sanitize_callback' => function( $value ) {
			return array_key_exists( $value, fruit_choices() ) ? $value : 'apple';
		}
	] );
} );

Smarter and safer

Whitelist validation means you have to worry far less about a whole host of other issues when sanitizing or validating data. Because you have a predefined list of valid values, you never have to worry about whether someone is sneaking in something fishy.

Christmas dice game

Cardboard paper dice with two index cards stacks, one reading 'Dare' and the other reading 'Truth'.

There’s an ongoing joke about that one drunk uncle everyone must tolerate during the holidays at family gatherings. Everyone has one of these, right? Now, imagine playing a game where said uncle was forced to prance like a reindeer across the living room floor to exchange gifts during a thrilling gift-swap game.

Or, imagine your sister having to pretend to be Santa riding in his sleigh until someone guessed who she was and what she was doing. What a way to get some revenge on a sibling. :)

Enter the holiday-gift-swap-dice game with a bit of truth or dare thrown in the mix (credit to The Dating Divas for the game idea).

Fortunately, my uncle wasn’t drunk this year, but that made it all the much better. As he hit a 5-spot on the die, he pulled the first “dare” card, which read, “Prance like a reindeer to someone across the room and swap gifts with them.” Having him perform the feat completely sober was as good a Christmas gift anyone could ask for.

The game was a huge success with my family. I don’t think we’ve all laughed that much as a group in years.

How to play the game

Everyone must bring a gift that is suitable for all participants. We kept our limit around $10. These gifts are placed in the middle of the room. The game begins by having everyone choose a [wrapped] gift and going back to their seats.

Then, someone gets to roll the die (doesn’t matter who starts—oldest, youngest, etc.). Everyone takes turns rolling, going in a clockwise direction. The game ends after every gift has been opened and everyone has had an equal number of rolls.

When you roll, here’s a list of the possible actions, depending on the number you hit:

  1. Everyone pass their gift to the left.
  2. Everyone pass their gift to the right.
  3. Swap your gift with anyone of your choosing.
  4. Pick a “Truth” card.
  5. Pick a “Dare” card.
  6. Open your gift. If already opened, choose someone else to open theirs.

You may need to make adjustments for your crowd. We had 10 people and went 4 rounds.

The die

I created a single, 6-inch die from scrap cardboard, printer paper, and tape. This made it big enough for everyone to see without having to stand around the table. But, it was small and light enough to toss around the room.

I don’t recommend normal dice for this, especially in a big crowd. You could also pick up some of them fuzzy dice. I wasn’t able to find those in town and opted to make my own.

Truth cards

I created 10 truth cards. These were more along the lines of the “have you ever” drinking game. Except for taking a drink, you stand and swap gifts with the others who have done the same. Some examples:

  • If you’ve ever re-gifted a gift…
  • If you’ve watched a Hallmark Christmas movie this year…

Dare cards

The dare cards were a fun mix of things. The end result of a dare card should be for someone to open a gift or exchange a gift with someone.

We had some charades like:

  • Pretend to be Santa riding his sleigh. Person to guess can open their gift.
  • Pretend to catch a snowflake on your tongue. Person to guess can open their gift.

We also had dares like having someone hum their favorite Christmas song or have each person in the group guess someone’s favorite Christmas movie. There’s a lot of fun that can be had with this.

One downside to this for our group was that a few of the older people cannot read. So, I had to limit cards mostly to things that I could read aloud to the group. For things like charades, I only passed those cards to people who could read.

I also ran out of dare cards before the game was over. I’d made 10, but people kept hitting 5 on the die. I’ll need to make more next year.

A twist for next year

Next year, I’ll likely replace truth cards with question/trivia cards where you get to open your gift if you answer the question correctly. I had a few of these mixed in with the dares this year, and they were more fun. For example:

  • Best Christmas movie: Die Hard.
  • Best romantic Christmas movie: Serendipity.

Loads of fun

All in all, I think everyone had a good time. All of the gifts were pretty fun. Some of the things we got in the $10 range were:

  • One yard of Snickers bars.
  • Two cans of holiday popcorn.
  • Cheap DVDs.
  • A case of 20 oz. sodas.
  • And more…

One of the main reasons I mixed it up this year is that everyone in previous years of playing white elephant were too nice. Most people rarely “stole” a gift from someone else if they thought the person liked what they had. This year, the choice was taken out of their hands. With this method, no gift is safe until the game ends, so you never know what you’ll end up with.

WordPress Plugins: Should You Take a Chance on the Obscure

WordPress is arguably the most popular content management system on the web. It is so popular that some statistics say it accounts for as much as 30% of all web content. So, it should be no surprise that there are more than 54,000 active plugins ready to go in the WordPress library.

One of the downsides to having so many plugins is obscurity. For instance, you may be a plugin developer who comes up with a great plugin that never sees the light of day. Why is that? Why are some WordPress plugins left to die in obscurity? And more importantly, should you take a chance on the obscure? The answers are explained below.

1. Lack of Marketing Effort

One of the main reasons some new plugins remain in obscurity is that they are not marketed. Marketing actually presents a conundrum for a lot of plugin developers. They find marketing distasteful in light of their commitment to open source.

As for whether a lack of marketing should sway you or not, it should not. Marketing in no way denotes quality or functionality. It is quite possible to find an excellent plugin that meets your needs even though it has never been marketed. If you find something that appeals to you, at least consider it.

2. Lack of Maintenance

Another thing that dooms some plugins to obscurity is a lack of maintenance. The developers themselves take the blame for this one. If a developer writes a plugin and then only provides one or two updates before losing interest, that plugin will gradually fall down the list. It may get so far down that no one ever finds it.

Should this matter to you? Absolutely. An improperly maintained plugin almost always presents security risks. You should never install plugins that haven’t been updated for 6 months. Some experts warn against plugins that haven’t seen maintenance in as little as two or three months.

3. Lack of Buzz

Lastly, some plugins are relegated to obscurity because they simply fail to generate buzz. Let’s face it, most plugin categories are dominated by a half dozen or fewer candidates. Just like search engine results, those few plugins get all the attention because they stay at the top of the list.

This should only concern you if the top plugins in a specific category do not meet your needs. They may not have the functionality you’re looking for; they may cost money where you are looking for something free; or they may fail to meet your expectations in some other way. The long and short of it is that you don’t need to settle for a plugin that doesn’t meet your needs when there are so many options.

The world of WordPress plugins is a vast world indeed. With 54,000+ and counting, the sheer volume of plugins makes WordPress a nearly limitless platform for web development. Don’t be afraid to search until you find the plugins you need. Whether they are at the top of the list, in the middle, or way down at the bottom, you’ll find something.

The Handmaid's Tale

Cover image of 'The Handmaid's Tale' by Margaret Atwood.

The Handmaid’s Tale has become a bit of an anthem for protecting women’s rights and equality in the United States in these past couple of years. The adaptation of Margaret Atwood’s book into a television series had a bit to do with that. I’ve never watched the series, but I am aware of its impact culturally to some degree. I’m told the series deviates from the book.

Works that are so socially relevant and help define a movement are sometimes hard to review because you run the risk of the modern-day Internet mobs raining all manner of hell upon your life if you disagree with their interpretation. For that reason alone, I let this great literary work sit aside for a couple of years after first hearing of it. And, I’m glad I let it be. I needed time to allow my mind to dissociate the work from the movement.

I wanted to enjoy the work on its own merits and not at the complete demand of a social movement.

When I began reading, I nearly put the book down. There was dialogue without quotation marks, a standard that has existed a long time. I’m able to forgive authors some stylistic decisions for the sake of telling their story, but this particular issue was a major annoyance early on. As I continued reading, I realized that Offred, our narrator and protagonist, was telling the story of her past when this stylistic choice was used. I was able to adapt eventually, but I struggled with it for at least half the book.

My second issue with style was the use of commas to continually string thoughts together. I found it tough to slog through at first. However, I eventually learned to appreciate this choice. What was a bit of a nuisance became a powerful method of presenting the Offred’s voice.

The Handmaid’s Tale is presented in a dystopian version of the United States called The Republic of Gilead. The people live under an authoritarian theocracy. Many of the population, particularly men, are sterile. The ultimate use of women is to have babies. These are the handmaids. There are other levels that women serve in the caste system, but the handmaids were the most important.

While this was very much a patriarchal society, men were also slaves to the state. That’s not something I hear as many people talking about. Yes, women were lower than women. They had fewer rights. But, men had to perform their duty to the state or face execution.

As a man, I struggled with the first “rape” scene of the book. Even Offred didn’t want to directly call it rape. While the commander she served under had power over her, it wasn’t his power that forced the two to have sex in this instance. The state was the brutal rapist, forcing the two into an attempt of passionless procreation. In many ways, this was the worst scene from a male perspective. Most men do seek more than just the bottom half of a woman. We thrive on passion and love as much as anyone.

While the majority of men in this society had little power, women had no power. And, what power men did have, they did not wield it for good. Fred, the commander, used his status to get away with the things not officially sanctioned by the state. Because he was a man, he had enough leeway to manipulate the system. Men held the most power. When coupled with the authoritative hammer of religion, it’s not a good combination. This is a story that we’ve seen all throughout history. It still happens today in many parts of the world.

It’s a mistake to look at this objectively.

The epilogue is where Atwood’s brilliance shines. The discovery and deconstruction of Offred’s story, found recorded on tapes, was handled by men. These same men tell us that we must not apply modern (in the year 2195 AD) thinking to a society of a past. That we must look at these from a historical perspective and not make judgements. I remember such men teaching history courses when I attended college. As a society, I believe we must, at times, apply modern ethics to different cultures from the past in order to truly learn the lessons that these histories teach us. Ultimately, I have to believe that’s the lesson that Atwood wanted us to learn—we cannot simply view history without making moral judgements of the people who lived during that period, lest we repeat those mistakes from the past.

The Handmaid’s Tale is as relevant today as it was three decades ago. This novel is a champion for anyone who has the potential to be the oppressed, which is literally everyone. It should serve as a reminder that any society is only a handful of wrong turns to far less freedom than we enjoy today.

Atwood’s work is not something I’d recommend to everyone. You won’t find an exciting plot. You won’t find too many heroes. Depending on your outlook on life, you probably won’t feel particularly optimistic about the human condition. What you will find is a timeless look at the pain that the most powerful have inflicted upon others throughout history, shown through the eyes of a woman who has had everything taken from her.

⭐⭐⭐⭐/5 stars.

Christmas 2018 haul

Pile of books, including the D&D core rulebooks, Caraval, and Forest of a Thousand Lanterns. A Kindle Paperwhite sits at the bottom of the pile.

It’s been a long while since I blogged about the gifts that I’ve been fortunate enough to receive for Christmas. But, it’s always a fun thing to do. I enjoy seeing what others received, so I thought share I’d my Christmas 2018 haul.

This year seems to be the year of books. And socks (not pictured). 😊

I managed to get all three of the Dungeons & Dragons core rulebooks. A couple of awesome people got me the Player’s Handbook and Dungeon Master’s Guide earlier in the month. I’ve already devoured both and am looking forward to diving into the Monster’s Manual whenever I get a chance.

I’m still a D&D noob, but I’m learning more about the game. I wish I had known how fun it was in the previous 30-something years of my life. The tradition of people gathering around the fire and telling stories is one of the most uniquely human activities we can participate in. Turning this tradition into a fantasy-based game with dice is just plain fun. I’m hoping to eventually run my own games as the Dungeon Master.

Family members also picked up paperback copies of Forest of a Thousand Lanterns and Caraval for me. Both of these books seem to have unique concepts. I’ll probably start diving into these in the coming weeks.

At the bottom of the photo above is my Kindle Paperwhite with its new library painting cover. I’ve been breaking it in for a couple of weeks. I love this cover because it just makes me want to read more.

If I didn’t have enough to read, my parents made sure I would. They sent me an Amazon gift card that will definitely keep me in books for a few months. Although, I do wonder if they were just being lazy shoppers this Christmas instead of encouraging me to read more.

I did get restocked on socks this year. You can never go wrong gifting socks and lots of them. And underwear. Seriously. Especially for men. You know we’ll wear stuff until it’s ragged and aren’t likely to go buy new ones for ourselves.