Benvenuti su "Just a Bit of.. Entropy!".
Questo blog tratta di Free Software e programmazione.
L'autore è un di membro di Guru@Work
e studente del corso di laurea specialistica in
Tecnologie Informatiche all'università di Pisa.
A lavoro per il Linux Day ‘08
![]()
Tra un corso ed una sessione di lavoro al pc stò organizzandomi per preparare i 2 interventi che proporrò al Linux Day ‘08 organizzato da Guru@Work a Grosseto.. (è inutile ricordare che la data è il 25 ottobre giusto??)
Dopo l’intervento sulla Virtualizzazione e l’Emulazione dello scorso anno (di cui trovate le slide tra il materiale presente su questo blog..) quest’anno si raddoppia
Gli interventi da me proposti saranno infatti relativi a:
- Programmazione Web di base (HTML + CSS + JS) [1h]
- Le novità di Ubuntu 8.10 (Grazie a Ubuntu-it)[40']
Il primo intervento è stato programmato su richiesta di alcuni insegnanti delle scuole superiori di Grosseto (da cui ci aspettiamo una presenza massiccia^_^) mentre il secondo vuole prendersi la briga di fare una semplice analisi di quello che è diventato una delle principali manifestazioni del Web 2.0 [nulla di complicato in ogni caso data la natura divulgativa della manifestazione è un introduzione a Ubuntu e alla sua nuova relase (che sarà rilasciata pochi giorni dopo il LD) e la cui presentazione è stata realizzata dai ragazzi di Ubuntu-it.
]
Per il resto del programma e per le registrazioni all’evento (non obbligatorie certo, ma in caso di registrazione avrete un attestato di partecipazione..) vi consiglio di fare un salto su www.GuruAtWork.com
PS: Dimenticavo… il Venerdì 24 Ottobre per “aprire le danze” sempre a Grosseto è stato organizzato un concerto che ha come scopo pubblicizzare l’iniziativa del giorno seguente. Un altra volta vi invito ad andare sul sito per avere maggiori dettagli!!
Continua a leggere
Social Network Engine
Ogni tanto capita di volersi mettere alla prova con cms più o meno complessi, siano questo studiati per il blogging o per qualsivoglia altrafunzionalità..

Oggi vi voglio proporre un Social Network Engine Open Source la cui ultima relase è del 18 agosto scorso.
Sto parlando di ELGG.
Elgg giunto alla versione 1.0 offre un motore per la realizzazione di siti dedicati al social networking molto valido a mio avviso, strutturato a moduli (ad esempio per le funzioni di blogging e gestione dei profili utenti) facilmente espandibile e scritto in PHP è una valida soluzione per chi volesse provare a tirar su un servizio semplice per una community.
L’unico neo forse è dato dalla personalizzazione del template. Non esiste un punto focale per la definizione dello stesso e devon essere personalizzati di volta in volta i moduli che aggiungono funzionalità a livello visibile all’utente. A parte questo direi che merita una prova
Continua a leggere
XSLT: Extensible Stylesheet Language Transformation
XSLT è un linguaggio che consente di effettuare trasformazioni, tramite la manipolazione di un file xml di partenza e secondo uno schema scelto, di documenti xml in altri formati (xml con diversa strutturazione, file di testo semplice, HTML, PDF, RTF.. e chi più ne ha più ne metta).
Detta così sembra una cosa da nulla. Lo pensavo anche io inizialmente ma mi sono ricreduto negli ultimi giorni quando mi è venuto in mente come utilizzare tale linguaggio per semplificarmi la vita.
Dopo averlo usato per generare codice Java da un file XML per il progetto di Programmazione Avanzata mi sono reso conto che la strada della programmazione generativa tramite XSLT si presta in modo particolare per la automazione di compiti particolarmente ripetitivi e monotoni.
Da buon programmatore pigro (e sviluppatore Java soprattutto in ambito Enterprise) ci sono 2 cose in particolare che mi caratterizzano:
- Odio scrivere interfacce grafiche usando Swing et similia;
- Ho una netta propensione per definire dati e grafica usando XML (e naturalmente HTML come suo sottoinsieme).
Bene sull’esempio di XAML per WPF (una delle poche cose che veramente invidio a .NET) mi son detto: “Perché non descrivere anche in Java le interfaccie con un simpatico documento xml?”.
Risposta: “Inventiamoci un insieme di tag che effettuino il wrap dei principali componenti Swing e creiamo delle regole con XSLT per generare il codice che dovremo altrimenti scrivere a manina!!”.
Si esistono anche gli ambienti RAD (Matisse per NetBeans e VisualDesigner per Eclipse sono alcuni..) ma a me piace vedere le cose con mano e poi il mio fine ultimo non è esattamente la fase di Wrapping
Al momento, in circa 2 giorni, ho reso funzionali gli oggetti: JPane, JButton, JFrame, JLabel, JTextField, JPasswordField, JComboBox, BorderLayout e BoxLayout.
Non ci ho lavorato moltissimo ma già in questo modo devo dire che il risparmio di tempo per scrivere un interfaccia è abbastanza alto.
Accennavo prima al fine ultimo.. bene avete presente sempre in XAML (ma anche in JavaFX) il simpaticissimo Pad che consente di visualizzare on-the-fly l’interfaccia mentre viene descritta senza necessità di avviare l’applicazione? Bene il passo ultimo sarà quello. Per ora l’idea è di realizzarlo utilizzando un browser e delle append di condice javascript ma prima di arrivare a ciò voglio avere una buona traduzione dei componenti e dei layout principali nel mio nuovo “linguaggio di descrizione”.
Naturalmente il linguaggio al momento non consente il bind tra eventi e componenti, questa parte sarà una delle ultime affrontate, ma in linea di principio l’intenzione è di lavorare a livello di View non di Controller: il mini-framework non voglio che si disperda perdendo organicità al momento.
Stay Tuned!
Continua a leggere
[Programmazione Generica] Java, C++ e C#: Una chiacchierata con Anders Hejlsberg, Bruce Eckel e Bill Venners
Per tutti coloro che sono in ricerca di qualche spunto per l’ultima parte del Final di Programmazione Avanzata, o che semplicemente sono interessati alle differenze implementative della programmazione generica in C++, C# e Java vi consiglio il seguante link.
E’ una chiacchierata tra Anders Hejlsberg, Bruce Eckel e Bill Venners su C# e Java generics e C++ templates.
Molto interessanti le note implementative, semplificate per rederle facilmente comprensibili al lettore anche meno smaliziato (ok ora esagero.. ma se avete almeno le basi relativamente all’argomento programmazione generica siete più che pronti per leggere e comprendere queste tre paginette).
Detto questo, buona lettura!
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=ca84d57e-828d-43b0-903d-3f23138fa2a1)






































![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=b41969c5-ed21-4f09-8fb8-b09d2b45ddff)

