Categories
Umum

Simple Stream

I still have my orangescale.net domain name since I registered it back in 2006, but I do not used it for few years. This blog used that domain name for few years. Rather than having the domain unused, I decided to use it for something simple as simple aggregator.

So, orangescale.net now (well, for now!) has list of posts from this blog (thomasarie.com) and also from my podcast page at anchor.fm. I made it using Sourdust Feed Aggregator. Originally, Sourdust uses Bootstrap for its HTML/CSS, but I decided to redo the interface — still simple! — using Bulma.

My fellow, Zam, also has this kind of aggregator and I subscribe to it. I am thinking of having the similar aggregator, but for now keeping the updates with my daily reading sources I use RSS reader and also blog subscription feature, if available.

Categories
General

WP-CLI Error: PHP Deprecated: implode(): Passing glue string after array is deprecated.

I use WP-CLI to maintain my WordPress sites. It’s simple, it handy, and it works without any issues.

For example, I can updates all my plugins and themes (if updates are available) by executing wp theme update --all and wp plugin update --all. If WordPress core engine is available, I only need to run wp core update.

But there is a problem when I update WordPress plugins recently. Running wp plugin update --all to update all available plugin updates give me an error:

PHP Notice:  Trying to access array offset on value of type null in phar:///usr/local/bin/wp/vendor/wp-cli/extension-command/src/Plugin_Command.php on line 663
Notice: Trying to access array offset on value of type null in phar:///usr/local/bin/wp/vendor/wp-cli/extension-command/src/Plugin_Command.php on line 663

But, all updatable plugins were updated successfully. I tried to find the solutions, but I found nothing. I also try to use the nightly version via wp update --nightly, but still no luck.

Here are my wp --info

OS: Linux 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64
Shell: /bin/bash
PHP binary: /usr/bin/php7.4
PHP version: 7.4.3
php.ini used: /etc/php/7.4/cli/php.ini
MySQL binary: /usr/bin/mysql
MySQL version: mysql Ver 8.0.21-0ubuntu0.20.04.4 for Linux on x86_64 ((Ubuntu))
SQL modes:
WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /home/path/to/my/directory/
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 2.5.0-alpha-068c252

Categories
General

Upgrading to macOS Sierra

macOS Sierra

I love keeping everything updated on my Mac, from the operating system, and also the applications. I just updated to macOS Sierra — the latest operating system by Apple. I upgraded from OS X El Capitan. This post is posted after the upgrade.

Preparation

On my Mac, I installed all upgraded applications. Some applications already released the update to make them work with macOS Sierra. About my Mac, it’s 15″ MacBook Pro (Retina, Mid 2012) with 2.3 GHz Intel Core i7 processor and 8 GB 1600 MHz DDR3 of memory.

It’s highly recommended to backup everything. The simplest way is probably using Time Machine. But, I decided not to backup using Time Machine. I copied the important files to my external drive. It takes time, but having everything backed up is a good scenario.
Before hitting the download button, this was my setup:

Categories
General

Compile ssh2 bindings extension for PHP7

Compile ssh2 bindings extension for PHP7. After moving to PHP 7 on Ubuntu 16.04, this is a handy solution.

Categories
General

Codeception

Codeception — Modern PHP testing for everyone.

Categories
General

WordPress 3.7 with Background Updates

WordPress is actively being developed by great developers. I always tried to keep my WordPress installation updated by running update process — which is very easy. But, right now, I want to write down about the latest release. Not that every update provides an improvement, new features, or bug fixes, but this version 3.7 (codename: Basie) has few good things offered.
The first useful feature is the background updates. It means that you do not need to worry about having an outdated installation when a new release is available. So, if your self-hosted WordPress-powered blog is not yet upgraded to 3.7, it’s a perfect time.
WordPress 3.7 Updates
Having an automatic upgrade is good, it’s a worry-free situation. Of course, there might be some bugs or features that you will not be familiar with. But for me, having everything updated is a good thing. If you’re using some plugins, they might not compatible with the latest updates. Not always, but it might happen. Since I don’t have critical plugins installed, having some broken plugins should not be an issue. I just simply disabled them.

How to turn off automatic updates?

You can, but you have to maintain your updates. Or, if you don’t care about this updates (or worse, you don’t care about your blog), you can just ignore it. The easiest solution to disable the core updates is by modifying your wp-config.php file. It’s located at the main root directory. Add these following lines:

# Disables all core updates:
define( 'WP_AUTO_UPDATE_CORE', false );
# Enables all core updates, including minor and major:
define( 'WP_AUTO_UPDATE_CORE', true );
# Enables core updates for minor releases (default):
define( 'WP_AUTO_UPDATE_CORE', 'minor' );

If you want to for some details, go to Make WordPress Core website.
Some others features introduced in this updates includes the password strength checker. Do you always have a not-easy-to-guess password? The other one is about a better search. Since I’m maintaining some WordPress-powered sites, I think I will update them all right now.

Categories
General

Are you using WordPress' Post Formats feature?

If you have upgraded your WordPress installation to the latest version (right now, it’s Version 3.1), you can take advantage of its “Post Formats” feature. So, what is it anyway? WordPress Codex explains:

A Post Format is a piece of meta information that can be used by a theme to customize its presentation of a post. The Post Formats feature provides a standardized list of formats that are available to all themes that support the feature. Themes are not required to support every format on the list. New formats cannot be introduced by themes nor even plugins. The standardization of this list provides both compatibility between numerous themes and an avenue for external blogging tools to access to this feature in a consistent fashion. In short, with a theme that supports Post Formats, a blogger can change how each post looks by choosing a Post Format from a radio-button list.

This feature might be useful if you want to “format” your blog posts, especially when you want to have different output format from your WordPress theme. Just think about Tumblr service. Tumblr is very easy to use when you want to make a kind of item collections. Sometime you want to embed a video, post a link, make a regular blog post, or even embed an audio file. If you want to create a new post, you will have something like this:

Categories
General

Some Notes About Enabling Multi-Site option in WordPress 3.0

After upgrading my blog using WordPress 3.0, I was thinking of taking the opportunity to have the multi-site option. Previously, I played with WordPress Multi User. So, I think it would something I’m familiar with. If you’re not familiar with WordPress 3.0 features, you can check WordPress Codex first. You can find lots of useful information there. It’s a good place to start.
Currently, this blog is already using Multi-Site feature. The setup was easy, but I want to share few things I had during the ‘migration’. By default, this feature is disabled. So, you will see no settings/option under your WordPress Dashboard menus. If you’re ready to enable this feature, the first thing you need to do is to modify WordPress configuration file (wp-config.php). Add this line of code into wp-config.php:

define('WP_ALLOW_MULTISITE', true);
Categories
General

WordPress 3.0 Error: Briefly unavailable for scheduled maintenance

I have upgraded this blog to WordPress 3.0 not long after it was available for download. Everything went without any major issues. I only use it without special hacks. One thing that makes this version a little bit different is that WordPress will bring your site offline if there is/are something not working. For example, when you’re upgrading your plugins. WordPress will temporarily bring your site under maintenance mode.
If all process were completed, you should be happy. Otherwise, you will need to do some extra works. WordPress will display this kind of error message: “Briefly unavailable for scheduled maintenance.” You will be locked out from your admin area. Your website will be inaccessible. Solution? Easy. You need to go to login to your webhosting server, and remove .maintenance file. You can find it in your blog folder — the same location with your wp-config.php.

Categories
General

WordPress 3.0 Installation Process

Today, I tried the upcoming WordPress 3.0 distribution. It’s not yet released. I installed WordPress 3.0 Beta 2. I do this because I want to know whether I will have some WordPress installations upgraded or not, to find the possibilities and considerations.
The installation process is similar to the previous versions, but I think it’s improved now. After you fill in the database information, usually you will need to provide website name/title, and email address. The installation process will create “admin” as the first user, with randomly generated password. Here are some new fields during the installation process.

Better? Better. Previously, I usually modify the “admin” username directly from database manager — I’m using phpMyAdmin. Some people think that it’s a good practice to remove/change the default administrator login in the system. Now, you can have whatever username for the administrator.
Previously, the first thing you will need to do after you have your WordPress installed is changing the randomly generated password, since it’s not easy to remember. Setting up password during installation should be a time saver.
I haven’t dug any other features like the multi-site, custom menus, and other things offered in this distribution. Later.

Categories
General

Solution: OpenX Missing Statistic Reports

Yesterday, I was a little bit panic because I couldn’t found any statistic reports in an OpenX installation. I didn’t use the latest version (2.8.0). So, I did an upgrade to 2.8.5. But still, the statistics didn’t come back.
I finally found a solution at OpenX Community Forums. Here’s the trick:

  • Go to your database management tool. I’m using phpMyAdmin.
  • Run this simple query: update ox_application_variable set value = 1 where name ='admin_account_id';
  • Voila!

When I went back to the statistic page, I had all statistics available. Great.

Categories
General

10 Reasons Why I Love Posterous

After using Posterous in the last few weeks more frequenlty, I feel that I like it more than before. It feels right. These are 10 reasons why I like Posterous — and why you should love it, too.

1. Email-friendly, of course

One of the internet feature I regularly check is email inbox. Sometime, I want to post something directly from email sent into my inbox. Posterous is about working directly from the email — web-based email or email clients.

2. Free

It’s a free service. Right now, I have 1 GB of free storage. Since it does not offer types of account (free or paid account), Posterous said that we can have more than 1 GB if we hit the limit. If I have to pay to get more storage or features, I will consider to subscribe. But, I hope it offers the right price/package. And, we can have multiple Posterous sites using a single email address.

3. Autopost

How many social media accounts I have? How to distribute or send something to those service easily — if I want to share something using those services? The autopost feature is just perfect. I can send photos to Flickr, send videos to YouTube, post something to my own blog. But, I can do them all automagically from Posterous. And, I can choose whether I want to share them directly or not. Or, I can share only to specific targets.

Categories
General

body_class() for WordPress Theme Designer

I just upgraded my WordPress engine to the latest version. This new version offers some improved and new features. One of them is about body_class() function. Nathan Rice has a definition about this:

The body_class() function operates in nearly the exact same manner as the post_class() function that was introduced in WordPress 2.7. The only differences are the classes it generates. The body_class() function will generate the classes mostly based on where your viewer is on your site.

I used post_class() when it was introduced in WordPress 2.7. This body_class() new function is a great addition for WordPress theme designers. Well, actually it’s not only for WordPress Theme designers, but it’s more for those who want to have/do more on the template. We can have some automatically generated HTML tags like these:

  • <body class="single postid-12">, or
  • <body class="page page-id-9 parent-page-id-0 page-template-default">, or
  • <body class="page-template page-template-tutorial-php logged-in">

See the patterns? Jump to Nathan Rice’s blog posts to read more details. In short, if you want to use this function, just modify your <body> tag. Change it into <body <?php body_class(); ?>>. That’s it!

Categories
General

vBulletin Database Backup

I’m maintaining a pretty big forum. It has a great amount of traffic, AND huge database size. Right now, it has a remote backup server. The optimization is always challenging. Anyway, vBulletin upgrade process was easy. The forum I maintain used vBulletin 3.6.x when it was firstly installed. Right now, it’s using the latest stable release.

The first thing I did before upgrading is to backup its database. Using web-based database management tool like phpMyAdmin is easy. We can export and store it in minutes. BUT, in some cases, it takes more time if we have a large database. So, I use the other method: using the backup script.

When we download vBulletin, there is a backup script included in the distribution. It’s under do_not_upload directory. The file is vb_backup.sh. The first thing we need to do is to edit this script, to locate the configuration file. After that, we only need to execute this command: ./vb_backup.sh backup

It will generate a backup file using this pattern: databasename-dd-mm-yy.sql.gz. Just keep the file into the safe place (outside public directory always recommended), and start upgrading. All done.

Categories
General

WordPress will be much better with your help

As WordPress users, we can contribute to its development in many ways. But, if you do not involve actively in the development, you can get involved by participating in a survey.
This survey will help WordPress developers to determine which features should be on the top priority for WordPress 2.8 (and/or 2.9 and beyond) . If you’re WordPress users, it’s recommended that you’re using WordPress latest stable release: WordPress 2.7. As a WordPress user, here few things I want to have (not in a particular order)

  • Sort by column on list-type screens. It will be useful!
  • Bulk edit on other screens. If it’s similar to bulk edit for entries, that would be great.
  • Choose number of items to display on list-type screens (20/50/100). When doing a batch edit, I can edit more posts at a time.
  • OpenID in core. Even I’m not using it for my blog, I think it will be useful for those who want to have an OpenID-enabled blog.
  • Site closed/maintenance mode. When working on the design, or something is broken, I want to have my blog displays a maintenance screen. Just a simple page, but can be handled from the dashboard.
  • Improve category management. Mmm… can I have built-in category thumbnail? :D
  • User permissions based on categories. Hey, this should be great for blogs with multiple users!
  • Bundle DB backup plugin. Backup is important, so I want to have this. Also, some other DB-related management features e.g. to optimize overhead tables?
  • Better custom fields management
  • Option to delete inactive plugins.
  • More built-in plugins for special purposes like videoblogging or podcast. Can we have podcast plugin like Podpress built-in shipped in the core?
  • Built-in search and replace for posts. Actually, there is a plugin for this purpose.
  • Additional user profile fields.
  • More settings managed from dashboard (web-based). For example to disable/enable Post Revisions. So, the wp-config.php should not need to be edited.

I don’t use widget extensively so I’m fine with widget-related features. Oops.. it’s a long list. I know, those list is based on my personal preferences. You can have different wishlist. :)