sabato 20 marzo 2010

HTML5 su youtube


Qualcuno di voi forse saprà che un nuovo linguaggio di markup è in drafting: HTML5. Introduce moltissime novità interessanti che renderanno HTML completamente libero da alcuni plugin esterni, come per esempio Adobe Flash o Silverlight. Come?? Con i semplicissimi tag audio e video. Se avete un browser come Google Chrome o Safari potete godere già di questa novità, recandovi alla pagina di aggiornamento. In basso potete cliccare il link che vi cambierà il video player, passando a quello di HTML5. Poi? Basta. Già fatto. Le mie prime impressioni sono state abbastanza positive, in quanto ho notato una vistosa riduzione dei tempi di caricamento! Molti però hanno avuto dei problemi. Per tornare al player di default, basterà tornare alla stessa pagina e cliccare lo stesso link. Fate delle prove e fatemi sapere come va. Ciao!

giovedì 18 marzo 2010

Petizione per il miglioramento dell'Android Market

Se possedete o avrete l'occasione di comprare un cellulare dotato del sistema operativo Android, firmate la petizione di sotto.
Serve per convincere Google a migliorare il market, ancora scarno e con pochi vantaggi per gli sviluppatori di applicazioni.
Google, please improve the Android Market. - Petition



P.S.: dai, facciamo terminare questo impero dell'iPhone!!

mercoledì 17 marzo 2010

Io sono un pitone?

You are Python You are slower than others, but easier to understand. You are a minimalist, who doesn't like clutter.


Grazie, grazie! Questo quiz spacca sul serio. E ci azzecca pure! Veramente superlativo!
Perché non ci provate anche voi? Ciao!

sabato 6 marzo 2010

Google Nexus One VS HTC Desire: solo questione di prezzo?

Sinceramente mi sento in imbarazzo. Google Nexus One e HTC Desire, i due super-phones in uscita ad aprile in Europa, sembrano riscuotere parecchio successo tanto da meritarsi l'appellativo di iPhone-killers. Eppure, se prima mi sentivo sicuro che avrei preso il N1, ora un cambio di idea non mi sembra una decisione stupida, soprattutto se il prezzo del secondo sarà inferiore al primo. D'altro canto, è vero anche che non vado pazzo di Sense (l'interfaccia dei telefoni HTC) e che, in caso la volessi provare, esiste già la ROM per il Nexus. Innegabile è anche il fatto che il googlefonino sembra aver avuto problemi tecnici non indifferenti riguardanti non solo i tasti touch difettosi, ma anche la connessione internet 3g. Bisogna dire anche che Google regalerà al suo telefono gli ultimissimi aggiornamenti in tempo reale. Insomma, analizzando pro e contro, credo che ormai l'ago della bilancia sarà condizionato dal prezzo dei due terminali Android più in voga del momento. Quel che è certo è che ora non sono più sicuro della scelta.
Voi cosa fareste?

GO: operazioni matematiche da terminale

Dopo che sono venuto a conoscenza dell'esistenza del linguaggio di programmazione di Google, ho cominciato a studiarlo con calma, per conoscere le sue caratteristiche e le librerie principali. Il linguaggio è interessante e si può dire essere una via di mezzo tra l'efficienza del C e il divertimento del Python (d'altronde, io conosco solo questi due linguaggi :-)). Ad ogni modo, mi sono divertito a scrivere uno script per effettuare operazioni matematiche da terminale. Lo posto!

package main



import "flag"
import "os"
import "strconv"


const NEWLINE string = "\n"


var (addFlag = flag.Bool("a", false, `add a and b`);
subFlag = flag.Bool("s", false, `subtract b to a`);
mulFlag = flag.Bool("m", false, `multiply a and b`);
divFlag = flag.Bool("d", false, `divide b from a`);
helpFlag = flag.Bool("help", false, `this help`))


func add(a, b int) int {
return a + b
}


func subtract(a, b int) int {
if a >= b {return a - b}
return -1
}


func multiply(a, b int) int {
return a * b
}


func divide(a, b int) int {
if b != 0 {
return a / b
}
return -1
}


func main() {
flag.Parse()
a, errA := strconv.Atoi(flag.Arg(0))
if errA != nil {a = -1}
b, errB := strconv.Atoi(flag.Arg(1))
if errB != nil {b = -1}

if *addFlag {
os.Stdout.WriteString(strconv.Itoa(add(a, b)) + NEWLINE)
} else if *subFlag {
os.Stdout.WriteString(strconv.Itoa(subtract(a, b)) + NEWLINE)
} else if *mulFlag {
os.Stdout.WriteString(strconv.Itoa(multiply(a, b)) + NEWLINE)
} else if *divFlag {
os.Stdout.WriteString(strconv.Itoa(divide(a, b)) + NEWLINE)
} else if *helpFlag {
flag.PrintDefaults()
}
} 


Questo script usa la libreria flag per parsare le opzioni del programma, strconv per la conversione degli interi a stringhe e viceversa e di os per la gestione dell'output. Il programma è sicuramente migliorabile, però con questo esempio volevo dimostrare che, anche con poca esperienza di programmazione, con poche ore si possono ottenere buoni risultati! Per le istruzioni di compilazione vi rimando al sito ufficiale del linguaggio.
Ciao!

giovedì 4 marzo 2010

Microsoft: come (non) disporre 5 elementi in una pagina web

Ormai in molti sapranno della decisione di Microsoft di far scegliere all'utente il browser web da usare in Windows. È da poco disponibile una scelta fra 5 browser web. Fin qui può sembrare tutto a posto. E invece la suddetta pagina è male programmata!!! Non riesce infatti ad elaborare la giusta decisione! Ma, caspita, ci rendiamo conto che stiamo parlando di Microsoft, un colosso, che però non riesce a disporre 5 elementi in una pagina e ad interfacciarsi con l'utente!?! Mah... Un altro indizio che porta acqua al mulino del software libero e, in generale, a tutto ciò che non è Microsoft.
Ciao!

sabato 27 febbraio 2010

GO, il linguaggio di programmazione secondo Google

Google ne ha fatta un'altra delle sue, e questa volta rivolgendosi allo sviluppatore: GO, un nuovo linguaggio di programmazione derivato dal C. Un linguaggio certamente ancora grezzo, ma che è incredibilmente espandibile, la cui sintassi vuole essere moderna, ma allo stesso tempo efficace. Ecco il suo hello world!

     package main

  import "fmt"

  func main() {
      fmt.Print("Hello, World!!\n");
  }

Per ora vi lascio al sito, dove ci sono già tutorial di installazione e spiegazioni della sintassi!
Ciao!