Personal tools

tools

Sep 09, 2015

redturtle.lookup: un aiuto per i prodotti su installazioni condivise

come gestire i prodotti senza impazzire

redturtle.lookup: un aiuto per i prodotti su installazioni condivise

Filed Under:

La gestione di prodotti su più siti di una stessa installazione può essere un incubo per gli amministratori. Un semplice tool potrebbe migliorargli la vita sensibilmente

A chi non è mai capitato di avere un paio di siti nella stessa installazione di Plone, che condividono quindi gli stessi prodotti?

Con un'installazione grande è quasi impossibile gestire i vari aggiornamenti

Ogni volta che si aggiorna un prodotto, se è presente una procedura di aggiornamento, bisogna andare in ogni singolo sito ad aggiornare quel prodotto. Stessa cosa se si inserisce un nuovo prodotto che va installato in tutti i siti.

Ora pensate ad un'installazione molto più grande e complessa e moltiplicate queste operazioni per una ventina di siti (per esempio un'università con tutte le varie facoltà o un'ente con un'infinità di portali tematici gemelli) con un centinaio di prodotti disponibili, e capirete che la gestione dei prodotti e dei loro aggiornamenti potrebbe diventare "complicata".

read more

Jan 15, 2015

plone.api e documentazione: le linee guida del buon plonista

Scegliere la strada giusta può essere difficile a volte

plone.api e documentazione: le linee guida del buon plonista

Per non perdersi nel mare di possibilità implementative e scegliere sempre la strada giusta, basta seguire le linee guida che la comunità (finalmente) ci offre.

Si sa, il mondo è bello perché è vario, soprattutto nella programmazione: esistono mille modi diversi per risolvere un problema.

Un giorno Alice arrivò ad un bivio sulla strada e vide lo Stregatto sull'albero.
- "Che strada devo prendere?" chiese.
La risposta fu una domanda:
- "Dove vuoi andare?"
- "Non lo so", rispose Alice.
- "Allora, - disse lo Stregatto - non ha importanza".

Il lato positivo di questa libertà è che ognuno può implementare la soluzione come meglio crede.
Può capitare quindi che a seconda dell'umore, delle preferenze personali, o anche solo del tempo a disposizione (quante volte sarà capitato di avere tempi di sviluppo troppo serrati e scrivere del gran spaghetti code solo per poter concludere il lavoro) il risultato prodotto sia estremamente vario, ma funzioni comunque correttamente.

Il risvolto della medaglia, però, è che se si lavora in gruppo o in una comunità dove tutti possono leggere e attingere dal codice scritto da altri, ci si può trovare di fronte a codice incomprensibile: in questi casi il focus sul risultato finale non basta!
Se non si segue una certa linea di condotta, quello che si produce potrebbe risultare poco chiaro o troppo complicato e quindi generare confusione in chi non ha scritto direttamente quel codice. Soprattutto se chi legge non è un esperto e ha bisogno di capire qual'è la strada migliore da seguire.

read more

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 01, 2014

Cookiecutter: uno strumento per sfornare nuovi progetti a raffica

Ecco come hanno creato veramente i cloni

Cookiecutter: uno strumento per sfornare nuovi progetti a raffica

Come un bravo pasticciere, con gli stampini giusti si possono creare nuovi progetti facilmente e con semplici comandi. Io ci ho provato con Flask ed è venuto buonissimo.

Ho già parlato diverse volte di come la vita del programmatore migliora notevolmente con il riuso di codice (gli snippets per Sublime Text) e l'utilizzo di strumenti che velocizzano alcuni processi, come la creazione di un nuovo progetto (se vi ricordate, avevo scritto dell'ottimo mr.bob).

I generatori automatici di template non servono solamente a creare una struttura di base in un solo comando, ma sono anche molto utili per rispettare i vari standard e le best practices imposti dai vari framework e linguaggi.

Per un progetto personale (sì, la solita applicazione di gestione del Fantacalcio che ogni anno rifaccio per sperimentare cose nuove) avevo la necessità di creare un'applicazione Flask da zero.

Avevo bisogno di qualcosa di abbastanza strutturato, quindi ho iniziato a documentarmi sul pattern da utilizzare per suddividere i vari moduli.
Essendo pigro (e abituato ai vari Paste e mr.bob), però, mi sarebbe piaciuto anche trovare qualche strumento che facesse tutto da solo.

Ho trovato diversi modelli già pronti su github, dove bastava semplicemente clonarli e iniziare a lavorare, ma alla fine ho optato per provare un template ad hoc creato per Cookiecutter. Da buona tartaruga rossa non potevo scegliere uno strumento più azzeccato, per mantenere alta la nostra fama di mangioni!

read more

Sep 16, 2014

Prototipi e mockups per Mobile: è semplice con gli strumenti giusti!

Tap, swipe, pinch, bump... e il clic?

Prototipi e mockups per Mobile: è semplice con gli strumenti giusti!

Filed Under:

Progettare e prototipare una nuova App sono le fondamenta per una buona riuscita: se il cemento è sabbioso basterà un "tap" di troppo a far crollare il castello

Sviluppare applicazioni per device (smartphone, tablet e surrogati) richiede un’analisi preliminare, se non pari, addirittura superiore a quella di un sito. Lo stesso dicasi per la realizzazione di siti web in ottica “mobile first”.

Le dimensioni dello schermo, il modo in cui l’utente può interagire con la nostra app, le molteplici situazioni in cui lo stesso utente si può trovare nel momento in cui la utilizza e addirittura il numero di zampe di cui dispone (leggi l’articolo fino in fondo e mi darai ragione ;-) sono tutti fattori determinanti da tenere sotto controllo, dall’analisi alla pubblicazione sullo store.

In questo post ho raccolto alcuni strumenti che possono aiutare nella fase di progettazione e protipazione su mobile.

read more