Experimentalia

Appunti raminghi

Archive for Agosto 2008

Libri da scaricare: Open Non è Free

nessun commento

Open non è free

Open non è free

Comincio con questo libro una serie di articoli in cui consiglio dei libri da leggere che, a differenza delle recensioni precedenti, possono essere liberamente (e sopratutto legalmente) scaricati da internet in formato ebook.

La scelta del primo libro, a dire il vero la scelta di quelli in italiano non è poi così ampia, non è stata particolarmente difficile. Open non è free, ormai datato 2005, mi è piaciuto particolarmente.

Si tratta di un saggio che esamina approfonditamente la storia del software libero, le implicazioni che le licenze libere hanno sul mercato
e su come sia cambiato l’approccio alla programmazione fino all’esplosione del fenomeno open source.

E qui che il titolo del libro acquista significato, Ippolita, il collettivo dietro a Open non è free tiene a rendere lapalissiana la differenza tra le due facce della medaglia. La contrapposizione non è quella scontata tra software libero e proprietario ma tra codice libero e codice aperto.
Leggi il seguito di questo post »

Written by eineki

Agosto 30, 2008 alle 1:05 am

Eclipse: risolvere errore JKS (Java Key Store) durante gli update

con un commento

Questo sarà un post stringato che spero possa risparmiare tutto il tempo e le ricerche necessarie a risolvere il problema che affronta.Non che la soluzione sia particolarmente complessa o difficile, semplicemente se accarezzate google contropelo allora, sapete com’é, ci si allontana dalle soluzioni piuttosto che avvicinarcisi.

Lo scenario è presto descritto: stavo seguendo un post apparso qualche giorno fa su biio.it, Trasformare Eclipse Ganymede in un ide PHP, quando l’installazione mi impedisce di proseguire lamentandosi di non riuscire a connettersi ad un keystore (qualunque cosa sia) e mi lascia in mezzo al guado senza altri indizi riguardo al problema ed alla sua possibile soluzione.

Ma partiamo dall’inizio:  Installo Eclipse Ganymede sulla mia macchina e comincio a personalizzarlo. Nel mio caso stavo installando il Graphical Editing Framework. Seleziono il pacchetto tra quelli disponibili nella finestra di software updates, confermo la licenza, aspetto pazientemente che vengano scaricati i file e, per tutta risposta mi trovo con una finestra che mi comunica che si è verificato l’errore riportato nel titolo. Leggi il seguito di questo post »

Written by eineki

Agosto 26, 2008 alle 1:08 am

Pubblicato in eclipse, linux

Taggato con , , , ,

XMLstar: Manipolazione XML a linea di comando

nessun commento

Oggi mi sono imbattuto in una utility interessante: XMLstarlet. Mi ha colpito perché permette di fare, con una discreta velocità, tutto quello che vi può venire in mente con i file xml.

In pratica si tratta di una interfaccia bash verso la libxml2. E’ possibile tra le altre cose, validare, trasformare, selezionare nodi, editare documenti (in batch) formattare e rendere in forma canonica dei documenti xml.

Interessante, ma poco più che una curiosità, il comando ls che rende in xml la directory corrente.

Altra particolarità è la possibilità che offre di passare da formato xml a formato pyx e viceversa. Si tratta di un formato comodo da manipolare con gli strumenti a linea di comando quali ad esempio grep, tail, head e sed che ha la stessa espressività di xml. Chi non ha familiarità con le trasformazioni con le query Xpath, e non volesse spendere tempo a colmare la lacuna, potrà utilizzare strumenti più congeniali per ottenere lo stesso risultato.

Prima di chiudere non mi resta che riportare un’altro link ad un altro rapido tutorial, vecchiotto ma molto valido, sul formato.

Un’ultima cosa: tra la documentazione segnalata troverete riferimento a due programmi xmln e xmlv che non sono altro che il convertitore xml->pyx ed il suo omologo pyx->xml.

Ed ora è davvero tutto.

Written by eineki

Agosto 25, 2008 alle 0:33 am

Pubblicato in bash, linux, xml xsl xslt

Taggato con , , ,

Javascript: The good parts

nessun commento

The Good Parts

Javascript: The Good Parts

In questi giorni sto finendo di leggere il libro il cui titolo fa da intestazione a questo post.

Si nota che l’estate la sto votando a Javascript :) ?

Cosa dire a riguardo? Il libro è particolarmente asciutto, quasi quanto questa recensione. Non si perde in fronzoli ed affronta il linguaggio cercando di soffermarsi sulle parti positive del linguaggio e avvertendo il lettore dei costrutti da evitare.

La lettura è molto veloce, daltronde si tratta di poco più di 150 pagine, densa di informazioni e con una attenzione ai formalismi che non appesantisce il filo del discorso ne’ rende spiacevole l’esperienza ad un lettore alle prime armi.

Certo qualche esempio in più avrebbe sicuramente aiutato chi non è particolarmente esperto del linguaggio ed avrebbe reso il libro un po più godibile anche ai lettori più scafati.

Tutta un’altra impressione rispetto a “Javascript: la guida definitiva”, che preferisco come libro/manauale da tenere sulla scrivania, ma vale la pena di darci un’occhiata (magari prima di comprarlo dateci letteralmente un’occhiata, anche più d’una, in libreria).

Ultima pecca che posso trovare al libro è il prezzo: vista la stringatezza del testo avrei preferito che fosse più compatto. Così com’è, 23.45€ su webster, si fa sentire un po’ troppo.

E questo è tutto.

Written by eineki

Agosto 19, 2008 alle 12:37 pm

Pubblicato in javascript, recensioni

Taggato con ,

Javascript: Ancora sugli scope in Extjs

nessun commento

A stretto giro di posta ho finito di tradurre la seconda parte del tutorial sugli scope in Extjs. La curiosità era troppa e non sono riuscito a fermarmi prima di aver finito anche questa revisione. Finalmente comincio a capire cosa sono i delegati ed a cosa servono.

Non vi ruberò molto tempo se non per scrivere che la seconda parte del tutorial o, meglio, questo secondo tutorial si addentra più in profondità in Extjs e spiega come risolvere, o almeno mitigare, il problema nell’assegnazione degli ambiti di risoluzione evidenziato nel primo.

Buona lettura.

Written by eineki

Agosto 16, 2008 alle 23:45 pm

Pubblicato in javascript

Taggato con , , ,

Javascript: Lo scope in Extjs (e non solo)

nessun commento

Altro rapido post per segnalare la traduzione di un altro tutorial tra quelli disponibili in sul sito della libreria javascript Extjs.

Questa volta ho tradotto, come avevo preannunciato in un post precedente, il primo dei due tutorial che approfondiscono il concetto di scope.

Anche se basilare lo segnalo subito, invece di aspettare di finire di revisionare la seconda parte del tutorial, molto più utile per chi volesse utilizzare extjs, perché ha attirato la mia attenzione sul comportamento delle funzioni annidate riguardo gli ambiti di risoluzione dei nomi. Ho sempre creduto che javascript fosse un normalissimo linguaggio con scope statico mentre ho scoperto, seguendo questo tutorial, che sbagliavo e che la gestione delle funzioni annidate è al limite del comportamento errato (e qui chi ne sa di più è caldamente invitato a contraddirmi essere più preciso).

In attesa della fine della traduzione del secondo tutorial, Buona lettura

Written by eineki

Agosto 15, 2008 alle 23:45 pm

Pubblicato in javascript

Taggato con , , ,

Basta un click …

con 2 commenti

… Una spruzzata di pseudo xml e qualche riga di bash per creare applicazioni grafiche.

Stavo pascolando per tutta internet per ingannare il caldo quando mi sono imbattuto in questo programma che, se pur con delle pecche di gioventù mostra buone potenzialità.

Se non volete pasticciare con zenity per dare un’interfaccia grafica ai vostri script bash troverete in BUC una alternativa, a mio parere non altrettanto valida ma sicuramente promettente.

La prospettiva è rovesciata. Se in zenity sono disponibili delle finestre predefinite per interagire con  l’utente, buc vi permette di definire un’interfaccia grafica associando ai controlli degli script bash, che possono anche interagire tra loro. Cuore del sistema sono dei particolari file di configurazione che sul sito ufficiale vengono definiti come file xml.

L’xml di questi file è a dir poco particolare, può, in alcuni casi essere malformato e non passare le verifiche di xmllint. Ho fatto qualche prova perché mi sono stupito quando un piccolo e banale script di hello world non ha prodotto alcun risultato se non una finestra vuota. E’ saltato fuori che avevo saltato un tag e quindi l’xml non poteva essere interpretato correttamente.

L’unico motivo che possa impedire una validazione formale dell’input sarebbe la necessità di dover interpretare file malformati e così ho potuto valutare: le redirezioni vengono interpretate da xmllint come entità e la validazione non va a buon fine. La soluzione di un simile problema potrebbe essere banale, basterebbe inserire gli script con le redirezioni in un elemento CDATA per poter affrontare la validazione. Il programma non lo fa, almeno per ora, anche se lo sforzo per poter inserire questa feature non dovrebbe essere particolarmente importante.

Un altro peccato veniale del progetto è una certa mancanza di coerenza tra i tag, alcuni hanno opzioni specificate come sottoelementi, mentre in altri la stessa opzione viene specificata, per me più naturalmente, come attributo del tag. Mi riferisco agli elemento title dei tag tab ed all’attributo title dell’elemento button.

Altra pecca, l’attributo filter del tag file che può essere multiplo e sarebbe stato espresso più naturalmente come una sequenza di sottoelementi.

A parte questi appunti, che non sono altro che questioni di lana caprina, il progetto è interessante ed è già usabile e ne consiglio il test e l’utilizzo. I ragazzi del Sicilinux stanno facendo un bel lavoro.

Qualche riferimento per approfondire:

Written by eineki

Agosto 14, 2008 alle 13:16 pm

Pubblicato in bash, linux, recensioni

Taggato con , ,

Uno sguardo a Bongolinux

nessun commento

lunedì 28 Luglio 2008. Da qualche giorno ho registrato il blog presso l’aggregatore del titolo, come “pegno” c’è da fare un pezzo sull’aggregatore. Non mi sembra una richiesta troppo esosa, più che altro una cortesia, e lo pago volentieri.

La tentazione di fare copia e incolla di brani della parte redazionale dell’aggregatore è forte e, per farmela passare, decido di fare un tentativo e chiedo un’intervista alla persona che mi ha contattato per definire l’iscrizione tra i blog aggregati. Con una mia certa sorpresa non si tratta di un bot, o almeno si tratta di un bot talmente evoluto da ingannarmi, e mi mette in contatto con Nicola, un membro dello staff a cui rivolgo qualche domanda.

L’intervista non è affatto conclusa, Nicola lascia aperti diversi spiragli che, magari qualcun altro vorrà colmare invece di fare il solito pezzo sulla gentilissima Monica che ha inserito il blog tra i suoi preferiti :)

Qui di seguito trovate l’intervista:

Qualche domanda a Nicola dello staff de “BongoLinux.com” per capire un po’ meglio cosa, e chi, sta dietro l’homepage dell’aggregatore cui è dedicato il post.
Per convenienza permettimi di darti del tu e di cominciare con una domanda per cercare di fare un po di contesto. Chi sei?
Sono Nicola Greco giovane blogger e sviluppatore appassionato di informatica, collaboratore di HTML.it e blogger del network oneBlog.it . Ora responsabile de network crescente BongoBlog.com.

Qual’è il tuo ruolo all’interno dello staff?
Responsabile del network e di ogni singolo sito del network, mi preoccupo della gestione e sviluppo delle varie applicazioni che verranno implementante all’inizio del 2009.

Quando è nato l’aggregatore? Il whois riporta dicembre 2007 come data di creazione del nome a dominio. Si è trattato di un “colpo di fulmine” o siete rimasti a rimuginarci  sopra per molto tempo?
Il nome dominio è stato comprato esattamente quando  il cuore del progetto era stato già sviluppato. Mentre l’idea nasce esattamente dopo il Linux Day 2007.

Si, ma quanti siete? E soprattutto chi/cosa siete?
Per quanto riguarda la gestione di BongoLinux.com siamo in 3, io, responsabile e sviluppatore, Alessio Biancalana editor e si occupa della gestione dei contenuti e delle fonti.  Potete vedere questo e altro in questa pagina http://bongolinux.com/chi-siamo/

Il gruppo è partito così come è adesso o è andato formandosi via via che il portale, o l’idea del portale, cresceva?
Inizialmente lavoravo da solo per il progetto, poi ho consciuto gente preparata disposta a sostenerlo

Si, ma dove andate? Che prospettive per il futuro?
Il nostro obiettivo è formare un network cioè  BongoBlog.com , per ora BongoLinux.com BongoGadget.com, e ben presto altri 4. Trasformarci in un portale di aggregazione e di analisi della blogosfera è un altro obiettivo, ma questa è un’altra storia…

Quali sono, a tuo insindacabile giudizio, il peggior difetto ed il miglior pregio de “ilbloggatore”?
Il responsabile de Il Bloggatore è un mio grande amico, sviluppiamo assieme widget script e varie applicazioni. Non voglio anticipare nulla, ma presto verrà organizzato un Concorso da noi e da Il Bloggatore, dove i blogger potranno vincere un servizio di Hosting… ma non anticipiamo nulla

Quali strumenti utilizzate per far andate il sito? Si tratta di  software homebrew?
Si,  ci siamo affidati inizialmente a plug-in e simili, successivamente per rendere BongoLinux più flessibile abbiamo riscritto il core. Solo la parte che gestisce i contenuti e i commenti  è basata su wordpress, il resto come gli spider e i webbot sono stati scritti a mano.

Ora che abbiamo [s]parlato bene della “concorrenza”, passami il termine scherzoso, puoi illustrarmi il miglior difetto ed il miglior pregio di Bongolinux?
Il difetto di Bongolinux come del network che sta per nascere è la lentezza credo, anche se il materiale è quasi pronto. Il pregio? La grafica realizzata da diplod.it e la continua crescita e i continui sviluppi, ma se per pregio intendete altro credo la classifica.

Una cosa che mi sembra mancare a Bongolinux e che secondo me potrebbe essere utile è il Cloud delle categorie. Come mai non c’è, si tratta di una scelta precisa o di una feature ancora non implementata?
Verrà inserita presto, anche se non la riteniamo una feature essenziale.

Parliamo della classifica, il link relativo al “bongobot” non porta al codice. Capisco che vogliate mantenere gli asset ma capirai che la mia curiosità da sviluppatore libero ne esce un pochino frustrata. In particolare mi chiedevo se sia più efficace avere pochi post con molti link o molti post con un numero ridotto di link
Il link non porta al codice ma porta alla pagina del bongobot che analizza i link nei flussi dei feed. Per quanto riguarda la seconda domanda, ti dico, secondo me le cassifiche non sono altro che un gioco, quindi per la classifica è meglio avere pochi post e molti link. Per quanto riguarda una panoramica “generale” è meglio avere più lettori e poi è sempre meglio la qualità che la quantità.

Ora non ci resta che parlare del BongoRoll, a differenza della classifica a cui si può fare riferimento come se fosse un feed rss, il BongoRoll non da questa possibilità e quindi taglia fuori, ad esempio, tutti gli autori di blog su WordPress che non hanno una sottoscrizione a pagamento. Avete intenzione di modificare lasituazione, ci sono motivazioni tecniche che impediscono di utilizzare la renderizzazione come feed rss?
Il bongoroll è ancora un esperimento, stiamo studiando come aggirare il problema di wordpress, e l’unica soluzione è scrivere le api del bongoroll, esattamente come per la classifica, queste tramite un formato xml potranno essere incluse in wordpress.

Ormai siamo alle battute finali di questa intervista. E’ arrivato il momento per una domanda alla Marzullo: Cosa non ti ho chiesto, nel caso non l’abbia fatto, di cui ti sarebbe piaciuto parlare?
Sono molti gli argomenti sui quali si può parlare, come ad esempio qualche domanda sul network che nascerà a Settembre o riguardo la stretta collaborazione con il bloggatore.

Le ultime domande che ti vogliono fare riguardano il logo ed il nome, un po’ di colore non fa mai male, di BongoLinux ;) Non avete paura che qualcuno, come cantano Elio e le storie tese, vi sfondi i bonghi? C’è un qualche nesso, sia pure lontano, tra la scimmia di BongoLinux e la Ximian, che fino a qualche anno fa sviluppava, tra gli altri, Evolution?
Non sei/siete i primi a ricordare una delle ultime canzoni di Elio e le storie tese. Spero di incontrarli presto e farmi fare una registrazione apposita :) Scherzi a parte, riguardo al nome Bongo, c’è una lunga storia, e nessun nesso con nessun altro progetto.

Grazie per il tempo che hai dedicato a me ed ai mai troppi lettori che leggeranno queste righe. A risentirci quando il progetto del concorso a cui hai accennato qualche domanda fa diventerà concreto, a meno che tu non voglia aggiungere qualche particolare a chiusura della tua intervista.
Grazie anche a voi è stato un piacere e siete stati fortunati a trovare qualcuno di noi libero. Per il concorso, siamo troppo vicini alla data di presentazione, aspetterete con ansia.

Che dire a conclusione di questa chiacchierata? Il sito mostra qualche difetto di gioventù: qualche pagina redazionale non completa e qualche link che sembra non andare da nessuna parte. L’idea è buona, non è nuova, non si tratta del primo o dell’unico aggregatore italiano ma, se manterrà le promesse potrebbe diventare un attore importante nel panorama dell’internet italiano.

Non mi resta che augurar loro buon lavoro

Written by eineki

Agosto 10, 2008 alle 12:36 pm

Pubblicato in linux, recensioni, web

Javascript: eventi in ExtJs

con 2 commenti

Ho tradotto un altro tutorial su Extjs. Si tratta del tutorial che spiega cosa sono gli eventi e come vengono usati in extjs. Non ho molto altro da aggiungere se non che si tratta di un tutorial introduttivo che mi ha chiarito alcune cose sulla gestione degli eventi alla maniera di Extjs.

Per darvi un’idea riporto lo stringatissimo riassunto finale per punti.

  • un evento è un messaggio inviato (fired) da una sorgente per informare eventuali gestori che è accaduto qualcosa.
  • una sorgente di eventi è un oggetto che può generare eventi
  • un gestore di eventi è una funzione che viene invocata quando una sorgente genera un evento del tipo gestito dal gestore
  • ci mettiamo in attesa di un evento con la funzione on che installa un gestore di eventi
  • per creare una sorgente di eventi estendiamo la classe Observable, addEvents e fireEvent

Dateci un’occhiata in attesa della prossima traduzione (gli scope, un doppio tutorial che mi pare interessante)

Written by eineki

Agosto 8, 2008 alle 14:09 pm

Pubblicato in javascript

Taggato con , , ,