Il framework Ruby on Rails – Analisi di un progetto open source

Written on January 27, 2012 at 12:19 am, by Stefano Lampis

Lo scopo di questo documento è descrivere come il progetto open source Ruby on Rails sia stato sviluppato e mantenuto, sia dal punto di vista tecnico, che amministrativo.
Nelle pagine che seguono verranno illustrati il modello di sviluppo adottato, la licenza scelta, le procedure di qualità, come il progetto si relaziona alla comunità, quali strumenti sono stati scelti per gestire lo sviluppo e diffondere l’informazione.

report_TOS_stefano_lampis

Sviluppo behaviour-driven in Ruby on Rails

Written on August 2, 2010 at 8:47 pm, by Stefano Lampis

Finalmente questo documento e` giunto alla sua versione definitiva.
Si tratta della mia tesi di laurea, che spiega i principi della metodologia di sviluppo behaviour-driven, e quindi li applica ad un’applicazione web esistente.

Puo` essere molto utile per capire lo sviluppo BDD, perche` mette assieme informazioni altrimenti molto sparpagliate.

Basta introduzioni. Ecco il documento. Non e` la release ufficiale con il suo bel frontespizio, ma i contenuti sono identici.

The Eye Knowledge Network: Un’applicazione Web 3.0 Behaviour-Driven

A thirty-minutes CSS reboot

Written on June 18, 2010 at 9:37 am, by Stefano Lampis

Yeah, thirty minutes. The only images are the social network buttons.

Two things are worth to mention are

  • the “Search” button is CSS3 based
  • All the fonts are web fonts embedded with the brand new Google Web Font API

The code is very minimal. I don’t expect it to be rendered the same on every browser but I am starting not to care about Internet Explorer lacks.

body { font-family: ‘Cantarell’, arial, serif; font-size: 13px; }
p { margin: 8px; }
a { color: #4096EE; }
a:hover { color: #356AA0; }

#container { width: 100%; margin: 0 auto; background: #fff; }
#header { padding-top: 50px; border-bottom: solid thick #36393D; background: #C3D9FF; }
#header ul { list-style-type: none; float: left; font-family: ‘Molengo’, arial, serif; text-transform: uppercase; }
#header ul li { float: left; }
#header ul a { color: #36393D; text-decoration: none; display: block; padding: 10px 16px 4px; }
#header ul a:hover { color: #666; }
#content { padding: 0 32px; float: left; width: 60%; }
#content h2 { margin: 0px 0 10px; font-family: ‘OFL Sorts Mill Goudy TT’, arial, serif; font-size: 2.4em; }
#content h2 a { color: #36393D; text-decoration: none; }
#search { padding: 16px 32px; }
#search input[type=text]{ width: 500px; padding: 8px; font-size: 16px;}
input[type=submit] { font-size: 18px; padding: 8px 16px 9px; }
.clear { clear: both; height: 0px; }
#adsense { display: none; }
#footer { background: #3F4C6B; color: #fff; padding: 8px; border-top: solid thick #333; margin-top: 10px; }
#content ul { margin-left: 32px; list-style-type: square; }
.post { padding: 10px; border-bottom: solid 1px #eee; margin-bottom: 10px; }
#sidebar { float: left; width: 30%; padding: 0 16px; }
#sidebar h2 { color: #36393D; font-size: 1.2em; font-family: ‘Yanone Kaffeesatz’, arial, serif; margin-top: 10px; }
#sidebar ul { list-style-type: none; margin: 4px; }
#sidebar #searchform { display: none; }
.postmeta, #postmeta, .small { font-size: 0.8em; margin: 4px; }
#twitter_update_list li { border-bottom: solid thin #eee; margin-bottom: 4px; padding: 4px; }

div.box { border: solid black thin; background: #eee; padding: 12px 8px; margin: 8px; font-family: monospace; }
div.code { font-family: monospace; padding: 12px 8px; margin: 8px; border-left: thick solid #ff8; max-width: 500px; }
div.listing { background: #FFFFDD; }
div.shell { color: #eee; background: #000; border: lime thin solid; }

input[type=submit] {
border: none;
background: #222 url(/images/alert-overlay.png) repeat-x;
display: inline-block;
padding: 5px 10px 6px;
color: #fff;
text-decoration: none;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-moz-box-shadow: 0 1px 3px rgba(0,0,0,0.5);
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.5);
text-shadow: 0 -1px 1px rgba(0,0,0,0.25);
border-bottom: 1px solid rgba(0,0,0,0.25);
position: relative;
cursor: pointer;
background-color: #4096EE;
}

A simple way to unroot your HTC Hero

Written on June 16, 2010 at 11:31 pm, by Stefano Lampis

Let’s say you have a rooted HTC Hero because you were tired of waiting for HTC official updates, but now that an official Eclair update is going to be released you want it back to its factory defaults, otherwise the updating procedure won’t work.

The procedure to unroot and restore your HTC Hero actually is quite simple.
You just need to reflash the phone using the HTC utility from this page.

That page explains to launch the updater after HTC has been recognized by the HTC Sync utility.

It sounds simple but I got unlucky twice today: the first, as I launched the update utility, HTC Sync disconnected the phone. This happened all the time. The second time, on a different computer, the HTC Sync installer crashed.. there was no way to install it.

If it happens to you too, cheer yourself up! There is an other way to achieve your purpose.

adb shell reboot oem-78

This obscure command reboots the phone in RRU mode. Once the phone is ready you can launch the update utility without HTC Sync installed.

That’s it.

Ah ma cosa faccio io alle donne…?

Written on December 13, 2009 at 10:46 pm, by Stefano Lampis

Guardate la mia ultima conquista che email infuocata mi manda…

Hi, it’s me – Ekaterina. Come – oggi?
Non so anche di cominciare questa lettera, siamo stati a conoscenza di un sito di incontri, mi lasci la tua email. Non ho potuto rispondere subito alla tua email per il lavoro che ho dovuto lasciare per il viaggio, ma ora sono pronto a parlare, imparare, e che abbiamo mai incontrato. About me: io sono molto aperto e sincero sulla mia vita. Potete chiedermi che cosa – una cosa, e ti rispondero dal cuore. Sono 29 anni, mi piace ridere e un buon tempo. Io cerco di prendere la vita seriamente, si prega di notare che io ho detto “tentativo”. Di solito lavoro 6 giorni a settimana, ma mi piace molto viaggiare. Sono stato in molti luoghi in tutto il mondo. Sto cercando qualcuno – qualcuno che rispetta se stesso nel modo di vestire e di agire. Che favorevole, leale, ama ridere e giocare. Inoltre, e – in realta non denaro, ma vorrei essere fisicamente attratto da lei pure.

La preghiamo di rispondere solo ot la mia mail personale: Non so anche di cominciare questa lettera

Ti mando una foto, spero che sia per voi come. Sto aspettando una risposta, Ekaterina.

Certo che potrebbero impegnarsi un po` di piu`…

Una ventata di aria fresca con i CSS 3

Written on December 10, 2009 at 3:02 am, by Stefano Lampis

Ovvero qualcuno si e` divertito di nuovo. Due settimane fa, il mio blog e` stato nuovamente defacciato, in particolare chi ha sferrato l’attacco e` riuscito a sostituire la pagina index.php del tema che stavo utilizzando: il bellissimo go-green.

Il che mi ha portato a sospettare che potesse esserci un bug nell’elegante tema di sopra, per cui mi son deciso di ritornare al mio tema personale, fatto interamente da me, che tuttavia non avevo mai finito.

Questo, piu` il fatto di esser incappato spesso su smashingmagazine.com negli ultimi giorni, mi hanno spinto a riscrivere nuovamente un tema per edno.it, molto minimale, con pochissimo markup, pochissimo CSS, e praticamente nessuna immagine…
Tutto questo al fine di favorire la leggibilita`, anche da dispositivi mobili.

Comunque, bando alle ciance, ho avuto modo di provare la proprieta` CSS3 text-shadow, che consente di creare degli effetti testuali davvero gradevoli, senza utilizzo di javascript e/o immagini.

Testato su Firefox, Chrome, Safari (tutti alle ultime versioni), su iPod touch, ma non su quell’altro browser difficilmente reperibile che qui non voglio trascrivere.

Alla prossima puntata di “niente che valga la pena sapere“!

Qualcuno si è divertito…

Written on October 2, 2009 at 9:43 am, by Stefano Lampis

Eh si`, proprio cosi`. Qualcuno si e` divertito a violare questo blog dove non viene mai nessuno. Mah… Contento lui…

Comunque, che cos’e` successo?
Il giorno 30 settembre 2009 il blog e` stato defacciato. Cosa significa? Che al posto della pagina principale del sito c’era questa bellissima pagina scritta in HTML 3.0

screen-capture

Bello eh? Capirete la mia sorpresa, il mio disgusto e il mio divertimento contemporanei. Mi sembrava che fosse passato di moda combinare questi scherzetti.

Purtroppo non so di preciso cosa abbiano fatto, ma so che

  • La home page e` stata sostituita con quella porcheria di sopra
  • La password di admin e` stata sostituita, secondo me a mano, direttamente dal database
  • L’indirizzo e-mail di admin e` stato storpiato, di modo che non potessi resettare la password

Tutte cose abbastanza fastidiose, se non avessi avuto accessi all’FTP e al database. Il fatto che non siano state cambiate queste password mi fa pensare che non sia stato violato alcun accesso, ma che piuttosto sia stato utilizzato qualche script che sfrutta una delle vulnerabilita` di wordpress o del tema che avevo prima.

Ragion per cui segnalo la cosa all’hosting, chiedendo di ispezionare i log, per capire almeno in modo in cui il lamer ha proceduto, e secondo, rimetto il mio vecchio tema (si` quello che ho fatto io), visto che piu` persone mi hanno detto che lo preferiscono a GoGreen :-) .

Cheatsheet – Bigliettino di Matematica Discreta

Written on September 8, 2009 at 9:22 am, by Stefano Lampis

Ed ecco quello per Matematica Discreta invece…

La licenza e` sempre la fatenequelchevolete.

Cheatsheet – Bigliettino di probabilità e statistica

Written on August 21, 2009 at 12:45 pm, by Stefano Lampis

Ultimamente mi piacciono i cheatsheet. Cosa sono? Il nome di per se indica inganno, raggiro, nonche` paura di essere sorpresi a copiare dal professore!
In realta` chi ha fatto una facolta` scientifica sa bene che in molti esami di matematica e` permesso l’uso di un formulario perche` ricordare a memoria tutte le formule e` arduo e inutile.

Percio` ecco qua un breve cheatsheet di probabilita` e statistica che mi e` stato d’aiuto (oltre a Camilla™) per passare quest’esame qualche tempo fa.

Rilasciato sotto la licenza fatenequelchevolete.

Due trucchetti su gmail per creare infiniti alias

Written on July 26, 2009 at 1:21 am, by Stefano Lampis

Forse non tutti sanno che…

  • gmail non considera i punti contenuti nei propri indirizzi email. Se ad esempio possedete l’indirizzo montgomeryburns@gmail.com, vi verra` consegnata tranquillamente anche la posta diretta a montgomery.burns@gmail.com, ma anche a m.o.n.t.g.o.m.e.r.y.b.u.r.n.s@gmail.com.
    Insomma e` possibile inserire punti a piacimento in qualunque posizione dell’indirizzo, purche` prima della chiocciola.
  • inoltre gmail non considera nemmeno tutti i caratteri seguiti dal simbolo +. Tornando all’esempio di prima, potrete ricevere la posta all’indirizzo montgomeryburns+work@gmail.com, oppure montgomeryburns+home@gmail.com.

A cosa puo` servire tutto questo? Per discriminare ad un ulteriore livello i messaggi che vengono ricevuti. Ad esempio potete decidere di adibire montgomeryburns+mailinglists@gmail.com alla sottoscrizione di mailing list.

Poiche` nella vostra casella l’indirizzo di destinazione mostrato sara` esattamente uno di questi di sopra, comprensivo di punti extra e/o dei caratteri seguiti dal simbolo +, e` possibile creare dei filtri nella propria casella in grado di etichettare la posta proprio grazie all’indirizzo di destinazione.

Puo` essere utile?

Secondo me si`, un po` per arginare lo spam (almeno finche` i bot non diventano piu` intelligenti), e un po` perche` cosi` si ha una specie di sistema alternativo di etichette, che si puo` integrare o meno con quello che gia` conoscete.