JS e critiche

4 Gennaio 2015 — Commenti

Da ormai 6 mesi sono entrato full-time nel magico mondo delle single-page-applications. Non è stato il mio primo contatto con questo mondo, in realtà: negli anni passati ho avuto diverse esperienze su varie librerie e “filosofie” di organizzazione di un progetto client-side: Backbone, EmberJS, Knockout, Batman.js. L’esperienza acquisita negli ultimi mesi con AngularJS e React ha completato il cerchio.

RubyDay 2014

24 Dicembre 2014 — Commenti

Dire di essere in ritardo è un eufemismo, ma ci tenevo comunque a lasciare traccia su questo blog dei due talk che quest'anno ho proposto al RubyDay, e che rappresentano molto bene due le “aree tematiche” che posso dire di aver approfondito nel 2014.

Rails i18n più semplice con vim-i18n

2 Novembre 2013 — Commenti

Mi sono totalmente dimenticato di riportarlo qui, ma tipo 7 mesi fa ho rilasciato un plugin per vim pensato per rendere più semplice e meno tediosa la traduzione delle proprie applicazioni Rails: vim-i18n.

Font sizing responsive per sani di mente: conosci i rem?

7 Settembre 2013 — Commenti

Piccola confessione: le unità em non sono mai riuscito a sopportarle. Sarò negato in aritmetica, ma dal secondo livello di nesting semplicemente perdo il controllo della situazione: durante la scrittura del CSS non sono più in grado di intuire quanti pixel approssimativamente verrà grosso un dato testo o box. E se non sono i grado io che lo sto scrivendo, figuriamoci il prossimo disperato che dovrà rimetterci le mani sopra tra qualche mese.

La mia esperienza con i Page Objects

30 Agosto 2013 — Commenti

Il pattern Page object ha come obiettivo quello di mettere a disposizione del sistema oggetti che rappresentino mapping 1:1 con una specifica pagina (o collezioni di pagine) presenti nella nostra UI.

RubyDay 2013

15 Giugno 2013 — Commenti

Non avevo accennato della cosa in questo blog, ma io e il prode Ju Liu abbiamo partecipato al RubyDay, tenutosi ieri a Milano, per la prima volta in veste di speaker!

Get me torrents!

23 Maggio 2013 — Commenti

Sebbene la stasi di questo posto, diverse cose divertenti sono successe da gennaio, tra cui il side-project Get me torrents!, che dopo 3 ore dalla messa in onda si è ritrovato sulla front page di Reddit:

Persistere sessioni di lavoro con Vim

15 Dicembre 2012 — Commenti

Vim continua a stupirmi. Spesso e volentieri mi sono ritrovato a chiedermi se esistesse un modo per ripristinare lo stato delle viste così come lasciate prima dell'ultima chiusura.

Redpomo: la mia risposta al time-tracking

5 Maggio 2012 — Commenti

Quando si tratta di gestire una piccola compagnia di sviluppo software, essere in grado di stimare i tempi di consegna dei progetti in corso, e dunque poter pianificare le disponibilità future dei (pochi) sviluppatori è fondamentale.

Un mese di nuove sfide!

12 Marzo 2012 — Commenti

In effetti mi sembrava che fosse tutto troppo tranquillo ultimamente. Qualcosa doveva capitare. Sta capitando.

Ottimizzare la leggibilità del proprio sito con Compass /3

22 Gennaio 2012 — Commenti

Bene, dopo una sfarinatura su come mantenere un ritmo verticale tramite Compass, su come impostare una scala tipografica, su come gestire in maniera ottimale i font-size mediante em, arriviamo all'ultimo passaggio: come scegliere in maniera ottimale line-height e font-size per il tag <body>, ovvero le dimensioni che saranno di riferimento per l'intero sito?

Ottimizzare la leggibilità del proprio sito con Compass /1

11 Gennaio 2012 — Commenti

Nel recente restyling di questo blog mi sono concentrato sul rendere la lettura di ogni pagina il più piacevole possibile. Era un campo inesplorato per me, e sono talmente eccitato delle scoperte fatte e del risultato ottenuto che non posso non riassumervi qualcosa.

Spinach e Turnip: alternative a Cucumber

16 Dicembre 2011 — Commenti

Negli ultimi tempi sembra esserci stata una presa di coscienza collettiva nel mondo Rails/BDD. Se fino a sei mesi fa eravamo in piena Cucumber-mania, la situazione pare essersi quantomeno ribilanciata. Bello Cucumber? No, il contrario. E’ terribile, con quella miriade di steps globali ed espressioni regolari da dover domare evitando conflitti e ambiguità.

Tabs UJS con i data-behaviour

23 Ottobre 2011 — Commenti

Ho scoperto l'UJS in concomitanza della sua introduzione massiccia su Rails: ne sono rimasto immediatamente affascinato. Un coupling ancora meno stretto tra contenuto e comportamenti dinamici della pagina, utilizzando come strumento di comunicazione gli attributi HTML5 data-*? Fantastico! :)

Linear gradients su IE: Sinatra alla riscossa

23 Ottobre 2011 — Commenti

Con strumenti come Sass e Compass il CSS sta vivendo il suo primo vero rinascimento: la possibilità di astrarre, modularizzare e parametrizzare i fogli di stile ci permette di rendere più stimolante, rapido e mantenibile un lavoro altrimenti devastante a causa dei vari rendering engines da dover gestire.

Un task Capistrano per backuppare il DB di produzione

13 Settembre 2011 — Commenti

Recentemente, per riprodurre un bug che si presentava solo in produzione, ho pensato bene di creare un piccolo task Capistrano per copiare in locale l'intero contenuto del DB remoto. Il task funziona solo se il DB di produzione è MySQL. Troverete il risultato nella cartella backups del vostro progetto Rails. Eccolo:

Il costo del cambiamento nel mondo Agile

28 Agosto 2011 — Commenti

Una delle assunzioni universali dell’ingegneria del software è quella che vede il costo necessario per modificare un programma crescere esponenzialmente nel tempo. Chi di noi non ha mai visto qualcosa di simile su un manualone di programmazione?

Buone vacanze!

27 Luglio 2011 — Commenti

Il vostro fedelissimo a partire da giovedì si ritira per un paio di settimane di riposo in famiglia. E’ stato un anno impegnativo e pieno di sfide, sotto tutti i punti di vista. Sono felice di poter dire, come si suol dire, di aver tenuto botta a un cambio di città e al primo anno di vita di weLaika. Ora tutta la stanchezza accumulata sta iniziando a farsi sentire sul serio. Ci si risente da metà agosto circa, fate i bravi!

I più bei bottoni CSS3 del mondo

26 Luglio 2011 — Commenti

Chad Mazzola è riuscito a creare un set di bottoni CSS3 incredibilmente lickable, prendendo spunto dagli stili più celebri presenti nella rete. Da quando conosco questo set, ho smesso di cercare altrove.

Unique Value Proposition

6 Luglio 2011 — Commenti

The UVP is hard to get right because you have to distill the essence of your product in a few words that can fit in the headline of your landing page. Additionally, your UVP also needs to be different and that difference needs to matter. First-time visitors spend 8 seconds on average on a landing page. Your UVP is their first interaction with your product - craft a good UVP and they might stay and view the rest of your site. Otherwise, they’ll simply leave.

"Coming soon" pages? Evitale.

4 Luglio 2011 — Commenti

By skipping the “coming soon” page, you can really focus on what matters. Instead of a “coming soon” page, put up a landing page for your product. Make it look like the product exists, and then when people try and sign up, show them a page letting them know that you’re not quite ready for them yet. The effort is the same, but this tiny change can give you massive rewards. By skipping the “coming soon” page, you gain validated learning about the emails you collect: they are people who thought your product existed and showed a real interest by trying to sign up. If you have people hitting the page and no one gives you their email, you know there’s a problem with your idea or the way you’re describing it.

Why sharing knowledge is vital for success

29 Giugno 2011 — Commenti

Sharing knowledge is one of the best things you can do to become a great team player and ultimately a leader. It is essential not only for the success of people around you, but for your own success in the first place. The more you share, the more people respect you. The more respected you feel, the more you’re willing to share. The more you give away, the more new opportunities come your way.

From idea to paying costumers in 7 weeks

27 Giugno 2011 — Commenti

E’ la prima volta che ne parlo in questo blog, ma è un topic che sto seguendo ormai da alcuni mesi con attenzione ed interesse: il minimum viable product. E’ un concetto sviluppato ormai tre anni fa da Eric Ries in un più ampio contesto, quello denominato del Lean Thinking, riassumibile nello sviluppare sempre il minimo indispensabile per ottenere nuove interessanti informazioni dai propri clienti e visitatori, in modo da guidare i successivi sviluppi sulla base dei feedback registrati.

Implementing DSL Blocks

19 Giugno 2011 — Commenti

Una panoramica ultra-comprensibile e dettagliata sul mondo dei DSL in Ruby e sui vantaggi e svantaggi delle varie tecniche possibili per realizzarli. Incrocerete i problemi del metodo instance_eval spesso utilizzato in questi casi, scoprirete probabilmente per la prima volta mixico, una gemma prodotta anni addietro dal compianto Why.

atk_icons: Agile Toolkit Icon Set su Compass

7 Giugno 2011 — Commenti

Da un paio di progetti a questa parte sto facendo un uso massiccio di un iconset non particolarmente conosciuto: Agile Toolkit Icon Set. Trattasi di 128 iconcine 16x16 da poter utilizzare in un sacco di contesti, e che con uno sforzo minimo rendono immediatamente più attraente, usabile e caratterizzante un sito.

Propositi di inizio Giugno

5 Giugno 2011 — Commenti

Dopo due mesi di vita di questo nuovo esperimento – e assodato il fatto di essere in grado di reggere per davvero una media di 4-5 mini-post a settimana – credo sia arrivato il momento di fare una piccola analisi sul da farsi. Gli obiettivi principali che cercherò di raggiungere nei prossimi mesi possono riassumersi in 3 punti.

Pow e PHP

1 Giugno 2011 — Commenti

However, there is a downside: Pow doesn’t play nicely with Apache (or any server listening on port 80). Life isn’t all greenfield, if in the course of the day you need to work on PHP or CGI legacy apps Pow is not so simple. Pow creates a firewall rule that redirects port 80 to its port; to access Apache you need to either toggle the firewall rule on and off or move Apache to a different port all together. And now you’re running two web servers. There has to be a better way.

Learning Advanced Javascript

29 Maggio 2011 — Commenti

E’ difficile trovare buoni esempi per spiegare in poche righe di codice alcuni degli aspetti più controversi e meno intuitivi del mondo Javascript. Le famose closures, il possibile cambio di contesto all'interno di funzioni, i diversi metodi per ottenere l'ereditarietà tra (pseudo) classi..

Aggiungere target="blank" sui link esterni con un Rack middleware

23 Maggio 2011 — Commenti

Quante volte avete sentito, magari a termine dei lavori, la richiesta “tutti i link verso l'esterno dovrebbero aprirsi in un tab separato”? Questo è un tipico esempio di lavoro tremendamente noioso da fare per vie canoniche – perchè richiederebbe un editing di tutti i link presenti in tutte le viste – ma banale da realizzare passando per un middleware Rack.

Usa oggetti Ruby nei form Rails con Informal

21 Maggio 2011 — Commenti

Informal is a small gem that enhances a Plain Old Ruby Object so it can be used with Rails 3 form helpers in place of an ActiveRecord model. It works with the Rails form_for helper, and simple_form as well.

CoffeeBeans: AJAX con CoffeeScript su Rails

21 Maggio 2011 — Commenti

Il pezzo che ancora mancava a Rails 3.1: scrivere anche le risposte AJAX in CoffeeScript. Con questo plugin è sufficiente creare viste con suffisso .coffee, e verranno automaticamente convertite in Javascript al momento del rendering.

Batman.js

21 Maggio 2011 — Commenti

Una interessante alternativa agli MVC lato client. Opzionalmente è in grado di occuparsi anche del lato server, in Node.js, con possibilità di condividere il codice e le validazioni dei modelli. Mi piace molto il binding automatico di comportamenti tramite attributi HTML5 data-:

Come assumere programmatori

11 Maggio 2011 — Commenti

You’ll learn 95% of what you need to know from pairing. Can they code? How do they think through problems? Can they interact with teammates? When they don’t know something, do they posture, or figure it out? It’s pretty fucking simple, really.

Vico: alternativa sensata a Textmate

8 Maggio 2011 — Commenti

Vico is the result of a personal itch. My eyes want a beautiful looking, modern Mac text editor. But my fingers just want vi. Vico is inspired by some great software out there. The vi/vim command set beats anything in terms of efficiency and speed. TextMate has set a new standard in many ways, and the bundle community is still thriving.

Un web proxy in Rack per cross-domain Ajax

7 Maggio 2011 — Commenti

In weLaika stiamo lavorando allo sviluppo di un social-network con un'architettura logica a due livelli: da una parte uno storage ultra-performante su Google App Engine, dall'altra una serie di differenti frontend per l'utente finale. Il primo frontend è quello web – al quale weLaika sta lavorando. Il secondo, e per ora ultimo, sarà realizzato con tecnologia Flash.

Spine: l'erede di Backbone.js

7 Maggio 2011 — Commenti

Un po’ di sana concorrenza nel mondo dell'MVC client-side ci voleva. Salutiamo tutti Spine.js, un framework MVC fortemente ispirato all'ormai popolare Backbone.js, ma con una serie di miglioramenti molto interessanti che lo avvicinano molto ad una impostazione Rails:

mogenerator: mai più rigenerare le classi dei modelli Core Data manualmente

3 Maggio 2011 — Commenti

mogenerator is a command-line tool that, given an .xcdatamodel file, will generate two classes per entity. The first class, _MyEntity, is intended solely for machine consumption and will be continuously overwritten to stay in sync with your data model. The second class, MyEntity, subclasses _MyEntity, won’t ever be overwritten and is a great place to put your custom logic.

Capistrano e i tunnel SSH

3 Maggio 2011 — Commenti

Piccola scoperta involontaria di ieri: se avete un'accesso SSH al server di produzione ristretto su un solo IP pubblico, l'iter che fino a ieri seguivo per i deploy Capistrano era quello di creare un tunnel SSH tra me ed il server “gateway” via terminale tramite il comando:

Slow time

2 Maggio 2011 — Commenti

Communication doesn’t always have to be in real time. It can be in what we call “slow time”. You can post something and three hours later someone can get back to you and then four hours later someone else can get back to you. And everything will work out just fine. Slow time is “Maybe it takes two or three days to have this conversation. And we do it over periods of 15 minutes here, two minutes there, four minutes there.” And that’s fine. It doesn’t need to happen all at once. Unless it’s really, incredibly, truly urgent. (Which most things aren’t. They’re made out to be that way, but they really aren’t that important.)

hookup

2 Maggio 2011 — Commenti

Il solito Tim Pope con una nuova gemma che sfrutta gli hook Git per chiamare automaticamente bundle install e rake db:migrate non appena ce n'è bisogno.

ScottBot: a "that's what she said" bot

29 Aprile 2011 — Commenti

To get scottbot started, I put it into an otherwise empty IRC channel and just fed it a few “funny” and “notfunny” messages, giving it feedback on each one. Within a few dozen it was getting pretty good at this. Which, coincidentally, is what she said.

Pattener: generatore di sfondi via SASS

20 Aprile 2011 — Commenti

L'idea è interessante (qui ci sono degli esempi dei pattern generabili ad oggi). Spesso e volentieri mi trovo a dover generare sfondi noised, un'approccio del genere sarebbe perfetto. Certo, ci fossero dei pattern decenti – gradienti, o noise, appunto – sarebbe pure meglio. Ma si può sempre forkare.

Ruby: i tanti usi dei moduli

17 Aprile 2011 — Commenti

Iper-dettagliato articolo in 4 parti di Gregory Brown sui moduli Ruby e i suoi molteplici utilizzi: namespacing, mixins, etc.

Do worry... be happy

15 Aprile 2011 — Commenti

Un'ora di lezione su come gestire il proprio business dal CEO bolognese di Balsamiq, Peldi Guillizzoni. Consigliato.

Adapt.js - Adaptive CSS

15 Aprile 2011 — Commenti

Ennesima proposta per gestire CSS a più resoluzioni, suggerita dei creatori del grid system 960 e composta da un leggero script JS.

PJAX

13 Aprile 2011 — Commenti

PJAX loads HTML from your server into the current page without a full reload. It’s ajax with real permalinks, page titles, and a working back button that fully degrades.

Chameleon Project

13 Aprile 2011 — Commenti

If you’re an iOS developer, you’re already familiar with UIKit, the framework used to create apps for the iPhone, iPod and iPad. Chameleon is a drop in replacement for UIKit that runs on Mac OS X. In many cases, your iOS code doesn’t need to change at all in order to run on a Mac.

Solarized: colorscheme per il tuo text editor preferito

12 Aprile 2011 — Commenti

Solarized is a sixteen color palette (eight monotones, eight accent colors) designed for use with terminal and gui applications. It has several unique properties. I designed this colorscheme with both precise CIELAB lightness relationships and a refined set of hues based on fixed color wheel relationships.

Cinque lezioni dopo un anno di weLaika

11 Aprile 2011 — Commenti

Ebbene sì, un'anno è già passato. Il 2 Aprile 2010 ore 12.00, sette pischelli — età media di 24-25 anni — si riuniscono di fronte ad un notaio per firmare lo statuto ufficiale di weLaika; società sognata, pensata e definita durante mesi di focose discussioni e appassionati thread mail.

Prime Impressioni su Sphinx

9 Aprile 2011 — Commenti

Per la prima volta ho avuto modo di testare funzionamento di Sphinx, uno dei più popolari motori di ricerca full-text in circolazione. L'ho preferito a Lucene per evitare il disagio di Java, e a Ferret per la maggiore affidabilità che mi sembrava dare dal punto di vista del supporto e della stabilità.

Pow: 37signals colpisce di nuovo

9 Aprile 2011 — Commenti

Server e un DNS da installare sul proprio Mac per sviluppo locale di applicazioni Rack. Bundler e RVM compatibile. Installato immediatamente. Sembra abbia qualche tipo di bug relativo allo scaricamento tramite send_data, ma a parte questo é incredibilmente utile. Mi aspetto un progetto similare per Linux nel giro di un paio di settimane.

Fuck you. Pay me.

9 Aprile 2011 — Commenti

Presentazione di Mike Monteiro, Design Director di Mule Design, consigliata a chiunque sia alle prime armi col dover affrontare la sfida di gestire clienti, anche quando le cose non stanno andando come sperato (mi ricorda qualcuno). Spoiler: cercati un'avvocato.

Crash Course: Design for Startups

7 Aprile 2011 — Commenti

Piccoli, semplici, ottimi suggerimenti da Paul Stamatiou per iniziare ad entrare nel mondo del web-design senza sbagliare tutto. Consigliato a tutti i programmatori duri e puri là fuori: anche noi ce la possiamo fare. Coraggioso il suo reverse portfolio: tutti i propri lavori, dal più orrendo, al più recente.