Personal tools

tutorials

Nov 12, 2014

Scraping cheap airline tickets

It all started with a bet long time ago. One of my friends couldn't believe that it is actually possible nowadays to travel around the world with low-cost airlines.

Because the term low-cost airline is difficult to define we have agreed that we should bet on something easy to check - like the ticket price per kilometer. After some rough checks the bet was on: travel around the world, flying always in one direction (west or east) for less than €0.03 (3 euro cents) per kilometer (imagine Bologna-New York trip for less than €180).

TL;DR

I think I won. With some python help and many hours of coding I was able to find all the necessary tickets and stay below the price criterion. I have learnt a lot about airlines sales strategy... and something about ant colony optimization algorithm. The trip starts on November 15th, maybe you will meet me in the following months ;-)

Problem

Now the long story. Searching for cheap plane ticket is relatively easy task if you have strict dates and simple route (one or two stops). It starts to be more complicated if you want to stop in 3 places. But what if you have 6 stops or more? None of the existing online tools allows you to make such a query (if you know one - let me know). Things get more fuzzy if you don't have specific dates and just want to travel cheap. Searching manually is not an option: ticket price is likely to change daily and number of possible queries is quite big, I mean really big. Imagine you want to take 5 stops and search with margin of ± 10 days. It gives you 9765625 queries (5^10). Grabbing that data directly from airline database is also not doable. There is no standard approach, most of the small companies have their own system - others use providers that are much too expensive for a single user.

Sooner or later you will start to write a script.

read more

Oct 15, 2014

Vaadin: installation, use and integration with Lotus Domino

Thinking of U and I...

Vaadin: installation, use and integration with Lotus Domino

Vaadin is an open source Web application framework for rich Internet applications. I'll show you a brief example of integration with Lotus Domino in Eclipse environment

I discovered Vaadin accidentally and I think that could be a good framework especially if you are a Java developer and want to create web application quickly.

From Wikipedia:

"The framework incorporates event-driven programming and widgets, which enables a programming model that is closer to GUI software development than traditional web development with HTML and JavaScript."

read more

May 30, 2014

How to write a good documentation - The big Plan

A room without books is like a body without a soul (Cicero)

How to write a good documentation - The big Plan

Earlier this year I had a perfect chance to participate to a sprint where the organization of documentation was the main purpose. Here it is what I learned

From ideas to reality

As you may know, what leads an open source project to the glory it's a well-written, clear and accessible documentation. This is more and more true as we are leaving the first era of internet where the technology was the king and we are entering the era where technology is just a tool that provides features and everything is more black boxed.

read more

May 11, 2014

Come creare l'ambiente di sviluppo per le vostre applicazioni AngularJS

AngularJS rock!!

Come creare l'ambiente di sviluppo per le vostre applicazioni AngularJS

L'ecosistema di applicazioni che si crea attorno ad un framework è determinante per il suo successo. Vediamo assieme come creare l'ambiente giusto per AngularJS

Basta una semplice ricerca in rete per rendersi conto di quanto rapidamente si stiano diffondendo i framework JavaScript ispirati al pattern MVC, segno evidente di un WEB in continua evoluzione.

AngularJS tra questi è sicuramente uno dei più interessanti e attivi, probabilmente grazie anche alla sponsorizzazione di Google.

read more

Apr 30, 2014

Pyinter: come gestire intervalli di tempo con Python

Peace on Earth

Pyinter: come gestire intervalli di tempo con Python

Filed Under:

Evitare overbooking? Trovare momenti liberi o individuare eventi che ricadono tra due istanti di tempo? Inutile spaccarsi la testa o reinventare la ruota

Perché Pynter

La libreria gestisce oggetti rappresentabili sotto forma di un intervallo matematico: in soldoni e senza essere troppo rigorosi, un intervallo è qualcosa che ha un inizio e una fine. Vien da sé che per descrivere oggetti come appuntamenti, prenotazioni ed eventi è perfetta!

Di librerie simili ce ne sono molte su PyPI, ad esempio:

read more