Lettere accentate con una tastiera USA/EN (americana)

Spesso chi programma preferisce un layout americano per la propria tastiera, per via della migliore accessibilità a caratteri speciali come parentesi e apostrofi. Prima o poi però capiterà di scrivere un testo e di voler utilizzare velocemente anche le lettere accentate del proprio idioma. Le lettere apostrofate, insomma vanno bene per una email, meno per scrivere il proprio curriculum. A tal proposito qui elenco due sistemi (per Ubuntu 15.10) per scrivere velocemente le lettere accentate, senza cambiare il proprio layout americano.

  1. Utilizzare il layout “USA Internazionale”, conosciuto anche come “Inglese (USA Internazionale con tasti muti”. Il layout si aggiunge andando su Preferenze->Tastiera e quindi premendo sul link Inserimento testo. Ora basterà premere sul pulsante[+] e aggiungere il layout indicato. Ora per digitare le lettere accentate basterà premere l´accento desiderato più la lettera da accentare. I due accenti sono ` (che si alla sinistra del tasto 1) e  che invece si trova alla destra di ; (punto e virgola) Questo sistema è molto comodo tranne che per utilizzare gli apostrofi (utilizzati spesso in programmazione) .
  2. Questo sistema non necessita di impostare il layout “USA Internazionale” visto nel punto precedente. Questo sistema utilizza il tasto Compose che in Ubuntu è disabilitato di default. Andate su Preferenze->Tastiera e quindi premete sul link Inserimento testo e successivamente su Impostazioni della tastiera. Sotto il menu Scorciatoie–>Digitazione apparirà la voce Tasto Compose disabilitato: premete sulla parola Disabilitato e impostate il tasto speciale a voi più comodo (io utilizzo ALTGr). Ora per digitare una lettera accentata basterà premere: Tasto speciale impostato + lettera da accentate + apostrofo. Gli apostrofi sono gli stessi visti precedentemente. Questi sono ` (che si alla sinistra del tasto 1) e  che invece si trova alla destra di ; (punto e virgola)

Java 8 – Pellegrino Principe (prime impressioni)

Ogni anno Apogeo aggiorna la sua linea di prodotti editoriali proponendo delle revisioni più o meno corpose. Java 8 di Pellegrino Principe é una di queste, e fortunatamente si rivela un libro di discreta qualità.

Come è consuetudine nel panorama editoriale italiano, il libro si propone come una guida: completa – adatta ai neofiti – capace di affrontare tutti gli argomenti a 360 gradi – essere utile anche a chi ha maturato esperienza con il linguaggio.

Tutti buoni propositi, per carità, ma difficilmente gli autori ci hanno abituato a libri capaci di soddisfare tutte le promesse. Parlando specificatamente del libro in oggetto, e’ evidente sin dalle prime pagine come l’autore, che ha evidenti capacità e conoscenze nell’ambiente di sviluppo, cerchi di venire incontro verso chi muove i primi passi. I primi capitoli, in tal senso, sono capaci di chiarire i concetti della programmazione ad oggetti grazie ad un linguaggio chiaro, conciso e con buoni esempi di codice. Le cose si complicano nei capitoli più avanzati (dal capitolo 7 in poi) dove, se non si avranno compreso a menadito tutti i concetti OOP, sarà poi difficile avanzare con scioltezza. Probabilmente qualche pagina in più avrebbe aiutato i neofiti a destreggiarsi con concetti non proprio intuitivi come il binding dinamico, il poliformismo, le interfacce, ecc).

Sia chiaro, l’autore è un buon insegnante, ma come tanti altri autori italiani di altri testi simili, si “limita”, se così si può affermare, a dare la definizione di un concetto, illustrare qualche chiaro esempio, senza offrire quel qualcosa in più che potrebbe e dovrebbe rendere l´apprendimento più proficuo. Un esempio? Il concetto che illustra i modificatori di accesso di Java (public, protected, private) viene descritto sommariamente in una prima occasione, per poi essere approfondito nei vari paragrafi successivi, aspetto che non sempre agevola la comprensione di un concetto. Nel caso dei modificatori mi sono dovuto rivolgere alla pagina della documentazione ufficiale di Oracle per chiarirmi alcune perplessità:

  • i modificatori si dovrebbero illustrare parlando di Accesso e Visibilità
  • Un modificatore protected rende i membri di una classe accessibili ad una classe di un Package differente, basti che esista una relazione di ereditarietà

Il libro non soddisferà chi predilige i testi con una trattazione rigorosa e ben delineata. L’autore pur seguendo un ordine logico nei concetti esposti, spesso accenna a dei concetti importanti per poi approfondirli solo successivamente. Si tratta di uno stile, che ha i suoi vantaggi poiché facilità la trattazione di argomenti “pesanti”, ma che comunque potrebbe non soddisfare qualsiasi palato.

Ho apprezzato che in più occasioni venga riportato e spiegato il codice prodotto dal compilatore, aspetto che rende più chiaro il perché Java operi determinate scelte. Oltre ai diversi esempi, l’autore è infatti prodigo di consigli che palesano le proprie esperienze sul campo, anche se avrei preferito dei veri e propri capitoli dedicati al modo corretto di pensare secondo la programmazione ad oggetti. Come in tanti altri testi simili, si comprende, per esempio il concetto di classe astratta o interfaccia, senza però poi saperle impiegare nel modo corretto nei propri progetti, e perdendo cosi i vantaggi e le potenzialità che ne derivano. Si sente la mancanza di esempi che mediante “errori di progettazione” indotti permettano di abituarsi a pensare e lavorare secondo un modello OOP.  Un parere personale è che tanti libri rivolti ai neofiti si prodighino nel far apprendere la corretta sintassi di una istruzione, senza invece dare quei consigli pratici che indirizzino il lettore ad uno sviluppo corretto e produttivo in chiave OOP. Un esempio in tal senso è dato dalla pagina ufficiale di Oracle sui modificatori, menzionata poc’anzi, dove si leggono anche delle pratiche comuni, dettati dal buon senso e dal rispetto delle logiche OOP, ovvero:

  • Usare sempre i modificatori più restrittivi a meno che non ci sia un buon motivo per non farlo
  • Evitare di utilizzare i modificatori public per i campi se non si tratta di costanti

Si tratta di inezie, ma che secondo il sottoscritto, se implementate sistematicamente in ogni capitolo, magari affiancando lo sviluppo di un vero progetto, renderebbero Java 8 di Pellegrino Principe un manuale superiore a molti altri. Segnalo per finire, il sito ufficiale di Apogeo in cui scaricare l´indice del libro, gli esempi e un capitolo introduttivo e la pagina dell´autore che però non presenta, come talvolta accade, alcun approfondimento agli argomenti trattati.

Pagina dell´autore

Editore Apogeo

CodeIgniter guida quasi definitiva

Nonostante una pausa, la guida e’ stata quasi pronta, manca ancora una revisione approfondita, ma sono stati corretti molti errori, riorganizzata la struttura dei capitoli. Nei prossimi mesi introdurro’ anche dei progetti che illustrero’ passo passo con l’ausilio di CodeIgniter. Dimenticavo: il link per accedere alla guida e’ su GitHub in cui sono presenti anche i sorgenti dei file LaTeX e il pdf compilato.

 

Chiunque volesse contribuire e’ il benvenuto:

Un gioco di carte folle

Gli inglesi definiscono una cosa che dà dipendenza come addictive: Hearthstone lo è. Lo si potrebbe definire come un semplice gioco di carte, ma rappresenta una evoluzione-involuzione rispetto a Magic the Gathering a cui palesemente si ispira.

Blizzard ha reso la formula più amichevole e semplice: aspetto che darà fastidio ai puristi, ma ha tanti meriti da riconoscergli.

Il gioco è gratuito. Ha una comunità online. Ha una ricca comunità online!

Provate a giocarci, e la vostra vita sociale, sempre che ne abbiate una, verrà completamente ridimensionata. Peccato che sia disponibile solo per Windows e Ipad (con cui gioco). Se fosse stato disponibile anche per Linux, probabilmente avrei confuso il giorno con la notte.

Pagina di riferimento

Guida CodeIgniter v.0.2.1

ultima versione: download
readme
Cronologia delle versioni:
v.0.2.1
• Capitolo Model terminato
• Capitolo Librerie terminato
• Aggiunto capitolo sulla gestione/configurazione degli url
• Aggiunto capitolo Funzioni comuni
• Aggiunto capitolo Driver
• Aggiunto capitolo Classi core
• Aggiornato capitolo URI (con wildcard)
• Aggiornato capitolo Hook

CodeIgniter: prima versione molto provvisoria della guida

logoL’impegno di questi ultimi giorni mi ha portato a rispolverare le poche conoscenze di LaTex per realizzare una guida in italiano su CodeIgniter, un semplice quanto potente framework per lo sviluppo secondo il design pattern MVC.

La guida è appena strutturata e ho potuto revisionarla sino al capitolo dedicato al Controller. Ho cercato di realizzare un testo che fosse facilmente comprensibile a chi si avvicina per per la prima volta ad un framework, ma è comunque necessario conoscere un po’ di PHP.

Tutte le altre sezioni sono appena definite e verranno ampliate, cercate quindi di darle un po’ di fiducia.

Per il resto, ogni critica costruttiva è gradita.

 

Link per scaricare la guida a CodeIgniter

readme

CodeIgniter un potente quanto semplice framework PHP

In questi giorni mi sto avvicinando al concetto di framework PHP di tipo MVC. Argomento interessante che necessita di tanto tempo per districarsi tra le tante offerte e per comprenderne le logiche di sviluppo. Per venire incontro anche a chi non mastica perfettamente l’inglese (compreso il sottoscritto), sto traducendo la documentazione ufficile di CodeIgniter, un framework che mi ha piacevolmente sorpreso per velocità, chiarezza nella documentazione e facilità d’uso.

A breve la prima parte della documentazione ufficiale tradotta.

http://ellislab.com/codeigniter/