Piero V.

File system universale

Leggendo i recenti guai del SuperBosca mi è tornata in mente una cosa di cui avrei voluto scrivere da tempo: il problema dei file system.

Tanto per cominciare, bisogna chiarire cos’è un file system. Diciamo - ma non è assolutamente una definizione - che è come un sistema operativo gestisce i dati in un supporto di memorizzazione. Per esempio come sono salvati i privilegi, le informazioni come la data di modifica e il contenuto stesso.

Al giorno d’oggi esistono numerosi file system, tra i più diffusi FAT, NTFS, HFS, Ext e molti altri ancora.

Non esiste uno standard ed ogni sistema operativo ne supporta un numero maggiore o minore.

Tuttavia in assenza di uno standard ufficiale doveva pur stabilirsi uno standard non ufficiale: il FAT32.

Il FAT è un filesystem inventato da Microsoft. La sua primissima versione fu introdotta col Basic. Anche se si evolse, rimangono numerosi limiti anche nella versione più recente, la FAT32. Per esempio la dimensione massima di un file è 4GB. Per superare tutti questi problemi la Microsoft inventò NTFS.

Ovviamente nei sistemi operativi Windows non ci sono problemi, col Mac non ho mai provato però mi pare di aver capito che qualche problema invece ci sia e Linux lo può leggere con Fuse ma mandando richiedendo uno sforzo della CPU.

Ma allora qual è il problema? Abbiamo il supporto dei file grandi con questo filesystem.

Il problema sono i device embedded. Alcuni lo supportano solo in lettura, altri ancora non possono né leggerlo né scriverlo. Il problema è molto grave: io per esempio ho un disco esterno da 1TB ma per farlo leggere dall’homebrew channel della Wii e dalla TV ho dovuto tenerlo in FAT32. E la limitazione dei 4GB al giorno d’oggi, anche con questi device, soprattutto con le televisioni fullhd, risultano molto ridicole.

Come mai non è possibile implementare un buon supporto all’NTFS? Immagino per i brevetti e licenze varie.

Se avessimo un file system standard e privo di questi vincoli, allora sarebbe meglio per tutti.

Plugin RewriteURLs (v2.2.3) [Flatpress]

I’ve finally fixed the page-0 bug of RewriteURLs Plugin v2.2, so please update it.

If you are looking for more information about this plugin, please see here.

License: GNU GPLv2

Download: rewriteurls_v2.2.3.tar.gz

jQuery 1.7: callbacks

Mi sono appena accorto che in jQuery 1.7 è stato aggiunto un primordiale supporto per gli hook, basato sulle classi.

Molto bello!

In pratica si usa con l’oggetto window.jQuery.callbacks() o, più velocemente, $.callbacks();.

Una volta assegnato quest’oggetto a una variabile potete aggiungere e rimuovere funzioni, mentre per chiamarlo fate variabile.fire(); sostituendo a variabile il nome della variabile a cui avete assegnato $.callbacks().

Uno dei probabili errori è pensare che una volta settati siano globali o che facendo $.callbacks() rimangano salvati globalmente, invece no, perciò state attenti.

Blender

Mi è venuta voglia di provare altri fronti informatici 😌

Così ho deciso che per un po’ proverò Blender, un fantastico software per la grafica tridimensionale.

L’ho provato poco ma per quello che ho provato è favoloso. È stato capace di stupirmi.

Se raggiungerò buoni risultati vi farò sapere 😉 .

Cosa ho imparato

Giorno 1

Il primo giorno è sempre quello un po’ più complicato, ma con impegno si riesce eccellentemente.

  • Spostare oggetti, ridimensionarli e ruotarli.
  • Spostarmi nell’ambiente di lavoro.
  • Scendere a livello di vertici e lati.
  • La consolle in python è comoda e per certi lavoretti può essere molto utile.
  • L’autocomplete della consolle in python usa CTRL + Spazio. Peccato, sono abituato a usare Tab.
  • Python non è interattivo nella game mode
  • Estrusione

Giorno 2

  • I menu View, Select e Mash offrono molto potenzialità nascoste
  • Il menu proprietà è eccellente, specialmente per chi con la geometria analitica si è abituato a usare le coordinate e non ad andare a occhio
  • Esportare il gioco come runtime

Lirc: fase 1 fallita

Lirc, ovvero Linux Infrared Remote Control.

È un progetto molto interessante, il cui scopo è appunto di usare i normali telecomandi come quello della televisione o dello stereo per comandare Linux.

A suo tempo insieme agli ATMega avevo acquistato anche un paio di ricevitori infrarossi. Mi sono preso il tempo di provarli, però non ho avuto successo…

Non sono capace di localizzare il problema. Non capisco se è un problema hardware o software.

Ho provato a costruire due volte il ricevitore, una volta anche su breadboard ma niente.

Invece con Arduino ho ancora quel fatidico problema del quarzo che mi impedisce di usarlo.

Perciò, in mancanza dell’hardware mi tocca spostare avanti anche questo progetto.

Vi lascio una foto del secondo ricevitore che mi ero costruito.

lirc_breadboard.jpg