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

Share files via HTTP without installing any webserver

Posted on : 20-07-2013 | By : Paolo Iannelli | In : Linux administration, Python, System Administration, Uncategorized


Did you ever been in a situation where you want to share a file and you don’t really have a way to do it ?

I mean, those situations when :

  • you would like to SCP a file, but you can’t because you don’t have your key in the other machine or is not directly reachable
  • you would like to send a file via FTP, but you don’t want to install any FTP server
  • you decide to share the file via HTTP, but then you realize you need to install a webserver with all its dependencies and nevertheless configure it

I have a solution !

Since most distributions nowadays have python installed by default, you can simply go to the directory that hosts the file and run

Port is optional and by default 8000 if you don’t specify a different one.

File listing is enabled by default, so be sure not to share any directory that contains sensitive files!

My suggestion is to put the files you want to expose to a dedicated directory and then start the HTTP server. When you are done, you can safely remove the directory.

Happy serving!

Added new page for Disco Map Reduce with Bootstrap

Posted on : 03-02-2013 | By : Paolo Iannelli | In : BigData, Python, Software Development

Tags: , , , , , , ,



I just added a new page to my bootstrap implementation of Disco (http://www.discoproject.org) Map/Reduce Framework.

The reason why I’m implementing this nice dashboard (although I’m not a Frontend Developer and I know just enough about this field) is to increase awareness of this amazing tool and increase the overall visibility of the project in the Interwebs.

Source is my fork at GitHub, but be aware that many things might not work or look very crappy : it is a “in-development” work, so if you have any issues blame yourself :)

Here are few screenshots :


Disco Dashboard with Bootstrap

Disco Dashboard with Bootstrap

Disco Failed Job with Bootstrap

Disco Failed Job with Bootstrap


Best place for cheap SSL Certificates

Posted on : 15-01-2013 | By : Paolo Iannelli | In : News


Do you need a very cheap SSL certificate for your site?

A Comodo Positive SSL certificate is just 5 euro on Mega SSL Store !

Also, for the first year you can get a Comodo EV certificate (that gives you a nice Green Bar in your browser) for just 80 euro. That’s amazing!

If you own multiple domains instead and want to have a single certificate, they even offer for 75 euro a Comodo Positive SSL MDC certificate as low as 75 euro.

Go take a look !


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 !