About me

Paolo Iannelli Picture

Paolo Iannelli

Big Daddy at Mega Labs

Amsterdam Area, Netherlands
Information Technology and Services
C, Python, Big Data, Scalability, High Availability, Performance
Expert Software Engineer with more than 12 years of experience.
Strong in critical thinking, problem solving and high performance architectures.
Paolo Iannelli Labs Rss

Developing applications with Python

Posted on : 28-10-2012 | By : Paolo Iannelli | In : Python, Software Development

Tags: , , , , , , , ,


Ever wondered what is Python or the way it works?

Friend of mine actually wrote an interesting website (Python for Beginners) where you can find all you need to start writing your first Python code.

I must warn you : once you start developing in Python it will soon become your primary language, trust me !

So, if you want to see in one shot how beautiful this language is, take a look at : Python Cheatsheet

Htscanner-enhanced improves webhosting provider’s life

Posted on : 13-10-2012 | By : Paolo Iannelli | In : Linux administration, Performance Engineering, PHP

Tags: , , , , , , , , , , , , , , , , , ,


Short version

Today I spent a little bit of my time to write a small patch for the PHP htscanner module that you can normally find in PECL.

If you use Apache with mod_fcgi and you need something that parses nested .htaccess files, then you need the htscanner inclusive of the patch I wrote. Get it here :

Long version

For who is this module?

The reason why I wrote it is because I run on a scenario where I had to set specific PHP values for each vhost in my cPanel based server that is running Apache + mod_fcgi.

So this module is for anyone, such as cPanel users, that serve vhosts and want to customize PHP values per vhost in a transparent way to the user.

The problem

Since the only way to update PHP configuration values when using mod_fcgi is only by setting them inside your own PHP script, I gave a try to the htscanner module available in PECL.
The module itself is able to scan the directory where you run the PHP script and if it contains a .htaccess file it will parse it, looking for any php_value entries inside the <IfModule> directive and execute them.

That’s fine, but..

The real issue  is that it will only process .htaccess files that are in the same directory. This means that any .htaccess in the previous level won’t have any effect.

The scenario

Let’s say I host my vhosts in the /home/<username>/public_html directory.

On some vhosts I want to have the memory_limit set to default and on some set to 256MB.
Meanwhile, as a big fan of New Relic, I want to give to each vhost a specific application name, so that I can visualize its performance nicely in my New Relic dashboard.

Normally I would ask the user (or do it myself) to put an .htaccess file in the directory the scripts run (ie. the /home/<username>/public_html) :

But what if we just want to set values like this in a transparent way to the user ?
Does he really need to know that I’m setting the newrelic.appname ?
But also, what if the user replace the file or delete it accidentally?
Should I put again the file there or tell the user to fix it?
Will my dashboard in New Relic stop collecting data ?

What I can do is instead is to create an .htaccess file in /home/<username> and don’t give permissions to the user to modify it or delete it.
In this way, the user can in all cases maintain his  “own” .htaccess file in his own public_html directory, without bothering too much about settings he doesn’t have to know.

Of course he will be able to override anytime my settings anytime, but this is not in the scope of this document.

What does my modification do ?

My enhancement is very small, but what you can get with it can be valuable.

Basically, beside any other htscanner default parameters, my modification will allow you to always force the module to use the default_docroot entry.

In fact, the module will always try to find the document_root of the script that is running and look for an .htaccess.
With my mod, you can force the module to use always the default_docroot so that it will pick up each .htaccess contained in that directory and lower levels.

In this way all the .htaccess files between the default_docroot you set and the directory where the script runs will be parsed and the settings applied.

In my case, I have these settings :

Since all my vhosts are hosted using the /home/<username>/public_html structure, placing an .htaccess inside each <username> directory will let me set specific options for PHP based on the user’s vhost.

Where do I get your module ?

The module and the instructions on how to install and setup it are in its own github project page, reachable at the following address :


I hope this module can be useful to everyone and if you have any questions or concerns please let me know !

Make wordpress faster with WP Super Cache plugin

Posted on : 08-10-2012 | By : Paolo Iannelli | In : Performance Engineering

Tags: , , , , , , , , , , , , ,


Have you wondered how to make your wordpress faster?

I just find out a very interesting post from Lucas Rolff on how to improve performances of your WordPress based blogs.

Simply installing WP Super Cache and enabling just few options you can have your WordPress blog fly. All in less than 5 minutes!

Make wordpress faster

Check out its post clicking here or the image and let me or him know if you have any troubles.

How to disable flash uploader Magento

Posted on : 30-07-2012 | By : Paolo Iannelli | In : Magento

Tags: , , , , , ,


How to Disable flash uploader Magento

Tired of that the buggy flash uploader in Magento ?

Do you want just a simple HTML form to upload your pictures and to know how to disable flash uploader Magento?

Be wise, install this plugin and all your troubles are gone away !


Key for connect 2.0

If you want to save time you can use the following key in Magento Connect to install the plugin directly :

  • http://connect20.magentocommerce.com/community/Dull_Uploader

Why disable the flash uploader?

The uploader relays on Flash Player, that might not be available if you are posting from a computer that isn’t yours. Moreover, is well known that sometimes can cause strange errors very difficult to debug, causing you spending lot of time to fix the upload of images!

Enjoy it !

Jailbreak for Kindle 4 Touch

Posted on : 31-05-2012 | By : Paolo Iannelli | In : Jailbreaking

Tags: , , , ,



following my previous post about how to jailbreak the new Kindle 5, some of you asked how to do the same for the Kindle 4.

Here is (again) a link to Yifan Lu blog that explains how to jailbreak your kindle 4 :


Have fun!