Ed ecco la versione definitiva del codice per generare automaticamente una semplice galleria di immagini disposte all'interno di una tabella formata da due colonne.

La difficoltà è quella di disporre le immagini dispari nella colonna di sinistra e quelle pari nella colonna di destra. Ovviamente l'altra difficoltà è quella che se le immagini sono in numero dispari, non deve essere inserita l'immagine nella colonna di destra nell'ultima riga (metterla non cambierebbe nulla, ma non è elegante e ci sarebbe un link "invisibile"). L'unico modo per poter gestire questo comportamento è quella di inserire le immagini all'interno di un vettore (o array) e utilizzare un indice per gestire le immagini da inserire nella colonna di sinistra o di destra.

Nella prima parte del codice ho inserito un contatore per contare le immagini e "contare" in modo dinamico il numero di righe della tabella necessarie a contenere tutte le immagini.

Ma veniamo al codice:

Creare una semplice galleria di 2 colonne</br>
Ci sono 0 immagini nella galleria</br>

Ci vogliono 0 righe della tabella
<table>
<tr>
  <td>
        <a href="" rel="lightbox">
    <img src="" style="padding:5px;" />
    </br>
    <p></p>
    </a>
  <td>
        <a href="" rel="lightbox">
    <img src="" style="padding:5px;" />
    </br>
    <p></p>
    </a>
</tr>
  <tr>
  <td>
        <a href="" rel="lightbox">
    <img src="" style="padding:5px;" />
    </br>
    <p></p>
    </a>
  <td>
        <a href="" rel="lightbox">
    <img src="" style="padding:5px;" />
    </br>
    <p></p>
    </a>
</tr>
  </table>

Mi raccomando... fatene buon uso...
... e buona programmazione!


Una delle differenze più significative tra Wordpress e Grav, è la gestione delle numerose immagini presenti in un articolo, e che possono essere raggruppate in una sorta di photo gallery.

Mentre con Wordpress la cosa è relativamente semplice (si possono ordinare le foto e scegliere il numero di colonne su cui disporre le immagini), in Grav la cose non è altrettanto facile.

Utilizzando la programmazione in Twig ho iniziato a cercare una soluzione alternativa (e senza utilizzare plugin aggiuntivi) per poter gestire le numerose foto/immagini che a volte inserisco nei post.

Ovviamente come prima cosa ho cercato di scrivere del codice per vedere se ero in grado di cercare tutte le foto presenti nella cartella dell'articolo (e in particolare le immagini il cui nome inizia per "gallery") e riportale, in questo primo tentativo, una di seguito all'altra.

Riporto di seguito il codice:

Il codice come prima cosa cerca tutte le immagini che iniziano con la stringa "gallery". Poi nella variabile imgtitle viene memorizzata una stringa ottenuta togliendo l'estensione al nome del file e sostituendo gli eventuali caratteri _ e - con uno spazio. Questa variabile viene utilizzata per valorizzare il parametro alt e caption del tag img.

Da questo codice sono partito per arrivare ad una versione più completa e per poter gestire meglio le immagini presenti in una galleria. Ovviamente visualizzare le immagini in sequenza non ha nessun senso ma questa è solo la base di partenza per fare alcuni test senza dover scrivere troppo codice.

In questo esempio l'immagine della galleria viene ridimensionata a 300x300 pixel, mentre l'immagine del link viene visualizzata a 800x800 pixel.


Sottotitolo: Guida per imparare a gestire, distribuire e versionare codice

Cosa dire.... prima di GitHub... c'è Git.

Questo libro analizza riga per riga, comando per comando tutto il sistema di distribuzione e versionamento del software sviluppato da Linus Torvalds e che ha avuto un successo clamoroso.

Super professionale, ma di difficile lettura per i non addetti al lavoro.


Libro sull'intelligenza artificiale, che sembra scritto (per la prima volta tra tutti quelli che ho letto) da uno che ne sa veramente a pacchi e non dal solito entusiasta digitale che vuole vendere a tutti i costi il suo libro cavalcando una moda e una buzz word molto in voga. Libro ben strutturato che guida e trasporta il lettore all'interno dei vari ambiti "collegati" al mondo estremamente vasto dell'intelligenza artificiale. Il tutto accompagnato da spunti e ragionamenti che esulano dai dettagli più tecnici e che permettono di avventurarsi anche in speculazioni più filosofiche e metodologiche.

Se i dati sono il nuovo petrolio, la domanda da porsi è: la maggior parte delle riserve finiranno per essere controllate da pochi soggetti, come per l'oro nero?

Sugli algoritmi di intelligenza artificiale cita il caso (che poi ritroveremo anche in un altro libro attualmente in lettura) di un padre americano che ha scoperto che la propria figlia adolescente era incinta perchè la Target si era accorta, analizzando gli acquisti della ragazza, che il suo profilo poteva corrispondere a quello di una donna incinta.
Un altro esempio di algoritmo che è stato modificato perchè funzionava fin troppo bene è quelli di Siri. Apple si è accorta che se un utente diceva a Siri "voglio spararmi", il dispositivo rispondeva fornendo l'elenco e l'indirizzo delle armerie più vicine.

Libro pieno di citazioni, tra cui quella dello scrittore Douglas Adams (letto e recensito su questo sito) che cita:
"Ho trovato una serie di regole che descrivono la nostra reazione alle tecnologie:

  1. Tutto ciò che è nel mondo quando sei nato è normale e ordinario ed è parte integrante di come il mondo funziona.
  2. Tutto ciò che viene inventato tra quando hai quindici e trentacinque anni è nuovo, eccitante e rivoluzionario e probabilmente ci puoi costruire la carriera.
  3. Qualunque cosa inventata dopo i trentacinque anni è contro l'ordine naturale delle cose."

E per sottolineare l'importanza delle decisioni basate sui dati, cita Jim Barksdale, CEO di Netscape: "Se abbiamo dei dati, guardiamoli. Se tutto ciò che abbiamo sono opinioni, allora usiamo la mia."


Sottotitolo: Hacker, scienziati e pionieri. Storia sociale del ciberspazio e della comunicazione elettronica

Non posso trasmettere a parole la goduria che si prova nel divorare le pagine di questo libro. Ci provo con parole scritte in ordine sparso e a caratteri maiuscoli.

FONDAMENTALE ECCEZZIONAE
MITICO
IMPERDIBILE
BELLO
IMPRESCINDIBILE
ACCHIAPPONE
CALAMITOSO
CURIOSITA'
STORICO
VERO

Tutta la storia, le curiosità, le tecnologie e gli sviluppi dell'informatica racchiusi in un unico libro. Dovrebbe essere un testo obbligatorio nella scuola dell'obbligo.