From “Sparky” to “Sunshine” , All about WordPress 4.0 “Benny”

I am really (really!) in accustomed to seeing those sweet words while installing earlier versions of wordpress that ensured me that every credentials i entered were right and we are good to go.

“All right sparky”

Yesterday i was doing a fresh install of the latest WordPress 4.0 “Benny”. I entered the mysql and user details to “famous five minute install” and when i clicked next , i was hoping to find those ensuring words.Instead i got these –

“All right Sunshine”

I see no specific reason for this change. Maybe wordpress refreshed its catchphrase with Benny.

Version 4.0 of WordPress, named “Benny” in honor of jazz clarinetist and bandleader Benny Goodman, is available for download or update in your WordPress dashboard. This release brings you a smoother writing and management experience we think you’ll enjoy.


What’s New



  • Featured image previews now support .bmp files
  • Featured Image meta box is now hidden for contributors lacking upload capabilities
  • New supported oEmbed providers: CollegeHumor, Issuu, Mixcloud, YouTube playlists, TED talks
  • Install WordPress in your language
  • Streamlined Language management right from the dashboard



  • Display embed previews for audio/visual URLs in Visual editor content box.
  • Page scrolling now scrolls post content box.
  • Edit Post/Page menu bar sticks to top of content box when scrolling (Visual and Text editor).
  • Color picker was re-added to the Visual editor



  • Add Media Grid view option (default) for Media Library
  • Add “Bulk Select” button to Media Grid view to delete multiple items
  • Add oEmbed support for TED talks, Mixcloud, CollegeHumor.com, Issuu
  • Expand oEmbed support to include YouTube playlist URLs and Polldaddy’s short URL format
  • Remove Viddler oEmbed support
  • Update SlideShare oEmbed regex
  • Improved media experience on small screen sizes (embedded videos now responsive)
  • Native video and audio shortcodes now support Flash playback looping



  • Comments in trash can now be marked as spam.



  • Display plugins list as grid, with thumbnails, on Add New screen.
  • Add popup window with plugin details (displays info from plugin’s directory page).
  • Add “Beta Testing” tab to Plugins screen for new features-as-plugins.



  • Improved keyboard accessibility in the Add Media panel
  • Improved screen-reader support for Customizer sections
  • Makes links in help tabs keyboard accessible
  • Improvements for screen-readers when managing widgets in the Customizer


Install Process

  • Add language select menu as first Installation screen (skipped for localized installs)



  • mp4 file extension was added to allowed upload file types

Click here to learn more about WordPress 4.0 Benny

How to install Transmission Web Client on Ubuntu Server 12.10

If you are a transload/download  enthusiast and you don’t want your money spent on those expansive seedboxes or other paid services like put.io & zbigz.com, this tutorial is for you.

To get started, you need two things-

  1. A server with root access running ubuntu
  2. Update, Upgrade and install Webmin (See how to install webmin on a ubuntu server here )

Update your software sources first.

sudo apt-get update

Install the transmission package.

sudo apt-get install transmission-daemon

After the installation, create the directory where you want to put all your downloaded files. Let’s just create a Downloads directory inside your home directory.

mkdir ~/Downloads

Since the transmission-daemon runs as the user “debian-transmission”, we have to grant full access to the folder.

sudo chown debian-transmission:debian-transmission ~/Downloads

Add the current user to debian-transmission group.

sudo usermod -a -G debian-transmission <user>

Change the permissions for the directory to allow only owner and group access.

sudo chmod 770 ~/Downloads

Stop the running transmission-daemon first:

sudo service transmission-daemon stop

Edit the configuration file of transmission-daemon:

sudo nano /etc/transmission-daemon/settings.json

The configuration file is easy to understand. Here is my sample configuration:

    "alt-speed-down": 50,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540,
    "alt-speed-time-day": 127,
    "alt-speed-time-enabled": false,
    "alt-speed-time-end": 1020,
    "alt-speed-up": 50,
    "bind-address-ipv4": "",
    "bind-address-ipv6": "::",
    "blocklist-enabled": false,
    "blocklist-url": "http://www.example.com/blocklist",
    "cache-size-mb": 4,
    "dht-enabled": true,
    "download-dir": "/home/<user>/Downloads",
    "download-limit": 1000,
    "download-limit-enabled": 0,
    "download-queue-enabled": true,
    "download-queue-size": 5,
    "encryption": 1,
    "idle-seeding-limit": 30,
    "idle-seeding-limit-enabled": false,
    "incomplete-dir": "/home/<user>/Downloads",
    "incomplete-dir-enabled": false,
    "lpd-enabled": false,
    "max-peers-global": 200,
    "message-level": 2,
    "peer-congestion-algorithm": "",
    "peer-limit-global": 240,
    "peer-limit-per-torrent": 60,
    "peer-port": 51413,
    "peer-port-random-high": 65535,
    "peer-port-random-low": 49152,
    "peer-port-random-on-start": false,
    "peer-socket-tos": "default",
    "pex-enabled": true,
    "port-forwarding-enabled": false,
    "preallocation": 1,
    "prefetch-enabled": 1,
    "queue-stalled-enabled": true,
    "queue-stalled-minutes": 30,
    "ratio-limit": 2,
    "ratio-limit-enabled": false,
    "rename-partial-files": true,
    "rpc-authentication-required": true,
    "rpc-bind-address": "",
    "rpc-enabled": true,
    "rpc-password": "{0b0d1b180f589aed6c3e1ad71ac225880411d2d1hS3pQ8Gj",
    "rpc-port": 9091,
    "rpc-url": "/transmission/",
    "rpc-username": "transmission",
    "rpc-whitelist": ", 192.168.*.*",
    "rpc-whitelist-enabled": false,
    "scrape-paused-torrents-enabled": true,
    "script-torrent-done-enabled": false,
    "script-torrent-done-filename": "",
    "seed-queue-enabled": false,
    "seed-queue-size": 10,
    "speed-limit-down": 100,
    "speed-limit-down-enabled": false,
    "speed-limit-up": 100,
    "speed-limit-up-enabled": false,
    "start-added-torrents": true,
    "trash-original-torrent-files": false,
    "umask": 18,
    "upload-limit": 100,
    "upload-limit-enabled": 0,
    "upload-slots-per-torrent": 14,
    "utp-enabled": true

You have to change the to the username you used to create the directory earlier.
Save the changes and then reload the service:

sudo service transmission-daemon start

Go to the transmission web interface.
Or, just replace localhost with the IP address of the computer in the network.
The default username is: transmission and the password is transmission.
If you want to change the username and password, just edit the setting.json file.
Stop the service first.

sudo service transmission-daemon stop

Find the following lines:

"rpc-password": "password",
"rpc-username": "yancy",

For example, I want to change the username to “yancy” and the password to “password”.
Save the file afterwards and start the service.

sudo service transmission-daemon start

Go to the web interface and log in with the new credentials. After logging in, you will notice that the value for the rpc-password inside the settings.json file will be hashed.


Unmanaged Ubuntu 12.10 VPS – Easy Start With a LAMP Server and Webmin.

Having an unmanaged vps server is not always a bad thing if you are not too  ambitious and know what you are doing.It certainly saves a lot of money as they come cheaper compared to managed ones.
One of the easiest and most flexible way to get started with an Unmanaged server is to install a Linux os called Ubuntu (12.10)  + Apache + Mysql + Php thus called LAMP Server. These are four basic components that make a webpage work.
Working with these components can be hard unless you have a descent UI to deal with.Thus we are going to install Webmin .
We will also try to install some other useful tools for the server that can make your life less painful.

First things first: update

sudo apt-get update && sudo apt-get upgrade

LAMP Stack (Apache, Mysql, PHP)

This will install the LAMP stack in one command

sudo apt-get install lamp-server^


sudo apt-get install phpmyadmin

Choose Apache and then YES for dbconfig-common. If you ever need to edit phpMyAdmin config:

sudo nano /etc/dbconfig-common/phpmyadmin.conf


First install the required components for webmin to work-
apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

Install webmin -
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.660_all.deb 

then run the command : dpkg --install webmin_1.660_all.deb 

The install will be done automatically to /usr/share/webmin, the administration username set to root and the password to your current root password. You should now be able to login to Webmin at the URL http://localhost:10000/. Or if accessing it remotely, replace localhost with your system's IP address. 


sudo apt-get install proftpd

(I always select “standalone”) Turn on Passive FTP via Webmin: Servers –> ProFTPD server –> Virtual Servers –> Default Server –> Networking Options

Masquerade as address = your-server-outside-ip
PASV Port Range: 1024-1088


sudo apt-get install sendmail

PostFix Mail

sudo apt-get install postfix

Select “Internet Site” and then enter the domain name you want the Reverse DNS entry to be. BTW: To avoid your server being blacklisted, get a reverse DNS entry!

Alternative PHP Cache (APC)

APC is the de-facto in PHP acceleration. It’s a PHP opcode cacher and works by caching PHP objects, functions, and database queries into your server’s RAM. If you run a WordPress web site – then it takes full advantage of APC out-of-the-box. See my post on The Perfect APC Configuration

sudo apt-get install php-apc

By default, Ubuntu will install this from a repository which has an outdated version. To install the latest version of APC:

sudo apt-get install make
sudo apt-get install libpcre3-dev
sudo apt-get install php-pear
sudo pecl install apc
sudo /etc/init.d/apache2 restart

Uninstall APC

sudo pecl uninstall apc


Like APC, Memcached is a high-performance, distributed memory object caching system. However, it can work together with multiple servers (unlike APC).

sudo apt-get install memcached
sudo apt-get install php-pear
sudo pecl install memcache

Check to see if Memcached is running

ps aux | grep memcached

Image Magick

sudo apt-get install imagemagick


Icecast is a streaming audio server. If you ever wanted to have your own web radio station (like Shoutcast) here it is:

sudo apt-get install icecast2

Configure Icecast2. Mainly, setting up your passwords and default port.

sudo nano /etc/icecast2/icecast.xml

Enable init.d script. Scroll to the bottom and change enable=true

sudo nano /etc/default/icecast2/

Start icecast2

sudo /etc/init.d/icecast2 start

If you left the default port as 8000 then you can view your Icecast2 Server


Munin – Graphical Server Monitor

Munin requires PHP-CLI

sudo apt-get install php-cli

Now, this is a single server setup, so let’s install munin and munin-node

sudo apt-get install munin munin-node

Configure Munin:

sudo nano /etc/munin/munin.conf

The first thing you should see is the operating directories. We need to change one of them:

# dbdir   /var/lib/munin
# htmldir /var/cache/munin/www
# logdir /var/log/munin
# rundir /var/run/munin


# dbdir   /var/lib/munin
htmldir /var/www/munin
# logdir /var/log/munin
# rundir /var/run/munin

Now let’s edit apache.conf

sudo nano /etc/munin/apache.conf

Delete everything inside apache.conf  and just add:

Alias /munin /var/www/munin

Move the web files to /var/www/munin

sudo mv /var/cache/munin/www/ /var/www/munin

Set permissions

sudo chown munin.munin -R /var/www/munin

Restart Munin

sudo /etc/init.d/munin-node restart

Finally, restart Apache

sudo /etc/init.d/apache2 restart


Cacti – Graphical Server Monitor

sudo apt-get install cacti-spine

Choose YES for dbconfig-common and Apache2. When finished you need to configure:


Default user & pass: admin / admin Remove cacti

sudo apt-get remove cacti

BMON – Simple CLI Bandwidth Monitor

sudo apt-get install bmon

When it’s finished installing:


Zip and Unzip

In my experience ZIP is great for creating archives for sharing via email or ftp. It’s a universal format that almost everyone can open. I would NOT use ZIP for file backups. For large backups, see 7ZIP or TAR below.

sudo apt-get install zip

Zip up a folder:

zip uploads-backup.zip /wp-content/uploads

Unzip (extract) an archive:

unzip uploads-backup.zip /wp-content/uploads


7ZIP is a very popular archiving program with excellent compression. Plus, it’s open source and supports multiple operating systems.

sudo apt-get install p7zip

Create an archive

7za a uploads-backup.7z /wp-content/uploads

Extract an archive

7za e uploads-backup.7z /wp-content/uploads

TAR (Tape Archive)

TAR –  is the prefered way to handle large file backups. I’ve read, the maximum allowed file size only depends on your hard drive. A disk formated with FAT32 for example, only allows 2GB. You can also compress TAR using GZIP or BZ2.

tar -cvf uploads-backup.tar /wp-content/uploads

GZIP – good compression, is very fast. Note: .tar.gz and .tgz are the same:

tar -cvzf uploads-backup.tgz /wp-content/uploads

BZ2 – excellent compression, but slower. I find BZ2 works best if you’re archiving a smaller directory. Note: .tar.bz2 and .tbz are the same:

tar -cvfj plugins-backup.tbz /wp-content/plugins

Untar (extract) an archive:

tar -xvf uploads-backup.tar /wp-content/uploads

Other handy related commands:

Download files

wget http://example.com/wp-content/uploads/uploads-backup.tar

Set a password

sudo passwd ubuntu

Edit PHP.ini

sudo nano /etc/php5/apache2/php.ini

Restart Apache

sudo /etc/init.d/apache2 restart

Set Recursive Permissions for your websites direcotry

sudo chmod -R 775 /var/www/
cd /var/www/ sudo chmod -R www-data:www-data FOLDER NAME

Block IP addresses/hackers using IPTABLES

Single IP

iptables -A INPUT -s -j DROP

IP Range

iptables -A INPUT -s -j DROP

You can also manage IPTABLES (e.g., the linux firewall) via Webmin under “Networking”.

Manage packages

sudo apt-get update && sudo apt-get upgrade
sudo apt-get autoremove

Remove LAMP

sudo apt-get purge libapache2-mod-auth-mysql phpmyadmin
sudo apt-get purge mysql-server mysql-server-5.1 mysql-server-core-5.1
sudo apt-get purge apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5
sudo apt-get autoremove

Serve your websites from an EBS volume

This practice has saved my butt on more than one occasion. Rather than use the given storage attached to the EC2 instance, I always create a 1TB EBS volume and mount it as /public_html/. That way, if your EC2 instance crashes…you’re web site files will not. For this, we’ll assume our attached EBS volume is /xvdf/. First you must be logged in as root:


Make sure you’re in the file system root:


Now, let’s list all the attached drives. You should see /dev/xvda1, /dev/xvdb, /dev/xvdf/ etc…

sudo fdisk -l

Let’s make a directory (such as /public_html/)

mkdir /public_html/

Finally, let’s mount our EBS volume:

mount -t ext4 /dev/xvdf /public_html/

Now you can serve your websites from an EBS volume!

Benchmark the CPU

time for i in {0..10000}; do for j in {0..1000}; do :; done; done

Free VPS Cloud Hosting – 7 days free trial

Ulticloud offers Virtual cloud servers that you can launch and terminate any time you want through a simple web interface or industry standard API. If you are familiar with Amazon web services, Ulticloud provides same versatile and powerful tools of Elastic Cloud computing (EC2)

UltiCloud Compute offers on-demand computing resources, provisioned, managed via APIs for develpers building cloud applications and via web interfaces for administrators and users.

UltiCloud Compute is based on cutting edge cloud platform with no proprietary hardware or software requirements and the ability to integrate with legacy systems and third party technologies. It is designed to manage and automate pools of compute resources.

Try UltiCloud right now. No sign up fees, transparent pricing & fast secure payments. GO


5 Easy steps to make your WordPress site Load Quicker

Speed is one of most important factors to improve the user experience. No body likes a slow loading website.Studies show that users leave a site if it hasn’t loaded in 4 seconds; keep your users happy and engaged by providing a fast performing website!

WordPress in itself is highly optimized for a rich user experience and the default Twenty-Twelve theme is quite lean for a fast user experience.But the things become complicated when you load your wordpress blog with contents, custom themes, a dozen plugins and media stuffs.

Things you should NOT do if you want your blog to load faster.

  1. Don’t use older versions.Always upgrade to latest stable WordPress release.
  2. Don’t use unnecessary Plugins & upgrade current ones.It’s like putting more weight on a powerlifter, it can take only so much of them and ultimately it may fail.Remove any plugins that you aren’t using. Deactivate them and physically delete them from your web server. Deactivated plugins will affect the speed of a site because the WordPress checks to see if they are activated or not. Also you must stay up to date with the latest versions of the plugins you are currently using. Developers release new versions because they’ve modified the code in some way to make the plugin work better.

Many of our users run WordPress either as a CMS or blog platform. With a lot of great plugins available, it’s easy to create a full-featured website with a lot of neat functionality. These plugins however, can insert additional CSS and JavaScript files into your header which can hurt your site’s performance (and Page Speed and YSlow scores).

Website speed can have a huge impact on visitor experience. If your webpages load slowly, visitors will leave or read fewer pages. More to the point, research shows that a 1 second decrease in page load speed can reduce your conversion rates by 7%.

Things you should do to improve the loading speed of your wordpress blog

1. Use A Quality and well built WordPress Theme

The WordPress theme you use can have an impact on speed. Themes differ dramatically in the amount of code they include, how well organized and executed the code is, the number and quantity of images they use, and other factors that affect load speed.

Look for themes that are relatively new or frequently updated, and themes by well-established WordPress developers. If you are open to spending a few bucks, consider investing in a premium theme, especially those build on prominent frameworks like Thesis, Genesis, or Hybrid.

2. Reduce The Number Of Plugins You Use to necessary ones.

It’s so easy to add WordPress plugins. That’s great. But means most of us end up with dozens of plugins installed on our sites, half of which we’re not really using. Yet, each of the active plugins add more code and scripts that slow down your site.

Your goal should be to keep it as light as possible. Go through your plugin list and deactivate and delete any plugins you are no longer using, and even those you are using but can get along without.

3. Regularly Delete Spam Comments And Post Revisions

Both spam comments and post revisions can accumulate at incredible rates. Once they do, they slow down database response times for your site.

For post revisions, install and run the Better Delete Revision plugin. This plugin will allow you to delete hundreds, possibly thousands of revisions across your website quickly and easily.

For spam comments, you can delete them manually, or if you have accumulated an unmanageable number of them, you can use a bulk delete plugin like Bulk Comment Remove.

Also, if you haven’t done it already, install Akismet !

4. How to automatically Reduce & OptimizeThe Size Of Your Images

This one is obvious, but oh-so-often overlooked. It’s surprisingly common for website owners to upload images from their hard drives as-is. They’re usually way larger than they need to be.

Before uploading images, optimize them for the web by resizing them to the smallest resolution you need – definitely less than 1000px in the longest dimension. You should also save them as compressed JPEGs at a medium quality level.

If you are a photographer or designer, or have a habit of writing round-up posts, you should also consider reducing the number images you load on any given page.

Finally, once images are uploaded, you can optimize them even further by using WordPress plugins like WP Smush.it.

5. Install A Caching Plugin

One of the biggest steps you can take to improve loading speeds is to install a solid caching plugin like W3 Total Cache (W3TC)

This plugin speeds up your site in a few ways. It loads saved ‘copies’ of pages on your site, including all their various elements, rather than running to the database to ask for needed page elements each time the page is loaded. It minifies code and files on your site for faster retrieval. And it helps browsers cache the right site elements locally on your visitors computers so they don’t have to be resent.

While there are a lot of ways you can tweak caching plugins, if you just install WP Total Cache and use default settings, you’ll already be well set.

6. How to Optimize Your WP Databases With The WP-Optimize Plugin

WP-Optimize and several other similar plugins allow you to easily clean up your databases. As you add content, posts, pages, images, plugins, new themes, and more to your WordPress site, all of these elements at content to your databases that hangs around even it’s no longer used.

This plugin will cleaning out unused and unneeded content. Above I mentioned reducing the number of plugins you use. This is the kind of plugin you can install and run periodically and then deactivate and remove.

7. Prevent Malicious Code injection With A Security Plugin

WordPress is notoriously susceptible to hacks and malicious code. In addition to creating a huge headache that needs to be cleaned up, malicious code can also cause dramatic speed and performance problems.

Fortunately, there are some great and simple security plugins out there like Bulletproof and WordFence that will protect your site as well as periodically scan it and let you know if any suspicious problems.

8. Add JavaScipts To The Footer instead of Header.

Most likely, you’ve added snippets of code for things like Google Analytics or possibly some advertising networks to your site. You can add this directly to your WordPress theme’s header or footer files files, but most WordPress themes now include an easy box for such scripts in their options panels.

If you have the choice, add these scripts to the footer area of your theme (just before the close of the body tag) rather than the header. Since these scripts aren’t needed to view the page content, placing them in the footer allows critical content to load before browsers execute the scripts.

9. Try JetPack’s Photon: A Free CDN Service from WordPress

Many articles on website speed mention using a CDN or content delivery network. In simple terms, a CDN is global array of servers that stores your information in various places, and then serves your website content from the server closest to your visitor. Because the server is geographically closer, it’s faster.

Great stuff. The main problem is that setting up and using a CDN generally requires advanced technical skills.

Enter Jetpack and Photon. Photon is relatively new feature of Jetpack that makes using CDN possible for the rest of us. With Photon enabled, your media files will be copied to the same server platform used by WordPress.com, and served to your visitors via WordPress.com’s CDN. Amazingly, they don’t even charge you for the storage or bandwidth you consume.

To get set up, you just need to install and enable the Jetpack plugin. By default, Jetpack comes with lots functionality. Be sure to go through and deactivate or disable any functionality you don’t specifically want. Then just enable Photon.

You will need to have an account with WordPress.com, but that’s also free. Otherwise, this is by far the simplest way to get on the CDN train.

10. Consider A More Advanced Hosting Solution

OK, this one is not so quick or simple, but it needs to be said. Most smaller websites are on shared hosting plans. And if you still have a smaller site, shared hosting is a great place to start. It’s both simple and inexpensive.

11.Test your site for page loading and caching related data.

Display page loading time + number of queries

Here is a simple code to insert on your template to know how long it took for your page to load, or how many sql queries were executed. This tip is very good for knowing how well is your WordPress blog is optimized.

<?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?>  seconds.

Get your page load score and improvement tips from GTMetrix.com and Pingdom