mercoledì 27 febbraio 2008

Mai usare distribuzioni a 64 bit

E che palle, non funziona mai un cazzo sull'architettura a 64 bit.

L'ultima applicazione che si è aggiunta alla lista di software non funzionanti/non installabili/buggati, sotto questa fantastica architettura, è il dannato Sun Java Wireless Toolkit

Continuo a chiedermi come mai i processori a 64 bit siano fuori da un sacco di tempo (inizio del millennio) mentre le relative distribuzioni GNU/Linux sono disponibili da pochi anni, e da ancora meno tempo è in circolazione windows a 64 bit.. mah.

Certo la decisione di non creare un'architettura veramente nuova che lasciasse perdere l'instruction set i386 famoso per delle istruzioni che hanno poco a che fare con l'assembly (istruzioni su stringhe..), ma che desse una qualche continuità con il passato ha avuto un peso decisivo in questo. Infatti se da un lato ha permesso una commercializzazione immediata di questi processori, dall'altro ha concesso alle software house il lusso di prendersela con calma.. con molta calma.

Al punto che dopo quasi 8 anni di commercializzazione di questa architettura che ormai domina il mercato ci si ritrovi ancora a fare i conti con un player flash non disponibile, con un sun java sticazzi che non può funzionare, con un eclipse fottutamente instabile e con mega e mega di librerie di compatibilità con 32 bit.

bello, eh?

E sia chiaro, come nerd non accetterei mai di usare una distribuzione a 32 bit... :)

venerdì 15 febbraio 2008

Sourceforge: sztreeview

Ho deciso che è ora di fare una prima simpatica release dei due progetti software che sto sviluppando su sourceforge. Non mi aspetto che vengano usati, uno perchè troppo specifico (e quindi verrà usato più avanti in università) ed uno un po' troppo complesso.

Infatti sztreeview è cresciuto all'inverosimile, al punto che a volte è complesso anche per me capire alcune parti. Infatti è una libreria javascript per creare strutture ad albero; e fin qua nulla di strano.
Pienamente configurabile nell'aspetto (attraverso css) e tendenzialmente aderente agli standard w3c; dico tendenzialmente perchè all'inizio era XHTML Strict, e non dico altro. Con le ultime caratteristiche aggiunte potremmo aver lasciato qualche imperfezione.

Abbiamo anche aggiunto supporto ajax, sviluppando una piccola libreria per gestire le chiamate in background per richiedere, per esempio, i figli di un nodo all'apertura dello stesso.

La cosa si complica pensando al supporto in ambiente distribuito, per cui aggiunta/modifica/cancellazione di nodi, con conseguente notifica al server (via libreria ajax sviluppata per l'occasione) dei cambiamenti e quindi possibilità di ricevere cambiamenti effettuati da altri attraverso semplice polling oppure notifica alla prima richiesta effettuata al server.

Intoltre ad ogni nodo dell'albero è possibile associare uno user object, quindi è sorta la necessità di poterlo visualizzare, da qui è quindi nato lo userObjectDisplayer da estendere con le proprie funzionalità.

Ah, e c'è pure il menu contestuale, ma non credo funzioni molto sotto explorer.
E questo è solo il lato client, lato server ci sono parecchi oggetti e anche delle taglib..

Il tutto cmq funziona ed è già utilizzato, bisogna solo cercare di renderlo più chiaro ed user friendly :)

Magari spiegherò meglio il resto quando preparo la release.. spero presto, ma non assicuro niente.
intanto continuo a lavorare su entrambi (e che soddisfazione vedere tutti e due sopra il 90 percentile di attività!)

domenica 10 febbraio 2008

Hacking NDS Parte 2: dldi

Come avevo detto nel post precedente, dedico qualche minuto alla stesura di poche righe riguardanti un passaggio fondamentale per eseguire codice non ufficiale sul nintendo ds: patchare con dldi.

Praticamente il senso è questo: sarebbe troppo oneroso per un programmatore dover prevedere nel proprio codice tutti i tipi di dispositivi (in termini hardware quali supercard, sdhc one..) su cui verrà eseguito il software e distribuire quindi n compilati, uno per ogni dispositivo.
Per questo motivo è utile potersi affidare a patch che vengono applicate in un secondo momento e che in qualche modo "adattano" l'eseguibile alla particolare configurazione che si ha.

I passi per far questo sono semplici: andare sul sito ufficiale a prendere il file .dldi (sul wiki, perchè lì sono messe le versioni aggiornate) per il proprio dispositivo. Per esempio quello che uso io per la supercard ds one hc è Scsdhc.dldi. scaricare il sw per applicare la patch. scaricare un homebrew, patcharlo col comando:

./dlditool <dldi> <app>

metterlo sulla scheda ed avviare. partirà l'ambiente grafico (un micro sistema operativo distribuito con la scheda da mettere sulla microsd) da cui selezionare l'homebrew per lanciarlo.

per i file .nds con la supercard slot2 a volte questo procedimento non basta e ci si ritrova con l'nds piantato con schermata bianca. noi abbiamo risolto usando il software ufficiale supercard che è ampiamente descritto su gbarl.it

ed ora via con dslinux! :-)