Skip to Content

Claudio Cicali – Web Developer and Solution Architect

Annunci

Ultimi miei 3 articoli su Edit di HTML.it

Mio screencast su Thinkcode.tv

È online da qualche giorno il mio primo screencast pubblicato per thinkcode.tv. L’argomento è jQuery e nella lezioncina di un’oretta cerco di affrontare la maggior parte dei temi che possono interessare chi si avvicina per la prima volta a questa libreria. Sul sito è disponibile una preview di 5 minuti (presa circa ad un terzo della lunghezza totale del video).

Voglio ringraziare thinkcode per l’opportunità offertami e spero davvero di poter collaborare ancora con loro :)

jQuery sta rapidamente diventando la libreria JavaScript più usata al mondo, per lo sviluppo di applicazioni web interattive e dinamiche. In questo screencast di poco più di un’ora, Claudio Cicali ci guida nell’apprendimento dei concetti di base, mostrando il come e il perché dell’uso della libreria, a partire dalla sua storia, per finire a parlare delle best practice, passando per la manipolazione del DOM, la gestione degli eventi e Ajax. Si tratta di uno screencast indispensabile per lo sviluppatore moderno.

SVN customized bash prompt (and Git!)

I recently had to split an SVN repository of mine into a TRUNK and a TAGged branch. Nothing fancy: a tag to identify the REV1.x and the TRUNK to keep developing.

From time to time I have to svn switch, jumping from the tagged branch to the trunk (testing, merging, usual staff…). And you know what? I’m keeping committing on the tagged branch! And that is bad (more on this with an appropriate future post. I promise).

How beautiful could be having a bash prompt that will costantly display the branch I’m in and the svn repository revision of the current directory?

So, here we are:

append this code to your ~/.bashrc, logout/login and enter a svn managed directory (beware: I’ve tested it only on my Ubuntu box… the key here is to use the PROMPT_COMMAND env variabile, passing it the function that does the “sniffing”. The PROMPT_COMMAND command will be executed every time, just before displaying the shell prompt).

PROMPT_COMMAND=prompt_command

prompt_command() {

  if [[ -d ".svn" ]] ; then
    local info rev url ver
    info=$(LC_MESSAGES=C svn info 2>/dev/null)
    rev=$(echo "${info}" | awk '/^Revision: [0-9]+/{print $2}')
    url=$(echo "${info}" | awk '/^URL: .*/{print $2}')

    echo ${url} | grep -q "/trunk\b"
    if [[ $? -eq 0 ]] ; then
      ver=trunk
    else
      echo ${url} | grep -q "/tags\b"
      if [[ $? -eq 0 ]] ; then
        ver=tag-$(echo ${url} | grep -o "/tags.*" | awk -F/ '{print $3}')
      fi
    fi

    echo -e "\e[00;33m[svn:r${rev}@${ver}]\e[00m"
  fi

}

The svn information will be displayed in yellow (is the 33 in the final echo line). Change it at your liking.

UPDATE: Giovanni Bajo gives the hints for the "-q" switch and the LC_MESSAGES trick to avoid locale inconsistences.

Giovanni has gone a step forward, giving us the code for a git enhanced prompt too.

Here it is:

  local gitout
  gitout=$(git branch -v --abbrev --no-color 2>/dev/null)
  if [[ $? -eq 0 ]]; then
    local full branch sha1
    full=$(echo "${gitout}" | grep '^*')
    branch=$(echo "${full}" | awk '/^* \w+ \w+/{print $2}')
    sha1=$(echo "${full}" | awk '/^* \w+ \w+/{print $3}')
    echo -e "\e[00;33m[git:${sha1}@${branch}]\e[00m"
  fi

Thanks to Uqbar on Freenode IRC for the awk hints!

example:

claudioc@enebish:~/Sites$
claudioc@enebish:~/Sites$ cd scrive2/
[svn:r452@trunk]
claudioc@enebish:~/Sites/scrive2$ svn switch $myrepos/tags/R2.4
[svn:r431@tag-R2.4]
claudioc@enebish:~/Sites/scrive2$

The breakly jquery plugin

I’ve created a jQuery plugin that can be used to give the browser an “hint” on when (and eventually how) break some long texts that are wrapped in a container with an explicitely defined width. The purpose is twofold: it can make very long, non-breakable lines wrap automagically (URLs in fixed width container, for example) and/or it adds a more elegant space/non-space text ratio inside little boxes.

The plugin works adding a “special” unicode character after the given number of characters. By default U+200B (the zero width space) is used, but you can specify any other character as the second parameter. Only TEXT nodes are edited (the actual HTML tags and attributes remain untouched).

The plugin must be considered “experimental”, and should be better throughly tested if used in a production environment. Browsers, though, seem very “smart” about those Unicode “spaces” in that they do not mind them other then in a presentation context; in fact, I was in trouble thinking about HTML named entities… well, browsers don’t mind if a \U+200B is present in the middle of a à

Go to the breakly example page or just download it (a little help is present as the plugin comment).

Should you find a bug, please feel free to contact me.


Breve resoconto del DrupalCamp a Crema

Venerdì ho partecipato al DrupalCamp di Crema, che si è svolto all’interno delle aule del distaccamento dell’università di Milano.

L’organizzazione dell’evento è stata precisa e amichevole, e ho potuto conoscere alcune persone piacevoli. L’evento in sé, magari, forse non era necessario chiamarlo “barcamp”, visto che comunque prevedeva non solo un’organizzazione dei talk precedente all’evento stesso, ma addirittura una selezione degli stessi basata sulla votazione dei partecipanti sul sito, votazione che si è conclusa una settimana prima dell’evento. Niente di male, per carità, ma non è che ci sia niente di male nelle parole “seminario” o “conferenza” :)

Io ho potuto presentare un talk sull’integrazione di Drupal con SOLR e sono felice di aver ottenuto anche un discreto successo di pubblico e di critica, come si suol dire :)

La parte più interessante è stata la tavola rotonda finale che aveva come argomento (ovviamente) il rilascio prossimo venturo della versione 7 del CMS. Questa è stata la parte più propriamente “barcamp” di tutto l’evento, dove per ogni slide presentata da uno dei partecipanti si accendeva una discussione tra tutti gli altri seduti ad ascoltare che, appunto, diventavano partecipanti :)

A proposito di Drupal 7:

  • si sperava in un regalo di natale, ma prima di febbraio/marzo non se ne parla
  • 50 tra i moduli più usati hanno fatto la “promessa” di preparare la versione per D7 non appena questo uscirà (pare ne manchino ancora 3 o 4 all’appello)
  • D7 è più lento da un minimo del 20% ad un massimo del 50% rispetto a D6. È opinione comune che questo sia un problema dovuto al nuovo “db layer” basato su PDO
  • il creatore di Views pare sia un po’ in rotta con Dries, e questo fa sì che quel (ormai fondamentale) modulo sia in ritardo…


Back from HAR2009

Har2009: inutile dire che sia stata un’esperienza indimenticabile (come lo sono state tutte le altre edizioni di raduni quadriennali ai quali ho finora partecipato). Le foto che si trovano in rete poco riescono a trasmettere l’atmosfera che si è respirato in quei 4 giorni (per me 7, visto che sono arrivato un po’ prima). Aldilà dei contenuti “umani” di un ritrovo del genere, particolarmente interessanti sono anche i contenuti “tecnici” (per una volta fatti senza la preoccupazione di trovare un pubblico impreparato – oh gioia! [1]). Ho seguito molte presentazioni (e molti di più rispetto al CCC del 2007); non tutte sono state allo stesso livello, ovviamente. In generale le slide facevano tutte più o meno schifo :)

Dal sito ufficiale, sulla colonna di destra, si accede ai contenuti (fotografie, video delle presentazioni e slide).

Vi segnalo qui qualche presentazione che ho particolarmente apprezzato (il link è al video della stessa):

Chiaramente ad averne il tempo sarebbe da dare un’occhiata a tutti :)

Adesso vi lascio che vado a prepararmi per il CCC del 2011…

[1]: quando uno dei relatori ha presentato una slide con i dettagli di un pacchetto IPv6, ha chiesto al pubblico (un centinaio di persone) chi non avesse mai visto quel disegno… abbiamo alzato la mano in una decina. Che bello.


I contenuti di questo sito sono distribuiti con una licenza Creative Commons 2.5 eccetto dove diversamente specificato. Tema WordPress sviluppato da Claudio Cicali; icone del set famfamfam silk e komodomedia. P.IVA: 01712500501

© 2005-2012
Claudio Cicali