Luciano Mammino

Web developer, entrepreneur, fighter, butterfly maker!

Transparent pixel response with Symfony, how to track email opening

If you have ever heard about ” transparent pixel ”, ” 1x1 blank pixel ”, ” tracking pixel ” or simply ” tracking image ” you probably know what we are going to talk about and can just skip to the implementation ! Introduction Transparent pixel image is a technique often used to track some user behavior (often visits or views to a certain online content) in scenarios where you can’t use javascript. One of the most common scenarios is probably email opening tracking. Can you put Google Analytics into an…

Introducing ORM Cheatsheet

This week I received an interesting email from Martin Stradej, the developer of ORM Designer , a tool to design ORM relationships with a simple but powerful graphic user interface. Martin wrote the mail because he wanted to acknowledge me of his latest project: ORM Cheatsheet . ORM Cheatsheet, as the name suggests, is nothing more than a reference website for those who struggles with some of the most common Php ORM libraries (it currently supports Doctrine2 and Doctrine , but it seems that Propel and…

3 invitations to try Atom.io

I have finally got my invitation to try the new text editor Atom.io . Atom is built with web technologies (node.js in it’s core) by the folks at GitHub and it’s somewhat very similar to the famous SublimeText . In my opinion it seems very promising (even if it’s significantly slower than SublimeText), anyway I have to try it a lot more before shaping a serious opinion about it. The point of this topic is that Atom.io is currently in closed beta and I have received 3 invitations to share with whom is…

Reset your MySql server password

Few days ago I learned an interesting trick that allows you to reset the password on a MySql server. This trick is pretty useful in case you have lost (or you haven’t ever had) the password of your MySql root user. You just need to throw some commands at the console. Note that I am assuming you are using Ubuntu or some other Debian derivate. Otherwise the commands may change a bit (but not to much I believe). 1. Stop the mysql daemon 2. Disable the security checks The mysqld_safe command will essentially…

Write a console application using Symfony and Pimple

In this article I will show you how to set up a stand alone command line application by using the Symfony Console component and Pimple . Writing console commands for Symfony (full stack framework) is easy and enjoyable. It helps a lot when you need to handle particular collateral tasks that are needed, in a way or another, to make your website running (processing and crunching data, make async requests, create reports, etc.). Anyway I discovered that writing stand alone command line applications using…

Integrating Twig.js and BazingaJsTranslationBundle

Recently I had the need to run a twig template that uses the filter on my frontend using twig.js , a pure JavaScript port of twig written by the good Johannes Schmitt . The JavaScript version does not handle all the functionalities offered by the original PHP version (even if it goes pretty close) and in particular it does not natively handle the filter. So, at first, I got a JavaScript runtime exception on my page when trying to use the template. Luckily enough the JavaScript version of twig is…

Symfony security: authentication made simple (well, maybe!)

The Symfony2 security component has the fame of being one of the most complex in the framework. I tend to believe that’s partially true, not because the component is really that complex, but because there are (really) a lot of concepts involved and it may be difficult to understand them all at once and have a clear vision as a whole. I am in the process of writing an OAuth bundle and I faced the need to deeply understand how the authentication process work in Symfony2 to being able to integrate the…

Writing a new Extractor for PHPoAuthUserData

In my previous post I introduced my latest library PHPoAuthUserData that allows to abstract the process of extracting user profile data from various OAuth providers ( Facebook , Twitter , Linkedin , etc). The library still need a lot of work, especially to write the logic to extract data from all the services available in the parent OAuth library . At the moment the library supports only the most common OAuth providers. I would be glad to support all the following services: Amazon, BitBucket, BitLy…

New PHP library: PHPoAuthUserData

I recently wrote a new PHP library to simplify the extraction of user data ( name , email , id , etc…) from various OAuth providers such as Facebook , Twitter and Linkedin . Is well know that OAuth 1 and 2 are great standard protocols to authenticate users in our apps. Anyway we often need to go further the authentication process and extract various information about the authenticated users. Unfortunately this is something that is not standardized and obviously each OAuth provider manages user…

Backup your server with Dropbox

In my early days as CTO at Sbaam I had to setup a web server from the ground up. As it happens in many startups the work had to be done quickly and with an almost-0-budget , so it left no space to sophisticated solutions for recurring tasks such as backup . I always have been a web developer and focused on coding so, I admit I had really a poor knowledge about how to setup a remote unix virtual machine. So, speaking about backups, I needed a solution that would be cost-effective, easy to install and…