sabato 21 dicembre 2013

It's Christmas Time...


... ed il primo regalo è arrivato! Qualche settimana fa ho ricevuto l'invito a partecipare all'estrazione di uno startKit prodotto dalla britannica XMOS. Perché no? Partecipare non costa nulla (dati personali a parte), basta non farsi illusioni, 2500 kit in tutto il mondo non sono poi tanti. Per aumentare le probabilità di vincita ho invitato anche un amico a partecipare all'estrazione. E invece, sorpresa, ieri mattina entrambi abbiamo ricevuto una mail intitolata 

Good news: you're an XMOS startKIT winner! e che il kit era già stato inviato. Fantastico, non resta che aver pazienza ed aspettare, dopotutto il periodo non è il migliore in termini di celerità del servizio postale. E invece... ieri sera arrivo a casa e sulla libreria trovo un pacchetto ritirato da mia moglie...E' ARRIVATO. 


Ho appena installato l'IDE gratuito xTIMEcomposer Studio
e cercato qualche progetto di esempio.
Per concludere qualche informazione tecnica sul microcontrollore.
  • xCORE-Analog 8-core device with integrated debugger  
  • micro-USB connection to host debugger
  • PCIe connector for sliceCARD add-on boards
  • 0.1" header compatible with Raspberry PI
  • Two 4-zone cap sense sliders
  • 3x3 LED matrix
  • 2 additional LEDs
  • Push-button switch
  • 4 ADC inputs
  • 256KB SPI Flash
  • 0.1" header for connecting additional startKITs.
Promette bene, vedremo...




mercoledì 2 ottobre 2013

Joomla!: il mio primo sito

A dire il vero il sito è quello del Bed & Breakfast dei miei amici Sabrina e Adriano che nell'estate del 2010 hanno deciso di provare questa nuova avventura. Quale strumento migliore di un sito web per attrarre i primi clienti? Ovviamente mi offro subito per aiutarli nella scelta e nell'implementazione di questa vetrina virtuale... Senza dilungarmi troppo nei dettagli, in tre giorni, sfruttando gli strumenti offerti dal servizio di hosting e pochi altri, metto su poche pagine, orribili a dire il vero, che, tuttavia, sono servite allo scopo fino a pochi giorni fa. Tuttavia il risultato era veramente scadente, almento per i miei gusti. Dovevo fare qualcosa per sostituire quel primo tentativo con qualcosa di più funzionale. Dopo aver sondato varie possibilità, varie piattaforme, la scelta è caduta sul Joomla!, il popolare CMS open source implementato di piattaforme LAMP (Linux, Apache, MySQL, Php) e, raramente, WAMP (Windows, ...). Il risultato è decisamente più decente, più interattivo, e, soprattutto, consente ai suoi proprietari di pubblicare i contenuti che ritengono più opportuni senza la necessità di una laurea in informatica ed una buona dose di pazienza. Ah dimenticavo il B&B si chiama La Gazza Ladra, e il link, ovviamente, punta al sito, sul quale potrete trovare tutte le informazioni che vi servono se vorrete passare qualche giorno a pochi km da Lecce, viziati da Adriano e Sabrina.

Enjoy

lunedì 23 settembre 2013

Box 10 GB di spazio cloud GRATIS


Per chi come me ne fa un uso intenso, l'opportunità è a dir poco ghiotta 10GB di spazio per l'account Personal di questo servizio https://www.box.com/. Il primo incontro con Box l'ho fatto mediante LinkedIn che permetteva anche agli account free di condividere documenti sul proprio profilo mediante questo servizio. Purtroppo oggi questa opzione è a solo appannaggio degli account Premium. Il primo documento condiviso è stato, neanche a dirlo il mio CV. 


giovedì 1 agosto 2013

Utilizzo dei subrepositories di Mercurial

Scrivo questa nota con l'intento di riassumere le informazioni, spesso contraddittorie e parziali, sull'argomento raccolte sulla rete. Il fine di tale strumento, o almeno una delle finalità principali, è quella di favorire, a chi già fa uso del DVCS in esame, il riutilizzo in più progetti di componenti già sviluppati in precedenza. Al tal fine,  nel seguito della nota, propongo un esempio concreto dei passi da seguire per integrare un subrepository, contenente uno o più moduli già implementati, in  un nuovo progetto sviluppato, ad esempio, con l'IDE di Microsoft, il Visual Studio 2012. Supponiamo che il subrepository in esame  si chiami XYZ_Core Project.
Il primo passo consiste nella creazione di una struttura di cartelle del tipo:
NEW Project
|_SRC
  1. Nella cartella SRC, creiamo una solution vuota di Visual Studio con il nome del progetto che stiamo creando, ovvero NEW Project.
    A questo punto, la struttura delle cartelle sarà:
    NEW Project
    |--
    SRC
    |----
    NEW Project
  2. Apriamo un prompt dei comandi,  spostiamoci nella sottocartella  _SRC\NEW Project e cloniamo il repository xyz_core-project
    $: hg clone https://bitbucket.org/***/xyz_core-project;
    Ottenuti i progetti del subrepository, non resta che aggiungerli alla nostra solution:
  3. Fatto ciò, torniamo nella cartella root del progetto, ed aggiungiamo il file .hgignore adatto alla versione di Visual Studio utilizzata, ed un nuovo file, denominato .hgsub strutturato come segue:
    _SRC/NEW Project/xyz_core-project=xyz_core-project
    [subpath]
    (https://(?:[^@]+@)?bitbucket\.org/[^/]+)(/[^/]+)/(.*) = \1/\3
    Il file appena aggiunto è quello che indica al nostro DVCS che è presente un subrepository. Spendiamo un attimo per capire il conenuto di tale file:
    - A sinistra del segno di uguaglianza, troviamo il percorso relativo alla root del progetto principale, nel quale intendiamo inserire il subrepository;
    - A destra dell'uguaglianza c'è il nome simbolico del subrepository.
    - Sotto la chiave [subpath] viene specificato, mediante una regular expression, il percorso dal quale ottenere il subrepository, e a destra la stringa che rimpiazzerà il nome simbolico di cui sopra (xyz_core-project). Per una descrizione più dettagliata, e sicuramente meno confusa, si rimanda alla pagina SubrepoRemappingPlan.
  4. A questo punto siamo pronti per consolidare la struttura del nuovo repository, ed a condividerla con il resto del mondo.
    - In primo luogo eseguiamo il commit del nostro repository
    $: hg commit -m "Messaggio di commit" --subrepos
    Notare l'opzione --subrepos che indica al DVCS di estendere il comando in modo ricorsivo ai sottoprogetti indicati da file .hgsub. Al termine del comando, nella root del progetto verrà generato il file .hgsubstate che d'ora in poi avrà il compito di tener traccia della versione del sottoprogetto collegata al nostr repository (Subrepositories).
  5. Non resta che consolidare sul nostro server la nuova struttura del progetto:
    $: hg push
NOTA: I comandi hg pull e hg incoming che ci consentono rispettivamente di aggiornare la copia locale del nostro repository, o più semplicemente di vedere quali e quante sono le differenze tra la copia locale e quella centralizzata, non hanno un'opzione che renda il comando ricorsivo (come l'opzione --subrepos vista per hg pull), il che implica che la sincronizzazione del subrepository con la relativa versione centralizzata è a carico dell'utente. In altre parole, ci si dovrà spostare nella cartella del sotto progetto, e da questa posizione lanciare i comandi

$: hg pull
e
$: hg update
Enjoy

lunedì 3 giugno 2013

I segreti del successo: Richard St.John @TED


Interessante discorso al TED tenuto da Richard St.John (potete trovare qui la biografia) sui segreti del successo 


enjoy

lunedì 22 aprile 2013

Arrivato!!!


In anticipo di un giorno, è appena arrivato l'arduino. Spacchettato, fotografato e condiviso.


giovedì 18 aprile 2013

Acquisto fatto...

A causa di una serie di spiacevoli motivi che non sto qui ad elencare, mi trovo da più di una settimana a casa con un pò di tempo da dedicare ad attività extra lavorative. Sempre a causa delle motivazioni di cui sopra non posso restare troppo tempo davanti al PC, ma in uno di questi brevi intervalli ho fatto l'acquisto, che per un motivo o per l'altro ho rimandato sempre. Ho comprato uno dei gingilli di Massimo Banzi, il creatore di Arduino, la piattaforma open source per la prototipazione rapida (spero che la definizione sia corretta :-) ).  La mia scelta è caduta sull'ultimo nato della famiglia: l' Arduino Due, che a differenza dei precedenti offre un'architettura ARM a 32 bit. 


Ora non resta che attendere l'arrivo del corriere espresso, e spegnere il computer che la mano fa già male.
Ciao

venerdì 5 aprile 2013

E se LINQ fosse disponibile al di fuori di .NET?...

..., a mio avviso sarebbe una cosa fantastica. A quanto pare il team di Erick Maijer (che non centra niente con Scott Meyers, guru del C++) ci sta lavorando da circa un anno nell'ambito del progetto Rx (Reactive Extensions). E' da diverso tempo che sviluppo codice in C#, e la cosa non mi dispiace affatto, ma tornare alle origini non mi dispiacerebbe, specie per il fatto di andare oltre il limite programmi sviluppati per una sola piattaforma. Di seguito un video in cui Aaron Lahman illustra alcuni concetti alla base del progetto.


Enjoy

venerdì 8 febbraio 2013

First post from my new laptop


Come da titolo, questo è il mio post dal mio nuovo laptop. Dopo aver rinunciato ad ogni accanimento terapeutico sull'ottimo Dell Precision M4300 che mi ha accompagnato per circa 5 anni, e dopo aver 'tirato a campare' con un Frankenstein costruito con le parti del mio vecchio laptop e di un D830 comprato su ebay che, funzionava solo collegato ad un vecchio monitor CRT, ho deciso che era giunta l'ora di comprare un nuovo portatile. Dopo una lunga ricerca di mercato e diverse valutazioni la mia scelta è caduta su un MacBook Pro da 15" con processore i7 e 4Gb di RAM. Il ragionamento fatto per giungere a tale scelta è stato il seguente:

  • per lavoro, uso tutti i giorni sistemi operativi di casa Microsoft;
  • sul vecchio e fedele dell ho installato diverse distribuzioni Linux rimanendo fedele a Ubuntu dalla versione 10.04 alla 12.10, che è tuttora presente sul netbook di mia moglie;
  • non ho alcuna esperienza sui prodotti della mela;
Unico freno il prezzo di acquisto del 'giocattolo'...Ad ogni modo dopo vari ripensamenti, e complice un'offerta dedicata ai clienti di un noto store di elettronica, ho deciso e ho fatto l'acquisto. Tutto ciò accadeva a Dicembre 2012 e, da allora, ho fatto un pò di esperienza, e ho trovato una serie di applicazioni, a volte le stesse già usate su Windows e Ubuntu, che, per ora, non mi hanno fatto rimpiangere la scelta. Per quel che riguarda le esigenze non conciliabili con OSX, ho un bel virtualizzatore che però soffre dell'esigua dotazione di RAM (limite che di qui a breve verrà risolto con un paio di moduli da 8Gb per un totale di 16 che dovrebbero bastare). Unico appunto, manca un editor gratuito decente per scrivere i miei post offline, qualcosa tipo Windows Live Writer. Questo post, infatti, lo sto scrivendo online, e non è proprio il massimo