All posts by Emiliano

Shellshock, a new server security threat

Image credits: bankinfosecurity.com

Image credits: bankinfosecurity.com

I’m sorry for the long absence, but last three months has been really intense.
Probably you know yet about Heartbleed, the bug in the most used SSL library.

Another very huge bug has been discovered in this days, Shellrock. This bug is present in Bash, the shell utility more used in the world in almost all unix/linux devices. Bash is used in Router, Server, Macs ad so on… Actually the patch has been released and all the major Linux distribution have already patched Bash. The bug is already exploited, infacts it’s easily exploitable through special http request to services using bash. Continue reading

How Google Pagespeed make this website faster

pagespeedProbably you already know Google Pagespeed, that is the name of three Google’s tools. This project has the target to make the web faster, a very important topic lately… Precisely the tools are:

  • Pagespeed Insight, the most famous tool. It’s a page analyzer to bench page performance, and suggests what you should change in your website to speed up your website load time.
  • Pagespeed Module, is the main subject of this post. This is a module, available for Nginx (ngx_pagespeed) and Apache (mod_pagespeed), automatically perform optimization to speed up your pages, without the need to change anything in your application code.
  • Pagespeed Service, is a proxy managed by Google, powered by the Pagespeed Module. If you haven’t the possibility to install the module directly on your server, this is the best solution.

As I told in a previous post, this website server runs Pagespeed. Using this module I had many facilities. The module performs many optimizations, which are boring to implement, especially on a CMS… Continue reading

It’s SSD time!

SSD Crucial M500Few days ago I just done the ultimate upgrade for my PC. Obviously this upgrade is a SSD aka Solid State Drive. Nobody imaginated before the SSD how much the disk system is important for our PC performance. My PC boot in only 5 seconds, and I open huge software which required 20-30 seconds, in just 3-5 seconds. My choice is a Crucial M500, great compromise between cost and performance.

I don’t was too interested about the SSD performance, because almost all SSDs saturate the SATA 2 channel (3 gbit port). In facts for older PC as mine, the bottleneck is the SATA port. SSD as the M500 saturates also the SATA 3 port (6Gbit).

Why does SSD boost performance? In four words: no mechanical moving parts. Storing data on chips, zero the latency to retrieving data from different sectors in the drive. In a normal Hard Disk, there is a rotating disk and a head which move on the disk to retrieve data. If the data accessed by PC were contiguous, HD could have performance similar to SSD. But in real world accessed data are scattered on the disk. This slows down performance for a HD, because it need to move the head to get the data. For a SSD there isn’t anything to move, and can retrieve the data with no latency. Continue reading

Developing a Windows Phone App…

App Windows PhoneAfter a really hard month,  I find the time to write a new post.
In this time, I had occasion to develop a Windows Phone Application for the first time. The .Net Environment and C# are not unkwnon in my exprerience, I had much occasion to work with Microsoft technology and the awesome Visual Studio.

However, from the last time I put hands in this environment, some things have changed, and I am really astonished by the choices has been made by Microsoft .

The first terrible tihng I came across, it’s not all Visual Studio edition are compatible with all Windows Phone SDK versions.  I needed to develop an app that would support Windows Phone 7.  But I had to find out that the 2013 edition that I had already installed, supported only by SDK 8 onwards. Both iOS and Android have not this type of requirements, at least for version so close.

The second wicked choice I came across, is the requirement for SLAT technology for the CPU tu run the Windows Phone 8 emulator. No virtualization software has this strange requirement, olny Microsoft. These instructions are present only in very recent CPU, preventing people like me, who still have a very powerful CPU, such as an Intel Core 2 Quad Core, to develop software for newer Windows Phone. Continue reading

Migration completed!

As I told in the previous post, I expressed the will to try running this blog on HHVM. I started transferring from a normal shared hosting to  a very cheap VPS.

Obviously the infrastructure is really updated, in fact I installed HHVM, Nginx 1.5, MariaDB 10. HHVM, among PHP without opcache running on the shared hosting, really boosted WordPress performance. However, I was still unsatisfied.

So I decided to enable SSL on this site, surely not due to top-secret material showed on this site, but becouse this is a requirement to implement SPDY, an HTTP protocol evolution, developed by Google. This protocol enables to really decrease page latency.

I proceeded to refactoring the website, with the will to save everywhere kilobytes e reduce the number of resources to load. Google Pagespeed is really helpful in this situation. It optimizes in real-time all resources. Continue reading

Facebook rebuilds PHP with HACK e HHVM

HHVMFacebook is probably the largest website running on the PHP platform. This “old” language was created by Rasmus Lerdof as a scripting language to facilitate and to speed website realization in the “far” 1995. Main features were dynamic allocation of variable’s type, and the absence of compilation. To edit file and run the web page is enough.

Clearly, these features, if on one hand make developing more easy and more affordable for a larger community, on the other hand heavily affect performance. The Zend engine (the standard php runner) must detect in every variable usage, its type, and convert it in the right type, depending on the context. As a language can simulate the type absence, at the execution layers it’s not possible. Continue reading