camillo

Members
  • Posts

    6,981
  • Joined

  • Last visited

Everything posted by camillo

  1. Mirko: <FONT COLOR="ff0000">Complimenti Camillo.</FONT> Michele: <FONT COLOR="ff6000">Ottimo, Camillo.</FONT> Grazie, ma produco solo gossip. Michele: <FONT COLOR="ff6000">pero' mi chiedevo come si decifrano i valori delle prime tre cifre (100755). Mi dai un aiutino? Grazie.</FONT> Le prime due cifre, come dicevo sopra, indicano il tipo di file. In realtà non è proprio così: il tipo è indicato dal bit meno significativo della prima, e da tutti e tre i bit della seconda. Mascherando i bit utilizzati si ottiene un numero ottale a due cifre che va da 00 a 17. Nella man page di stat sono indicate le costanti corrispondenti a questi bit: <FONT COLOR="0000ff"> #define S_IFMT 0170000 /* type of file */ #define S_IFIFO 0010000 /* named pipe (fifo) */ #define S_IFCHR 0020000 /* character special */ #define S_IFDIR 0040000 /* directory */ #define S_IFBLK 0060000 /* block special */ #define S_IFREG 0100000 /* regular */ #define S_IFLNK 0120000 /* symbolic link */ #define S_IFSOCK 0140000 /* socket */ #define S_IFWHT 0160000 /* whiteout */</FONT> S_IFMT è la maschera dei bit che indicano il tipo, le altre costanti sono i valori attualmente definiti. Da notare che gli specifici valori di queste costanti non sono definiti dalla specifica Posix, anche se di fatto dovrebbero essere identici in tutte le varianti di Unix. La terza cifra contiene alcuni bit speciali: <FONT COLOR="0000ff"> #define S_ISUID 0004000 /* set user id on execution */ #define S_ISGID 0002000 /* set group id on execution */ #define S_ISVTX 0001000 /* save swapped text even after use */</FONT> S_ISUID e S_ISGID li conosci già. S_ISVTX è più noto come "sticky bit". Sui file, di fatto non è più usato; sulle directory serve a limitare la possibilità di cancellare file. Normalmente, chiunque abbia accesso in scrittura ad una directory può aggiungere e rimuovere file; se lo sticky bit della directory è attivo, solo il proprietario della directory, il proprietario del file, o il superuser possono cancellare i file. Questo permette di avere delle cartelle in cui tutti possono aggiungere file, ma ciascuno può cancellare solo i propri. <FONT COLOR="ff6000">Visto che in certe occasioni puo' servire, io aggiungerei anche: Siccome i bit setuid e setgid hanno senso solo per i file eseguibili e le directory [...] Perlomeno, a me serve qualche volta impostare il setgid su di una directory per risolvere problemi di condivisione files tra utenti diversi.</FONT> E' vero: su una directory, S_ISUID fa sì che tutti i file creati al suo interno abbiano come proprietario quello della directory; S_ISGID fa la stessa cosa per il gruppo. Tuttavia questo accade solo se il file system supporta questa funzione, e sembra che non sia questo il caso di HFS+ su OS X 10.3: dalle prove che ho effettuato, l'uid dei file è sempre quello del processo che li crea, e il gid è sempre quello della directory che li contiene, indipendentemente dai bit setuid/setgid.
  2. camillo

    Software

    Cerca "liberopops" su questo forum, c'è il bottone in basso.
  3. camillo

    Software

    Io ho usato un Power Macintosh 7600 del 1996 fino a un paio di mesi fa. Ora uso un iMac rev. B del 1999 (credo). I Mac durano molto. ;)
  4. camillo

    Hardware Apple

    <FONT SIZE="-2">Boh.</FONT>
  5. camillo

    Software

    Ho dato il comando <FONT COLOR="0000ff">:syntax on</FONT>, come puoi vedere nello screenshot. Per averlo sempre attivo, crea un file <FONT COLOR="0000ff">.vimrc</FONT> nella tua home e scrivici dentro: <FONT COLOR="0000ff">syntax on</FONT> (senza i due punti)
  6. Gianmarco: <FONT COLOR="aa00aa">Grazie Camillo, sei stato prezioso; appena posso faccio qualche prova.</FONT> Prego, e facci sapere. Olaf: <FONT COLOR="ff6000">Camillo> trasforma il post in un articolo per Maity o per chi più preferisci...</FONT> Meglio di no, non vorrei che la PSEUDO conoscenza di qualche STRINGA UNIX mi desse alla testa. <FONT COLOR="ff6000">Comunque, Quando ci sono cinque file, per un totale di 1 GB occupato, la compattazione avviene solo se l'uso dello swap scende a 384 MB (37,5%). In pratica, è piuttosto difficile che accada. 384 MB? non mi paiono pochi... Sotto win xp con 256 di ram io genralmente ho 160 MB di swap... sotto OS X quasi tutti hanno mega e maga di ram, motivo in più per dire che 384 MB sono molti.</FONT> Bisogna vedere come il kernel determina lo spazio libero nei file di swap. Immagina che un programma allochi un grosso buffer in memoria, e che vi scriva sopra, costringendo il kernel a swappare su disco una grande quantità di pagine. Poi il buffer viene deallocato: a questo punto c'è una grande quantità di RAM libera, ma le pagine swappate prima non verranno ricaricate finché qualcuno non le utilizzerà, quindi continueranno ad occupare swap. Inoltre, quando una pagina viene ricaricata dallo swap non è affatto detto che il kernel liberi lo spazio di swap corrispondente. Può darsi che lo faccia solo se la pagina viene modificata in memoria: in questo modo, se la pagina deve essere di nuovo swappata senza essere stata modificata, non c'è bisogno di scriverla su disco: è già presente. Visto il risparmio di tempo in swap-out, è probabile che il kernel si comporti così. In questo caso, per rimuovere una pagina dallo swap bisognerebbe che essa venisse modificata in memoria o deallocata (oppure sostituita da un'altra pagina swappata, ma in questo caso lo spazio libero non aumenterebbe comunque). Quindi bisognerebbe vedere se, nel calcolare lo spazio di swap inutilizzato ai fini della compattazione, il kernel conta anche queste pagine "di riserva" oppure no.
  7. camillo

    Hardware Apple

    Forse il Nalin ha ricevuto un iMac con l'alimentatore difettoso, e si è tagliato le vene.
  8. camillo

    Software

    Eleonora: <FONT COLOR="ff0000">mq mi sorprende come da parlare di computer siamo arrivati a disuctere addirittura sulla mia sessualità</FONT> Al crescere del numero di messaggi, qualsiasi thread tende a parlare di sesso. ;)
  9. Io, su OS 9, esportavo quello che volevo con MoviePlayer 2.5, anche senza avere QuickTime in versione pro. Se è vero che ora limita anche le altre applicazioni, oltre a QT Player, è una ladrata che hanno introdotto con OS X. Comunque, quando avrò tempo verificherò.
  10. camillo

    Software

    Marco, forse il carattere che hai usato è troppo sottile? La risoluzione effettivamente ottenibile su una TV è molto inferiore a quella teorica del PAL.
  11. camillo

    Software

    Gennaro: <FONT COLOR="aa00aa">vim sul terminale di OS X non colora la sintassi</FONT> Come no? O__o
  12. Sì, s è il bit setuid (o setgid, a seconda della posizione). setuid vuol dire che, quando il file viene eseguito, l'utente effettivo viene impostato al proprietario del file; setgid imposta il gruppo alla gruppo del file. In pratica, si usa per far salire automaticamente i privilegi di alcuni programmi, indipendentemente da chi li esegue. Siccome i bit setuid e setgid hanno senso solo per i file eseguibili, nella rappresentazione a lettere vengono indicati da una s al posto della x (nella parte owner per setuid, nella parte group per setgid); è sottinteso che anche la x è presente. Per quanto riguarda il messaggio di Disk Utility, nel caso di Mirko è corretto. Quel file non dovrebbe avere il bit setuid attivo, e la riparazione dei privilegi corregge il problema. Nel caso del messaggio di Gianmarco, si tratta di un bug benigno. Il messaggio dice: <FONT COLOR="0000ff">"We are using special permissions for the file or directory ./System/Library/Filesystems/cd9660.fs/cd9660.util. New permissions are 33261"</FONT> ANTONACCI STYLE: Le prime due cifre del numero ottale indicano il tipo di file, la terza i modi speciali (setuid, setgid, sticky), la quarta i permessi del proprietario, la quinta del gruppo, la sesta degli altri. Il valore 100755 indica un file ordinario con permessi -rwxr-xr-x: non c'è nulla di speciale, e quando capita di vedere quel messaggio, i permessi di solito sono già corretti. Infatti il messaggio si ripresenta ad ogni esecuzione della riparazione permessi. Probabilmente, questo è quello che accade: quando legge il disco, Disk Utility prende le ultime quattro cifre (0755), perché il tipo di file non interessa; nel suo database, però, per il file cd9660.util ha indicato il valore 100755: DU vede che numeri sono diversi, mostra il messaggio e modifica i modi a 100755, cioè il valore che avevano già. Ripetere a piacere.
  13. Olaf, le estensioni Apple non sono mica i .DS_Store. Sono state definite ai tempi del System 7... addirittura prima di Joliet, se non sbaglio.
  14. Ho cercato su Internet il manuale della macchina fotografica di mirko. Ci avrò messo cinque minuti. Ora so a cosa serve la rotellina, e posso godere a non dirglielo!
  15. Dunque. Il demone che gestisce i file di swap si chiama dynamic_pager; con man dynamic_pager puoi vedere gli argomenti che accetta. Il funzionamento è questo: quando lo spazio libero nei file di swap scende sotto a un certo limite (hi_water), il kernel segnala a dynamic_pager di creare un file di swap; quando lo spazio libero sale oltre un certo limite (low_water), il kernel lo segnala a dynamic_pager, d_p chiede al kernel di disattivare lo swap sul file creato più recentemente (spostando le pagine lì contenute, se necessario), e, se l'operazione riesce, cancella il file. Di default, dynamic_pager utilizza dei file di swap di dimensione variabile (crescente). Dal sorgente ho compilato questa tabella: <TABLE BORDER=1><TR><TD>file #</TD><TD>size</TD><TD>low_water</TD><TD>total</TD><TD>used_lw </TD></TR><TR><TD>0</TD><TD>64</TD><TD>128</TD><TD>64</TD><TD>-64 </TD></TR><TR><TD>1</TD><TD>64</TD><TD>128</TD><TD>128</TD><TD>0 </TD></TR><TR><TD>2</TD><TD>128</TD><TD>192</TD><TD>256</TD><TD>64 </TD></TR><TR><TD>3</TD><TD>256</TD><TD>320</TD><TD>512</TD><TD>192 </TD></TR><TR><TD>4</TD><TD>512</TD><TD>640</TD><TD>1024</TD><TD>384 </TD></TR><TR><TD>5</TD><TD>1024</TD><TD>1280</TD><TD>2048</TD><TD>768</TD></TR></TABLE> File # indica il numero del file di swap e size le sue dimensioni; quando il file indicato è l'ultimo creato, total indica le dimensioni totali dei file di swap, low_water lo spazio di swap libero necessario per iniziare la compattazione, e used_lw lo spazio occupato corrispondente (total - low_water). Se i miei calcoli sono corretti, il primo file non viene mai cancellato, il secondo solo quando lo swap non è più utilizzato, il terzo quando l'occupazione scende a 64 MB (su 256), etc. Quando ci sono cinque file, per un totale di 1 GB occupato, la compattazione avviene solo se l'uso dello swap scende a 384 MB (37,5%). In pratica, è piuttosto difficile che accada. L'unico modo di risolvere il problema è modificare il file di inizializzazione del sistema /etc/rc e cambiare gli argomenti di invocazione di dynamic_pager. Le opzioni interessanti sono: -S, dimensioni di ciascun file di swap -H, livello di spazio di swap libero sotto il quale viene aggiunto un file -L, livello di spazio di swap libero sopra il quale viene rimosso un file Da notare che se è presente anche uno solo dei parametri "manuali" l'uso di file a dimensioni variabili viene disattivato, e tutti i file saranno delle dimensioni indicate nell'argomento -S, o, in sua assenza, di 20000000 byte. Quindi, prova a modificare il file /etc/rc (fai un backup, mi raccomando), sostituendo questa riga: <FONT COLOR="0000ff">dynamic_pager -F ${swapdir}/swapfile</FONT> con questa, per esempio: <FONT COLOR="0000ff">dynamic_pager -S 67108864 -L 100663296 -F ${swapdir}/swapfile</FONT> per avere file tutti di 64 MB, ed iniziare la cancellazione quando sono liberi 96 MB (cioè un file e mezzo).
  16. camillo

    Hardware Apple

    Il fattore 1/64 non ha niente a che vedere con il carico di lavoro del sistema. Visto che ci sono solo due slot, io un modulo da 256 non lo prenderei comunque. Prendine 512, poi nel caso aggiungine altri 512.
  17. Sei sicuro, Luciano? Che io sappia, la licenza sblocca solo il player (che diventa un editor). Le altre applicazioni possono fare quello che vogliono con o senza Pro.
  18. camillo

    Software

    No, ha ragione lui, SubEthaEdit è insopportabilmente pesante.
  19. Così capite come mi sento io di fronte all'80% delle domande. <FONT SIZE="-2"><FONT COLOR="808080">("oh no, non va!": cosa succede esattamente? "oh no, mi dà errore!": quale errore? )</FONT></FONT>
  20. Neanche su win devi cancellarli uno alla volta. Apri il prompt dei comandi, vai sulla cartella in questione, e usa "del ._*.*". Non do garanzie che sia il comando giusto, prima provalo su una cartella di copie.
  21. Che fregatura. Pensa a tutte le meravigliose funzioni che ha la versione 6.5, e che tu non puoi usare. :/
  22. Ovviamente è possibile eliminarli, anche se non è possibile prevenire la loro creazione.
  23. camillo

    Software

    Piantala, Andrea...
  24. camillo

    Software

    Macteo: <FONT COLOR="119911">vale quanto ho già scritto in altra discussione. stai polemizzando tanto per fare... sono sicuro che ti stai pure divertendo.</FONT> Neanche a me piace litigare. Credo che dobbiamo fare entrambi un passo indietro: io smetto di sfotterti, e tu smetti di parlare di videogiochi. Affare fatto? Abundance: <FONT COLOR="aa00aa">Perché è bruttino guardare un lcd ad una risoluzione non nativa, o un riquadrino in mezzo ad uno schermo nero.</FONT> Se si tratta di fare word processing d'accordo, è chiaro che usando una risoluzione "scalata" l'immagine è meno nitida. Se si tratta di giocare, l'effetto è una sorta di antialiasing e non dà nessun fastidio. Parlo per esperienza, avendo giocato a Quake 3 su un iBook a 800x600 (risoluzione nativa 1024x768). <FONT COLOR="aa00aa">Di nuovo, a me fregherebbe niente, ma se uno è un giocatore "serio"...</FONT> Certo, per un giocatore serio anche 1024x768 è poco.