giovedì 22 settembre 2011

Ubuntu Developer - Un portale tante idee

Inizio questo mio post dopo un'assenza piuttosto lunga dichiarando subito che quanto stiamo per analizzare non è nulla di incredibilmente nuovo. Recentemente ha attirato la mia attenzione un progetto di ubuntu: Ubuntu Developer Portal.

L'idea che sta alla base di questo nuovo progetto targato Canonical non è niente di innovativo: un portale dove raccogliere app. Soprattutto con l'avvento degli smart phone, questo tipo di "magazzini" è diventato di moda.

 Ciò che contraddistingue questa nuova piattaforma, dalla quale sinceramente mi aspetto molto, è la stretta relazione che ha con uno dei sistemi operativi open source più diffusi. In questo momento il sito propone solo un'anteprima di quello che sarà il servizio ma già abbiamo materiale a sufficenza per un'analisi preliminare. Nella pagina "Create" viene pubblicizzato uno strumento che assiste lo sviluppatore novizio nella creazione e distribuzione di un'applicazione per Ubuntu.

Sono venuto così a conoscenza (ammetto di non averlo mai visto prima) di un tool, Quickly, che permette di creare applicazioni in python con interfaccia grafica il tutto dando alcuni comandi da terminale e con una guida in linea piuttosto utile e ben scritta. Il lato negativo di questo abbassamento del livello di difficoltà sarà sencondo me un ancora maggiore moltiplicarsi di applicazioni che hanno il medesimo scopo. Rimane comunque uno strumento a cui dare un'occhiata nel proprio tempo libero.

 La prima perplessità è l'utilizzo del solo launchpad per l'hosting del codice. Una mossa scontata da parte di Canonical, dalla quale avrei però voluto la possibilità di scegliere altri tipi di controllo di versione, fra cui ovviamente GIT. Questo è ancora un punto a favore del portale GitHub.
 La seconda riguarda la pubblicazione di applicazioni a pagamento. Penso di non essere l'unico a sostenere tramite paypal sviluppatori open source e Canonical in primis per il lavoro svolto, ma quest'opera che tende ad assomigliare ad Apple mi lascia un certo amaro in bocca. Le applicazioni, principalmente scritte in python (e non perchè è un linguaggio che mi è simpatico ma perchè lo stesso Quickly lo propone come linguaggio di sviluppo) con il codice sorgente a disposizione su launchpad, potranno sicuramente essere reimpacchettate e distribuite gratuitamente con tutta la disputa che ne uscirà. Dall'altro lato la possibilità di pubblicare direttamente sull'Ubuntu Software Center sarà perfetta per far conoscere applicazioni utilissime che altrimenti sarebbero rimaste nell'ombra.

 Concludendo: questo portale riprende il concetto di application store e lo lega ad Ubuntu. L'idea è ottima ma gradirei non vedere i soliti autogol che si fa Canonical per imitare Apple. ;)

domenica 6 marzo 2011

Cognitive Radio - Uno sguardo approfondito

Volevo sottoporre a tutti quelli che passeranno per questa pagina un argomento interessante che è stato oggetto di una ricerca per un esame universitario: Cognitive Radio Networks.

Ho scritto un veloce paper su che cosa rappresentano le Cognitive Radio per lo sviluppo delle comunicazioni e quali problemi di sicurezza possano portare con se.
Mi piacerebbe che da questa piccola introduzione nascesse un dibattito per approfondire e suggerire eventuali soluzioni.

Link al paper

All'interno del paper si fa anche un costante riferimento al Nokia Reseach che si è occupata di vedere dove è possibile impiegare con successo questa nuova tecnologia.
È possibile anche vedere il video prodotto su YouTube che metto qua sotto per chi fosse interessato.

giovedì 20 gennaio 2011

Java and performance, non è impossibile con gcj

Java è un buon linguaggio. Molto diffuso e ricco di documentazione e librerie.
La Java VM è molto lenta. Molto lenta. Mooooooooolto lenta.
Sono venuto così a contatto con gcj ovvero gcc per Java. Questo compilatore produce un file eseguibile esattamente come per C/C++.

A questo punto viene spontaneo fare un piccolo test di performance. Premetto che il test proposto non ha valenza assoluta.

Compiliamo questa classe.
public class MiaClass
{
public MiaClass()
{
}

public void print()
{
long startTime = System.currentTimeMillis();

callOperationToTime();

long endTime = System.currentTimeMillis();

long totalTime = endTime - startTime;

System.out.println("Time: " + totalTime);
}

private void callOperationToTime()
{
for(int i = 0; i < 10000; i++)
{
System.out.println(" ");
}
}
}

e successivamente richiamiamola da un semplice "main".

public class HelloWorld {

public static void main(String[] args) {
MiaClass c = new MiaClass();
c.print();
}

}


Questo codice compilato con gcj esegue le operazioni in 75ms mentre lanciato con la Java VM i millisecondi salgono a 291.

La mia macchina è un P8400 e Ubuntu 10.04.

domenica 9 gennaio 2011

"Un web ingarbugliato"

Il primo The Economist del 2011 ha al suo interno un articolo molto interessante che si intitola appunto "A tagled web".
Parla della nuova riforma FCC circa la "network neutrality". La network neutrality non riguarda i contenuti della rete ma il mezzo di trasmissione. Negli States è un problema molto sentito anche politicamente per la mancanza di competizione per le offerte di connettività.
Il problema principale è la "pay for priority". Significa che le compagnie potrebbero favorire il traffico di un utente che paga di più rispetto a chi paga una tariffa inferiore. L'articolo descrive la situazione attuale, dopo la riforma, e denuncia come questo problema sia stato elegantemente trascurato. Recita infatti che sono "proibite discriminazioni non ragionevoli" lasciando all'intelligenza dei provider la definizione di "discriminazione ragionevole".

Ciò su cui mi vorrei concentrare però è la situazione italiana e paragonarla a quella statunitense.

Per prima cosa l'articolo dell'Economist mette in rilievo quanto la questione regolamentata dalla FCC sia sentita politicamente e che posizioni tengono i due schieramenti. In Italia il problema della "network neutrality" non è minimamente percepito dalla classe politica. È evidente se si pensa a quanto Telecom sia stata in grado di fare il buono e il cattivo tempo. Chi sta per dire "Fastweb" non lo dica.
Secondo, ma non meno importante, problema è la mancanza di infrastrutture tali da garantire a tutti gli utenti una velocità dignitosa. In alcune zone d'Italia non arriva il segnale ADSL. Questo è solo un reminder perchè il problema è vecchio come internet.

La liberalizzazione delle reti wi-fi nelle piazze è un evento importante ma credo che sia solo un granello dell'immensa spiaggia chiamata "avanzamento tecnologico". Siamo un paese tremendamente indietro anche per quanto riguarda la connettività. Cerchiamo almeno di imparare dagli errori che gli altri stanno facendo con alcuni anni di anticipo rispetto a noi!