venerdì 28 maggio 2010

Trasferimento

Ho deciso di trasferirmi su uno spazio web diverso da questo per poter iniziare a smanettare con Wordpress e cose varie! Il nuovo indirizzo è questo. A presto!

martedì 25 maggio 2010

Spheric Universe Experience

Capita, dopo un po' che ascolti un gruppo (nel mio caso i Pain of Salvation), di avere delle delusioni. Negli ultimi anni, i PoS non hanno saputo emozionarmi come nelle prove precedenti, che li hanno consacrati Miglior Band nella mia classifica personale! Allora, io di solito cerco emozioni altrove, ascoltando come un matto band sempre diverse e, in un primo momento, non rimanendo pienamente soddisfatto della nuova musica. Tutta bella musica, ma mai "all'altezza"! E invece ora mi sento di dedicare un post ad un gruppo sconosciuto, a me noto grazie a last.fm. Sì, perché solo loro sono riusciti a colpirmi. Non mi interessa nemmeno fornire una spiegazione di questo, poiché sarebbe sicuramente soggettiva e, forse, anche poco condivisibile. Quello che conta è che i "Spheric Universe Experience" hanno fatto breccia nel mio cuore e, più li ascolto, più li adoro! ...e sono felice!

venerdì 14 maggio 2010

...e alla fine ho comprato un Kindle!

Sono sempre stato scettico su prodotti quali eReader, mi sono sempre sembrati non tanto innovativi e comunque non necessari. Ma ho sempre avuto un problema: provo un fastidio enorme a leggere i pdf sullo schermo LCD del mio PC. Dopo pochi minuti perdo la concentrazione, comincio ad avere bisogno di riposare gli occhi, eccetera. Così, in cuor mio, sapevo che prima o poi un momento del genere sarebbe arrivato, anche perché a me leggere serve, ne ho bisogno!
E così mi sono deciso di comprare, direttamente dal sito dell'Amazon, il Kindle 2. Perché proprio il Kindle 2?? Beh, per questioni di "sicurezza". Non mi fidavo di prendere un prodotto di questo tipo su ebay (infatti Sony, per esempio, non vende direttamente fuori dagli Stati Uniti). Morale?? Dopo due soli giorni lavorativi (sì, avete capito bene, c'era una domenica di mezzo e la nube di cenere del vulcano islandese, ma è arrivato dopo tre giorni!!) mi son ritrovato a dover aprire la confezione! E quasi non mi rendo conto, prendendo in mano il Kindle, che quello sullo schermo non è un adesivo, ma un'immagine stampata con la tecnologia E-Ink, e provo un senso di sbigottimento incredibile! Ho messo in carica il gioiellino (esteticamente mi piace molto, ma sono cose soggettive) col cavo mini-USB, dato che il cavo per la corrente elettrica in dotazione è americano, e attendo due orette per il caricamento, inserendo qualche file pdf e altri libri convertiti col programma free Calibre. Alla fine, lo accendo, e, caspita, eccitatissimo evito il benvenuto di Amazon (che, diciamolo, mi ha fatto una gigantesca impressione), e inizio a leggere i miei libri.
Il feedback, dopo una settimana di utilizzo, è il seguente: leggere è estremamente confortevole, sembra (e giuro che non ci credevo nemmeno io finché non ho visto con i miei occhi) di avere carta in mano. Unica pecca? I pdf non supportano l'aumento del font (nessun problema, comunque, perché Amazon ha pronto per la fine di maggio il nuovo firmware 2.5 che, tra molte nuove funzioni, consente questa), ma li leggo con lo schermo ruotato e non mi dà alcun fastidio. La connessione 3g allo store di Amazon (completamente gratuita) è veloce e non è solo uno slogan che in un minuto puoi comprare qualsiasi libro (per prova ho preso la Divina Commedia e l'operazione è stata velocissima!). La gestione delle sottolineature e delle note è buona, se si pensa che lo schermo del Kindle non è touchscreen!
Insomma, questo è stato, per quanto mi riguarda, un ottimo acquisto. Un avvertimento. Il Kindle non è un iPad, non è un computer, ci puoi solo leggere libri! Di contro, l'iPad non è un Kindle, nel senso che se le vostre intenzioni sono una lettura scorrevole e non fastidiosa con il prodotto Apple, dotato di schermo LCD, avrete gli stessi problemi del vostro PC. Compratelo solo se siete lettori, anche non solo di narrativa! Io leggo molto di materie tecniche, come la matematica e l'informatica. Spero che questa pseudo-recensione vi sia utile!!
Ciao!

giovedì 15 aprile 2010

HTC Desire disponibile da MediaWorld

Mi è arrivata oggi la mail di MeidaWorld che mi avvisa della disponibilità dell'HTC Desire! Ecco il testo della mail:
Gentile Cliente,
siamo lieti di comunicarti che è nuovamente disponibile il prodotto HTC Desire

Per accedere direttamente alla scheda prodotto puoi cliccare qui:
http://compraonline.mediaworld.it/webapp/wcs/stores/servlet/ProductDisplay?partNumber=p-609338&storeId=20000&catalogId=20000&languageId=-1

Per acquistarlo puoi eseguire l?ordine via internet o via telefono al numero verde 800-882288.

Le modalità di pagamento sono: contanti alla consegna, carta di credito e bonifico bancario.

La consegna avverrà in tempi rapidissimi a cura di Bartolini o Tnt.

Media World Compra on-line
http://compraonline.mediaworld.it/

Servizio Clienti Media World
800-882288
Sarà contento chi, come me, lo attendeva da molto tempo!!
Ciao

domenica 11 aprile 2010

Microsoft forse ne imbrocca una: Courier

Quanti, in questo periodo, hanno sentito parlare (a sproposito) dell'iPad, il nuovo "gioiellino" di casa Apple? Tutti, o quasi. Quanti fra questo folto gruppo hanno pensato che quel prodotto presentasse più difetti che pregi? Bè, da quello che so io, parecchi. Allora dobbiamo applaudire il buon Jobs, che, anche questa volta, è riuscito a...ehm...convincere la gente ad acquistare il suo prodotto "innovativo". Eppure, la febbre da tablet sta cominciando a diffondersi, e in molti hanno capito le debolezze dell'iPad. Anche Microsoft, che starebbe pensando al suo tablet, nome in codice Courier. Abbiamo solo poche immagini e qualche filmato per ammirarlo in anteprima. La prima cosa che si può notare è la presenza di due schermi touch-screen richiudibili. Questo riduce le dimensioni del tablet anche se aumenta di poco lo spessore. Un'altra cosa che mi ha positivamente colpito è il fatto che questo gioiellino non monterà l'odiato Windows! Sarebbe sensazionale! Io, per ora, aspetto altre immagini, altri video, ma per ora posso dire che, non vedendo di buon occhio le opere in casa Apple, se questo fosse un prodotto completo e, soprattutto, di costo inferiore all'iPad, lo sfizio di fare un dispettino alla mela sarebbe alto!

martedì 30 marzo 2010

Temi GTK in Window Manager

Oggi voglio parlarvi di come usare i bellissimi temi GTK senza installare programmini che, pur facendo il loro dovere, vi tolgono il gusto di aver messo le mani nelle impostazioni del vostro sistema operativo. Anche perché, se usando tali programmi non sapete, in realtà, COSA è stato modificato, aggiungendo righe in un file di testo saprete sempre come tornare alle impostazioni precedenti. Bene. Cominciamo. I nostri temi GTK si trovano, una volta installati in /usr/share/themes o in ~/.themes. Se avete scaricato un tema compresso in un archivio, basterà copiare il suo contenuto in ~/.themes. Ora, l'unica cosa che dobbiamo fare è creare due file nella nostra home (si potrebbe creare anche un solo file, ma per una questione di ordine, anche mentale, consiglio di crearne due distinti): gtkrc.mine e gtkrc-2.0. Nel primo inseriremo le impostazioni per il font, il tema delle icone e tutte le impostazione personali dell'user, nel secondo includeremo il tema GTK e il primo file. Posto il mio gtkrc.mine:


style "user-font"
{
font_name = "Droid Sans 9"
}
widget_class "*" style "user-font"
gtk-font-name = "Droid Sans 9"

gtk-icon-theme-name = "ACYL_Icon_Theme_0.8.1"

gtk-enable-event-sounds = 0

Le prime sei righe riguardano, come potete capire, il font. L'unica cosa necessaria da cambiare è il nome del font nelle righe font-name e gtk-font-name. gtk-icon-theme-name, invece, identifica il nome del tema di icone, che si trovano in /usr/share/icons o in ~/.icons. L'ultima riga, che ho aggiunto io, potrebbe servirvi se volete togliere i suoni di gtk, che a me non piacevano. In ogni caso, potete tranquillamente eliminare tale riga. Per quanto riguarda il .gtkrc-2.0, la faccenda è ancora più semplice!


include "/usr/share/themes/MurrinaFancyBlaster/gtk-2.0/gtkrc"
include "/home/andrea/.gtkrc.mine"

La prima riga chiama il tema. Ricordatevi che dovete includere sempre il gtkrc, che si trova nella cartella gtk-2.0 presente in ogni tema GTK. Il tema che ho incluso io è quello di Bl@ster. Date un'occhiata al suo sito!
L'ultima riga, invece, include il file creato in precedenza.

Se tutto è a posto, ora potete ammirare il vostro tema GTK, che siate in OpenBox, in Compiz stand-alone o in un altro WM. A presto!

domenica 28 marzo 2010

Quanti triangoli ci sono?

Mi è capitato spesso, girando per il web, di trovare dei giochetti matematici. Un esempio è il classico gioco dei triangoli. Quanti triangoli ci sono in questa immagine? Chiunque, almeno una volta nella vita, ha provato a risolverlo contando il numero di triangoli, spesso perdendone qualcuno per strada. Ma se uno volesse trovare un modello matematico per la risoluzione di questo enigma? Fa come me, prende carta e penna e si mette a studiare i vari casi, prendendo prima un triangolo piccolo per poi aumentare la sua grandezza. Io sono riuscito a trovare una soluzione studiando il triangolo a pezzi. Ora non voglio annoiare nessuno con la matematica, ma chi fosse curioso, può guardarsi il codice java qui sotto, per provare ad intuire la soluzione che ho trovato. E, perché no, per proporne una di migliore e più elegante (perché sicuramente esiste).


public class Triangle {
private int l;

public Triangle(int l) {
this.l = l;
}

public int n(int l, int i) {
int n = 0;
if (i == 1)
n = 2*l - 1;
if (i > 1) {
if (l <= (2*i - 1))
n = l - (i - 1);
else
n = 2*(l - i) - (i - 2);
}
return n;
}

public int resolve() {
int result = 0;
for (int l = this.l; l > 0; l--) {
for (int i = 1; i <= l; i++) {
result += n(l, i);
}
}
return result;
}

public static void main(String[] args) {
Triangle triangle = new Triangle(1000);
System.out.println(triangle.resolve());
}
}

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!

martedì 16 febbraio 2010

Compiz-deskmenu: il menu come openbox

Facciamo una pausa nella guida a Compiz e soffermiamoci un attimo sul menu che abbiamo scelto di usare: compiz-deskmenu. La configurazione della sua chiamata non è immediatissima, nel senso che, a prima vista, sembrerebbe che non sia possibile configurare la chiamata del menu col solo tasto destro del mouse (come vale per la maggior parte dei WM). Sembrerebbe, ma non è così! Infatti, grazie alla solita comunità di archlinux, sono riuscito a risolvere questo problemino! Come? È presto detto! Apriamo il gestore delle configurazioni di Compiz. Nella sezione Generale>Comandi, lasciamo in una riga di comando "compiz-deskmenu", ma disabilitiamo qualsiasi combinazione di tasti. Nella sezione Desktop>Selettore area visibile, nella scheda "Selezione area visibile in base alla scrivania", ci sono tre cose da fare:

  1. Alla riga "Azione inizializzazione plugin", selezioniamo il tasto che  vogliamo utilizzare (per me, il tasto destro è Button3
  2. Alla riga "Plugin per azione inizializzazione", scriviamo commands
  3. Alla riga "Nome azione per inizia", scriviamo run_command0_key


Dovrebbe essere tutto a posto! Bene, ora godetevi il vostro splendido menu!

domenica 14 febbraio 2010

[TUTORIAL]Compiz stand-alone - Personalizzazione

Certo, compiz è bello da vedere, ma il nostro sistema deve essere anche e soprattutto comodo da utilizzare. La prima cosa da fare è, a mio avviso, utilizzare un menu openbox-like per compiz. Il pacchetto è su AUR!
Una volta installato compiz-deskmenu, è necessario configurare la sua chiamata. E allora basterà recarsi nel Gestore configurazione CompizConfig (ccsm da terminale), attivare Comandi nella sezione Generale e impostare in una linea di comando il comando compiz-deskmenu, e nell'associazione di tasti qualsiasi combinazione vogliate. Ora, con quella combinazione potete aprire il vostro menu, che potete facilmente modificare!
Per l'impostazione del vostro sfondo sul desktop, consiglio, soprattutto se usate utility come conky o simili, di NON usare il plugin di compiz, ma un altro programma. Io uso nitrogen (lo trovate nei repository con pacman). Una volta scelto il vostro sfondo dovete aggiungere questa linea in .xinitrc:
nitrogen --restore&

In questo modo, a ogni boot, potrete rivedere il vostro amato sfondo! Infine, come file-manager avete, a mio avviso, due valide opzioni. La prima è usare thunar, che, secondo me, è il miglior file-manager leggero che sia in questo momento nei repository. La seconda opzione è usare pcmanfm, veramente di poco inferiore a thunar. La miglior cosa da fare è provarli entrambi e farsi la propria personale idea. Una volta configurati menu, desktop, file-manager (e altre utility indipendenti) il risultato dovrebbe essere questo:



Buona configurazione! Ciao!

giovedì 11 febbraio 2010

[TUTORIAL]Compiz stand-alone - Getting started

Molte volte compiz viene utilizzato assieme ad un Desktop Environment come Gnome o KDE, ma non sono in molti a sapere che può essere utilizzato come window manager solitario, come alternativa ai leggerissimi Openbox, Fluxbox, eccetera. Ebbene sì, Compiz è anche stand-alone! Diamogli un'occhiata!

Nota: questa guida è scritta per Archlinux, la mia distribuzione linux preferita. Ciò non toglie che i pacchetti per Arch esistono per tutte le altre distro.

Innanzitutto, ovviamente, è opportuno installare compiz. Da terminale:
pacman -Sy compiz-fusion

Una volta installati i componenti, creiamo uno script nella nostra home (in questa guida il nome sarà start-fusion.sh) con all'interno questi parametri:
#!/bin/sh
tint2& # pannello
fusion-icon # compiz


Tint2 è il pannello che uso io, ma può essere sostituito con un altro qualsiasi come, per esempio, gnome-panel.
Ora è necessario rendere eseguibile lo script. Sempre da terminale:
sudo chmod +x ~/start-fusion.sh

Ottimo! Ora, bisogna solo modificare .xinitrc (per chi non lo sapesse, si trova anch'esso nella home).
Aggiungiamo questa linea (e commentiamo le altre che lanciano altri window manager!):
exec ck-launch-session start-fusion.sh

Al riavvio, avviate X e vedrete il vostro compiz stand-alone con la fusion-icon nel vostro pannello. Potete smanettarci!! Nella prossima guida, vedremo come interagire meglio con compiz stand-alone, creando un menu openbox-like e avviando i programmi all'avvio.

sabato 6 febbraio 2010

Google Nexus One è migliore dell'iPhone?

In questi giorni si discute delle scarse (finora) vendite del Googlefonino, il Nexus One. Le aspettative erano però inizialmente talmente elevate da far pensare al Nexus One come l'anti-iPhone. Queste aspettative erano fondate, visto le caratteristiche del "miglior cellulare Android", che presenta molti più pregi di quanti possano essere i difetti. Partiamo con le sue caratteristiche principali.

  • Processore Qualcomm QSD 8250 1GHz
  • 512MB RAM
  • 4GB SD di memoria (espandibili fino a 32GB)
  • Autonomia in standby: 250/290 ore
  • Fotocamera 5 megapixel
  • Schermo da 800 x 480 pixel
  • Sistema operativo Android 2.1
E l'iPhone? Facciamo un confronto con le stesse caratteristiche! Ho preso il modello iPhone 3GS, il migliore sul mercato.



  • Processore da 600MHz ca.
  • 256MB RAM
  • Memoria fissa (16GB o 32GB)
  • Autonomia in standby: fino a 300 ore
  • Fotocamera 3 megapixel
  • Schermo da 480 x 320 pixel
  • Sistema operativo Apple
Certo, da questi dati la superiorità hardware del Googlefonino è evidente, ma a favore del telefono Apple c'è un App Store enormemente più grande (100000 apps Apple contro le 20000 Android). Inoltre, molti nuovi utenti del Nexus One si sono lamentati della mancanza del multitouch (in particolare della funzione "pinch-to-zoom") e di una vacillante connessione 3g. Problemi risolti però con il recente aggiornamento del N1. Ho cercato di mettere a confronto i due telefoni il più obiettivamente possibile. Sta a voi ora scegliere tra i due. Personalmente, sto aspettando con ansia il telefono di Google, sperando che il prezzo non sia troppo  elevato (sicuramente, il prezzo non supererà quello dell'iPhone).

martedì 2 febbraio 2010

Cenni di wxPython - Cosa sto imparando

Ciao a tutti. :-)
In questi giorni mi sto cimentando con wxPython, una splendida libreria grafica per il linguaggio di programmazione python. Ebbene, ho deciso, dopo aver studiato solo le basi, di scrivere un programmino che riconoscesse una password.  Al terzo errore, il programma si deve chiudere. Lo script che è venuto fuori è questo:
#!/usr/bin/env python
import wx
PASSWORD = "12345"


class PswdRecognizer(wx.App):
    def OnInit(self):
        frame = MainFrame("Password Recognizer")
        frame.Show(True)
        self.SetTopWindow(frame)
        return True
        
class MainFrame(wx.Frame):
    def __init__(self, title):
        wx.Frame.__init__(self, None, title=title, size=(200, 66))
        
        # Variables
        self.errors = 0
        
        # Panel
        panel = wx.Panel(self)
        
        # TextCtrl
        self.line = wx.TextCtrl(panel, style=wx.TE_PASSWORD, size=(200, 30))
        font = wx.Font(12, wx.SWISS, wx.NORMAL, wx.NORMAL, wx.NORMAL, u"Droid Sans")
        self.line.SetFont(font)
        self.line.SetFocus()
        
        # Buttons
        ok = wx.Button(panel, wx.ID_OK, label="OK", pos=(-1, 31))
        ok.SetDefault()
        self.Bind(wx.EVT_BUTTON, self.OnOK, ok)
        
    def OnOK(self, e):
        if self.line.GetValue() == PASSWORD:
            self.errors = 0
            dlg = wx.MessageDialog(self, "Right!", "Password", wx.OK)
            dlg.ShowModal()
            dlg.Destroy()
        else:
            self.errors += 1
            if self.errors == 3:
                dlg = wx.MessageDialog(self, "Third Error.\nBye!",
                                        "Password", wx.ID_OK)
                dlg.ShowModal()
                dlg.Destroy()
                self.Close()
            else:
                dlg = wx.MessageDialog(self, "NO!!!!!", "Password", wx.OK)
                dlg.ShowModal()
                dlg.Destroy()
        self.line.SetFocus()
            
if __name__ == "__main__":
    app = PswdRecognizer()
    app.MainLoop() 

Il programma è molto semplice, e utilizza i concetti di Frame, App, TextCtrl, MessageDialog e Panel. La guida (in inglese cui sto attingendo le informazioni è questa.
Buon wxPyhton!

venerdì 15 gennaio 2010

[Recensione]Andromeda - The Immunity Zone

Gli Andromeda cominciano a piacermi sempre di più. E la loro ultima fatica è veramente un ottimo lavoro, né troppo aggressivo, né troppo calmo, all'interno del quale ci sono pezzi destinati ad entrare nell'olimpo del Progressive Metal. La band svedese ci porta fuori strada già con l'opener "Recognizing Fate", che non sembra all'altezza di un ottimo lavoro, seppur sia una buon brano. "Slaves Of The Plethora Season" cambia marcia, e ci porta a un sound in stile Train of Thought (dei Dream Theater) molto aggressivo e avvincente. Se il secondo brano si stacca dal primo, questo succede anche nel passaggio a "Ghosts On Retinas", pezzo che, seppur poco orecchiabile nella strofa, sfocia in un ritornello ballad che colpisce per la sua semplicità e bellezza allo stesso tempo. Lo strano finale della canzone ci catapulta a "Censoring Truths", nel quale gli Andromeda complicano la situazione con tempi dispari, ottimi pezzi solistici soprattutto di tastiera e batteria. "Worst Enemy" è invece una canzone che all'inizio non colpisce, ma la seconda parte di questa canzone vede una chitarra più estroversa che esce fuori da un guscio che l'ha rinchiusa per quasi tutto l'album. "My Star" è invece un pezzo che tende a essere noioso a primi ascolti, ma la sua stranezza ricorda un po' gli ultimi Pain of Salvation, anche e soprattutto per il cantato, che a volte è un parlato. L'assolo di chitarra finale accelera fino alla fine, quando comincia "Another Step", che mi ricorda molto lo stile Symphony X, con i continui duetti fra chitarra e tastiera e per gli acuti del cantato, che raggiunge livelli notevoli. E si intuisce che pian piano si arriverà a una svolta dal brano successivo. "Shadow of a Lucent Moon", sembra una canzone innocua dall'arpeggio iniziale, ma dopo 2 minuti e 40 secondi circa la storia cambia, e il brano muta preparandoci ad assaporare quel capolavoro virtuoso che è "Veil of Illumination", Progressive Metal allo stato puro, che ci apre la bocca dall'inizio all fine. Una suite di 17 minuti che ci fa divertire, ci coinvolge, ci emoziona e che, senza dubbio, da sola, vale l'acquisto dell'album. Un album che va ascoltato molte volte per essere apprezzato, ma che è una dimostrazione dell'abilità tecnica e compositiva della band svedese, che non rivoluziona il genere, ma lo fortifica con ottime prove studio.

Azz

8.5/10

giovedì 14 gennaio 2010

Tilda: il mio terminale preferito!

Ciao a tutti! Oggi vorrei parlare di Tilda, il mio terminale per linux preferito!
Questo terminale mi piace soprattutto per il fatto che non ha dipendenze dai vari Desktop Environment (Gnome e KDE), dato che uso Archlinux + OpenBox, per il suo facile utilizzo e per il suo aspetto grafico (in particolare la trasparenza). Si può installare da ogni gestore di pacchetti di ogni distribuzione e si può subito far partire.
La gestione delle preferenze di Tilda è veramente facile!


La finestra Generale e quella Aspetto sono di gran lunga le più importanti. Nella prima è importante deselezionare "Sempre sopra" e abilitare il Double Buffering. Secondo me, il font da scegliere dev'essere monospace, ma comunque la scelta spetta, ovviamente, all'utente. La seconda è fondamentale per spostare il terminale dove si vuole e, se lo si desidera, per abilitare la trasparenza (una volta abilitata bisogna selezionare la percentuale di trasparenza, di solito 100%). Dopo le ultime modifiche avrete un terminale "incastonato" nel vostro desktop. Se, come me, ve ne innamorerete e volete farlo partire automaticamente a ogni boot, allora aggiungetelo nei programmi automatici. In OpenBox aggiungete tilda & al file /home/user/.config/openbox/autostart.sh dove user è il nome dell'utente. Spero che appreziate Tilda!
Ciao

Azz

lunedì 11 gennaio 2010

Nintendo DSi - EZ-Flash Vi

La EZ-Flash è stata una delle prime produttrici di flashcard (assieme a acekard) a produrre una scheda capace di far girare homebrews e ROMs sul nuovo nintendo DSi, e tuttora le marche di flashcard per la nuova console portatile di nintendo sono pochissime e poco affidabili.

La EZ-Flash Vi, che io ho comprato su spaziods (www.spaziods.net), è arrivata dopo due giorni dall'ordine in ottime condizioni ed è stata subito messa alla prova. L'installazione è stata facilissima, in quanto è stato necessario copiare nella cartella principale della sd il kernel, il resetsp e il firmware. L'interfaccia grafica della card non mi entusiasma, ma comunque non è pessima. La mia scheda mini sdhc funziona perfettamente e si inserisce nella flashcard tranquillamente, anche se toglierla è un po' difficile! Per le ROM non sono stati riscontrati particolari problemi (anche se per alcune, soprattutto quelle di ultima uscita, è necessario disattivare il soft-reset); per gli homebrew la faccenda è diversa. Alcuni possessori della flashcard hanno riscontrato dei problemi nell'avviare alcuni homebrew (come dslinux, ndsmail, backup tool e altri), ma molti girano molto facilmente e senza problemi. Alcune funzioni della card funzionano solo per il nintendo ds lite e non ancora per il dsi, e un problema importante (ma per molti superfluo) è l'estrema difficoltà di inserire cheats (trucchi) per i backup.

Riassumendo, la card non è male, ma nemmeno eccellente, ma c'è da aspettarselo essendo all'inizio del mercato di flashcard per dsi. Per i non smanettoni sarà perfetta, per chi ama invece gli homebrew sarà un po' più macchinosa. Peccato per la lentezza (si parla di secondi...) dell'avvio delle ROM.

FACILITA D'USO 7
GRAFICA 7
ROM 8
HOMEBREW 7

[TUTORIAL] NDSMail

NDSMail è un homebrew ideato da Bronto in continuo sviluppo e miglioramento, tanto da arrivare a svolgere tranquillamente le operazioni elementari di un client di posta elettronica. Oltre a inviare e leggere le mail, questo homebrew, giunto alla versione 0.60, supporta ora il protocollo SSL, che permette anche agli utenti di gmail di usufruirne! Inoltre, chi ha una connessione wifi protetta da una chiave WEP non deve preoccuparsi, perché una corretta configurazione della Nintendo WFC permette il corretto funzionamento del programma!

NDSMail 0.60 è scaricabile da qui!

Prima di tutto è meglio spiegare la configurazione della Nintendo WFC, possibile tramite un gioco, dato che essa permette la connessione wifi anche con chiavi WEP (nell'esempio ho usato Mario Kart DS, ma un altro gioco con la possibilità di configurare la WFC va bene ugualmente). Chi possiede una connessione non protetta può saltare questo passaggio.

Facciamo partire il gioco e nella schermata principale selezioniamo Nintendo Wi-Fi Connection e successivamente configurazione. Selezioniamo Impostazioni Nintendo Wi-Fi Connection e poi la nostra connessione preferita. Ora ci servono delle informazioni di rete reperibilidigitando cmd /k ipconfig /all in Start-> Esegui... in Windows. Inseriamo il SSID (il nome di rete), la Chiave WEP, selezioniamo NO su Ottieni indirizzo IP automaticamente e settiamo Indirizzo IP, Subnet Mask, Gateway e i DNS. A questo punto la rete è configurata!

Scompattiamo ora l'archivio di NDSMail scaricato in precedenza, copiamo il file .nds nella nostra sd della flashcard e siamo a posto. Ora lo facciamo partire nel ds e, se tutto sarà andato come previsto, l'homebrew partirà connettendosi alla rete, facendoti notare che non è presente alcun account di posta. Infatti, ora è necessario configurare l'account di posta premendo Settings -> Manage Accounts -> Add. Inseriamo i nostri dati e siamo a posto. Tornando alla pagina principale, toccando Transmit, NDSMail si collegherà al server di posta e vi segnalerà, se vi sono, i nuovi messaggi in arrivo. Per creare un messaggio di posta, è necessario premere New, e scrivere l'indirizzo del destinatario e l'oggetto della mail.

Veramente un bel homebrew, comodo e veloce, consigliatissimo!

Linux - Installare e configurare l'ambiente devkitPro + PAlib

Questo post interesserà gli sviluppatori di homebrew per Nintendo DS, perché riguarda l'installazione e la configurazione di devkitPro con le PAlib, famose librerie per DS. Dato che l'installazione è molto dettagliata per Windows, ma poco per Linux, ho deciso di scrivere questa sorta di guida per quelli che, come me, amano Linux e si trovano a disagio a programmare su Windows.
Bene, procediamo!

Per prima cosa è necessario procurarsi alcuni archivi:
PAlib 080823devkitARM r21dswifi 0.3.4libnds 20071023libfat-nds 20070127Cercate di usare queste versioni, perché le ultime release di devkitARM non sono compatibili con le PAlib. Fate attenzione!

Ora che avete gli archivi, create nella vostra home (o dove più vi piace) una cartella "devkitPro" (i doppi apici, ovviamente, non servono!). Al suo interno scompattate devkitARM, create una cartella "libnds" e all'interno di essa scompattate libnds, dswifi e libfat-nds. Infine, tornando nella cartella devkitPro, scompattate le PAlib.

Bene! Fin qui avete potuto lavorare anche solo con il mouse, ma nel prossimo passaggio consiglio vivamente di utilizzare il terminale (è anche più appagante!).
Aprite il terminale e digitate

sudo nano ~/.bashrc

e aggiungete in questo file queste righe

export DEVKITPRO=/home/username/devkitPro
export DEVKITARM=$DEVKITPRO/devkitARM
export PAPATH=$DEVKITPRO/PAlib/lib

ovviamente la prima di queste righe cambia a seconda di dove avete creato la cartella devkitPro.
Salviamo e chiudiamo nano e, sempre da terminale, digitiamo

source ~/.bashrc

per usare le variabili create. OK! Se tutto è stato seguito ordinatamente, devkitPro funzionerà! Proviamo a compilare un esempio di programma, HelloWorld! Lo faremo da terminale!
Rechiamoci nella cartella del progetto:

cd ~/devkitPro/PAlib/examples/Text/Normal/HelloWorld

e utilizziamo il comando make:

make

Se ottenete una schermata simile a questa

arm-eabi-g++ -g -mthumb-interwork -mno-fpu -L/home/andrea/devkitPro/PAlib/lib/lib -Wl -specs=ds_arm9.specs main.o -L/home/andrea/devkitPro/PAlib/lib/lib -lpa9 -L/home/andrea/devkitPro/libnds/lib -lfat -lnds9 -ldswifi9 -o build.elf
Nintendo DS rom tool 1.36 - Oct 23 2007 23:03:47
by Rafael Vuijk, Dave Murphy, Alexei Karpenko
built ... HelloWorld.ds.gba
dsbuild 1.21 - Oct 23 2007
using default loader

tutto è andato a buon fine, e nella cartella del progetto troverete i file HelloWorld.nds e HelloWorld.ds.gba!
Avete installato devkitPro con successo! Ora imparate a usare le PAlib! Buona programmazione!