Category Archives: blog

Top WordPress plugin authors chart update

Today’s update on the Top 200 WordPress plugin authors chart unfolds a big climber: in the past 7 weeks WooThemes, creator of the impressive WooCommerce eCommerce plugin, gained 4 positions, ending up from 19th to 15th, with over 4 million total downloads.

All the other plugin authors in Top 20 hold their spots, with Automattic on top (and 7th, and several other positions, due to their multiple accounts) with 21 million downloads; Takayuki Miyoshi (Contact Form 7) follows with 20 million, while Michael Torbert (All in One Seo Pack) is third with 18 million total downloads.

Continue reading

Top 1000 most used WordPress plugins

Here is a list of the Top 1000 most used WordPress plugins.

Unlike other rankings online, this list counts active websites updating regularly each plugin, giving the best picture about the real WP plugin universe.

Continue reading

Fruitbots, a JS bot challenge

Fruitbots challenge

I sometimes like to join bot challenges to improve my programming skills and logic reasoning.

Last week I discovered Fruitbots, a JavaScript bot challenge created by the Scribd staff. Like every good challenge of its type, it features simple rules and a clear bot API. It can also be scripted in 4 languages: Python, Lua, Ruby and JavaScript.

The Fruitbots world is a board with different kind of fruits lying around. The goal is to collect more fruits than the opponent bot, of many types as possible.

Continue reading

Deploying in 2013, from Grunt to Amazon S3

What is your deploying chain right now? How has it changed over time?

Deploying in 2013

The actual deploy of a single page app I’m involved is based on a single Grunt script, executing on a Node.js environment.

The Grunt chain takes all the files (Backbone.js app, JS libs, HTML templates, CSS and images), checks, copies, concatenates and minificates them.

The resulting dir is versioned and uploaded to an Amazon S3 bucket and to a redundant static cache. We start with 259 files (images excluded) to end up with 13 files, serving 4 different environments. Every final file is available in debug and minified version, requests can be made with http and https protocols.

Previously, all this was made manually, for 4 different servers. Now, only an error free, time saving, automated single task. Thanks, Grunt!

p.s. If only Amazon S3 would serve gzipped files easily …

How to update the remote content of a Modal in Twitter Bootstrap

Twitter Bootstrap is a very good tool with beautiful graphics and lots of tiny useful objects.

The Modal object is nice and lightweight, and is also able to load remote content. I liked it and wanted to use it on a list of links, loading new content every time a link was pressed.

The problem

Unfortunately, I found that the Modal remote content load feature works only the first time the object is used! Once a Modal object is instantiated, it is persistently attached to the element specified by data-target; subsequent calls to show it will only call toggle() on it, but will not update its content. This is because the remote load is done in the constructor of the Modal object, so even changing its properties, the content won’t be updated.

Continue reading

How to implement a custom File Manager in TinyMCE 4

The TinyMCE 4 javascript editor supports HTML5 and features a new interface and a complete rewrite of all plugins. TinyMCE is the standard WYSIWYG editor for online CMS and websites: if you have a custom file manager attached to the image button, it’s time to think about updating its loading code.

To do this in minutes, you can add a quick hack to the new image plugin. Of course, this tutorial covers a standard approach not related to any File Manager in particular. Your final working code will be strictly related to the File Manager in use, and its file upload and file select tools.

Continue reading

MySql performance optimization tricks

MySql performance optimization is an interesting task, I like to focus on it on my free time.

Please note that these are house rules. There is no guarantee that your performance will improve. Use with precautions!

Continue reading