To be clear what I am talking about see the image below. It has nice Settings link which leads to plugin settings  from plugin list.

Why I think this is important? Usually plugin creates new submenu in Settings, but sometimes it uses different name and it is not easy to find one. In case 20+ plugins are installed, which is a real case, it is not easy to remember where all these settings are stored.

I consider Settings link  as a must have thing when developing plugin and its pretty easy to add it, see below

Continue reading

You may have heard that current IP address space (4 billion of IPs)  is already fully assigned and there is no free ip addresses left. There is no big panic since ISP and hosting companies have some internal IP reserve. But this definitely leads to quicker deployment of IPv6 protocol.

The main issue is: IPv6 must be supported on both ends of connection: user-end and server-end. It is a classic chicken and egg problem, top few users use IPv6 ->  no IPv6 services exists and no services support IPv6 means, why should clients switch to it?

Since there is no IPv6 alternative, service owners must do a big first step and some of them did. Google, Amazon, Rackspace and many others added IPv6 as alternative to IPv4.

Is you site or blog ready to be accessible via IPv6? I think its time to think about it. I did a switch of my WordPress based blog hosted on Rackspace and here is the story…

Continue reading

I have some servers on Rackspace cloud platform. Having full control over OS allows to make many useful testing, even if its virtualized  Recently while doing some server hardening work I discovered not an obviously thing with iptables. In fact some of my firewall rules where completely ignored!!

I am not the iptables newbie and was very surprised by such behavior. Find the story below…

Continue reading

CDN is abbreviation for Content Delivery Network. Hard to believe that like 5 years ago it sounded like a rocket science in WWW. Only huge sites were able to afford it and configure it right. Now things have completely changed and today’s question is: Why you still do not use CDN for your site or blog?

Because of the W3 Total Cache plugin, setting up a CDN for WordPress based site is criminally simple. Thats another one cent in my love WordPress topic. If your website receives more than a few hundred visitors a month, or if your site makes visitors download a lot of data (images, self-hosted javascripts, flash files, etc.), this is a great setup.

There’s also an SEO benefit in using a CDN…at least indirectly. Faster sites get more traffic from Google and Bing than slower sites. By making your site faster, you increase the likelihood Google will refer people to your site.
Continue reading

WordPress has its own cron job implementation that allows you to schedule your posts and events. It was done in a way to be simple and it works in most cases.

WP-Cron is not a real cron job, it only works when a page is loaded. When a page is requested, it will then check the database to see if there is anything scheduled and after displays to your reader.

However, in some situations, the WP-Cron does not work well and this leads to posts that missed publication schedule and events not executed.  May be you have seen the “Missed Schedule” status.

Continue reading

Its right from UI design point of view to show user some kind of progress in case site or application is busy with some internal processing. Especially with AJAX requests, because they take time!

In jQuery its very easy to hook all AJAX requests into one start/stop functions, so there is no need to show and hide progress indicator on each $.ajax request.

I make usage of nice spin.js library, native JavaScript implementation of configurable spinner.

Continue reading

ImageMagic library not without reason is called magic, it can handle image operations like scale,resize,rotate,filter,clip and 1000+ others.

PDF -> JPEG

Here is simple CLI command to extract one page from PDF file and save it as JPEG image

Where

  • 300 is DPI, more better quality
  • [160] is page number, starting from zero. Can be list [0,1,2] or range [1-10]
  • page.jpg is output file, image type is based on extension

Easy!

Continue reading