RandomAccessFile.setLenght, Linux e VFAT.

Nel mio lento ma continuo passaggio a Linux come ambiente di sviluppo (oltre che sistema di tutti i giorni)  mi imbatto spesso in problemi vari di convivenza dei due sistemoni (Micro$ e Linux).

Praticamente usando una modalità dual boot per poter switchare in modo trasparente da uno all’altro mi sono configurato una partizione FAT32 di condivisione per poter modificare e aggiornare a piacimento ogni file.

Per poter utilizzare Eclipse sullo stesso workspace quindi ho spostato la mia area Develop (che contiene tutti i workspace di Eclipse)  sulla sopra citata partizione, in modo che anche se non committo sul repository degli sviluppi parziali, nel caso di switch sono completamente aggiornato con le mie ultime modifiche.

Peccato che tutto funzioni benissimo, tranne il fatto che nel task di ant del setup della piattaforma di test, ci sia un modulo che non posso toccare che fa riferimento a questo pezzo di codice:

RandomAccessFile randomAccessFile = new RandomAccessFile(file, “rw”);

randomAccessFile.setLength(…);

Bene peccato che questo “inutile” e ingenuo pezzo di codice manda in eccezione la VM di linux in determinate condizioni con questo bellissimo stacktrace:

java.io.IOException: Operation not permitted
at java.io.RandomAccessFile.setLength(Native Method)
at file.TestLenght.main(TestLenght.java:20)

Googlando un pò ho scoperto che l’arcano è che il filesystem vfat non supporta il settaggio della dimensione dei file, che non è una sorpresa secondo qualcuno visto che non supporta nemmeno i sparse files.

Ho trovato anche una bella discussione a riguardo sui gruppi di google.

Sembra che la libreriadi Java IO sotto Linux usi ftruncate per espandere un file, e questa modalità funziona su tutti i filesystems tranne VFAT.

Visto che Win32 supporta  lo stesso metodo sui filesystems FAT l’implementazione sotto Linux dovrebbe trovare qualche altro modo per espandere la dimensione di un file sotto VFAT.

Quindi visto che non posso mettere mano a quel codice di utilità non mi resta altro che migrare il mio workspace sotto ext3, e ovviare al problema eliminando la causa: non sviluppare più sotto Windows 😀

Mazi

Pageflakes new style

E’ da poco uscita la nuova versione di Pageflakes.

Avevo già aperto una discussione sulla release beta del servizio di Web Desktop personalizzato. L’avevo trovato subito molto funzionale e personalizzabile rispetto ai concorrenti diretti (Google personalized home), ma purtroppo soffriva leggermente di un problemino riguardo la lentezza di caricamento delle pagine.

Nella nuova release si può notare subito un miglioramento del layout (un pò alla Netvibes) e quello che lascia più felicemente sorpresi è proprio la velocità di caricamento delle pagine.

Quindi se lo avevate abbandonato per la sua leggera lentezza consiglio di dargli un’altra chance. ^_^

Mazi