New Feature in WordPress Jetpack: Site Management

WordPress just released a new feature in Jetpack: Site Management. This is no doubt a response to the growing need to get people to keep their sites updated. Keeping your website up-to-date is crucial for web security these days, but the truth is most people do not upgrade their site or plugins. From my experience most people either are unaware their site needs to be updated, or they are too afraid to do it because of the potential risk it has to “break” things. In WordPress 3.7 they introduced automatic security upgrades in order to help this issue. But this does not include plugin updates. Needless to say, upgrading your WordPress site is a definite must, and your better off doing it than not. There are many benefits to keeping an updated site: the main one being avoiding security exploits, a.k.a. getting hacked. Most of the time, if your site is up-to-date you should be fine, but old outdated plugins can cause huge security vulnerabilities.

Another benefit of using Site Management is saving time! Just imagine: updating all your sites from one location instead of having to log into each one. If you have over a dozen like I do, then yes, this is fantastic!

Managing multiple WordPress sites from a single location is not a new concept. Some current popular choices include: InfiniteWP, MainWPManageWP, and WPRemote. I’m sure there are more, but these are the ones I am aware of off the top of my head. Each one has a different interface, but the overall goal is the same: manage multiple WordPress sites from one location and keep everything up to date.

I’ve worked on hundreds of client sites, and almost every time when I sign in to the backend their site needs to be updated. I’ve even worked on sites still using WordPress 2.x!

In conclusion, I’m glad to see this features added in JetPack, especially for managing multiple WordPress sites (from WordPress.com). What would be even better is if the automatic plugin updating feature was baked right into WP core and not just JetPack. At least now it is an option that WordPress is offering you, instead of a 3rd party. We’ll see how it goes.

How to set cron jobs for InfiniteWP, when using MAMP on Mac OS X

InfiniteWP is a great tool for managing multiple WordPress sites. I won’t go into explaining all that it can do, but it has a lot of great features, and one feature allows you to run automatic backups of all your WordPress sites (if you buy the addon). But in order to do this you need to add a cron job to your server (or localhost, if you are running it locally). Here’s what the settings panel shows:

infinitewp-cron-settings

 

The problem I ran into is that cron job won’t work if you’re using MAMP because it runs it’s own version of PHP. A great solution is listed on the InfiniteWP Support Forum. One thing I like is it uses CURL instead of PHP. Here are the steps: (replace localhost with the URL of your local copy of IWP)

  1. In Terminal type crontab -e. This allows you to add a cron job, using the vim editor.
  2. Press i on your keyboard to go into vim’s insert mode.
  3. Type in you cron command. For example, to run at minute 5 of every hour using curl, use:
    5 * * * * /usr/bin/curl –silent –compressed http://localhost:8888/cron.php
  4. But to run every 5 minutes, use:
    */5 * * * * /usr/bin/curl –silent –compressed http://localhost:8888/cron.php
  5. Note that if you are not using MAMP’s default 8888 port, you should leave that off.
  6. While in insert mode you can use the arrows and delete keys as you would normally.
  7. Press escape key to exit vim’s insert mode.
  8. Type ZZ (Must be capital letters — saves the file and exits crontab). Or you can type :wq (stands for write and quit).
  9. Verify the cron job details by typing crontab -l (that’s a lower case L) at the terminal prompt.

We recommend that you first try setting the job to run every 2 minutes (with */2), so that you can check, reasonably quickly, that it is running.

Then edit crontab again and change the curl command to your preferred time, either */20 or */5

To learn more about how cron works: http://en.wikipedia.org/wiki/Cron

 

 

How to set up an HP Deskjet 3050 Printer on Google Cloud Print

I’ve spent a lot of time going through forums and message boards looking for directions on how to set up my standard (non e-print ready) printer with Google Cloud Print, and I found quite a few different “answers.” But none of them worked. Some had me creating accounts at hp.com and doing this and that. I gave up for a while, and thought I’d have to buy a new printer. But it turns out, it’s pretty SIMPLE.

Here’s what I did:

  1. Confirm that your printer is connect to your router (push the wireless button on your printer to see if it displays an IP address).
  2. Add printer to a Mac or PC computer. Print from your PC/Mac to test that you are connected wirelessly (you may need a friend’s computer for this).
  3. Go to the chrome browser on your PC/Mac and go to Chrome advanced settings > Google Cloud Print and hit the “Manage” button.
  4. Log in with your google account (the one you use on your Chromebook).
  5. Add the printer to your google cloud printing account (still on your PC/Mac computer)
  6. Now go back to your Chromebook and print something!

This seems much simpler than logging into hp.com and setting up your printer through them. Try it out, and let me know if it worked for you, or if it didn’t. I hope this helps all the people out there who have been having trouble with this.

Get Ready for Meteor Day!

Meteor Day is coming on November 6, 2014. So get ready to meet some other Meteor developers, learn more about what Meteor is, show off what you’ve been creating, and overall have a good time. Stay tuned for more info about where it will be. As of right now I’m working on getting approval to host MeteorDay at GangPlank in Chandler, AZ. Stay tuned!

UPDATE: Our location at GangPlank in Chandler has been approved, and our Meetup group page is live. It’s going to be the first Meteor Meetup group in Phoenix, so come get started with us! Here’s the link: http://www.meetup.com/Meteor-Phoenix

Changes

Just gave BigWilliam.com a facelift. Still more changes to come. Enjoy…

Real-time Internet Data

Check out this interesting chart from pennystocks.la that shows just how much data is getting transferred every second over some major internet-based companies:


Click the animation to open the full version (via PennyStocksLab).

jQuery fire event AFTER window resize is completed

I found this useful snippet here on Stack Overflow, super useful for when you need to fire an event only after the user is done resizing the window, or other events. Works great.

var waitForFinalEvent = (function () {
  var timers = {};
  return function (callback, ms, uniqueId) {
    if (!uniqueId) {
      uniqueId = "Don't call this twice without a uniqueId";
    }
    if (timers[uniqueId]) {
      clearTimeout (timers[uniqueId]);
    }
    timers[uniqueId] = setTimeout(callback, ms);
  };
})();


// Usage
$(window).resize(function () {
    waitForFinalEvent(function(){
      alert('Resize...');
      //...
    }, 500, "some unique string");
});