Installare ed eseguire Postgresql su Mac OS
Installare questo ottimo database relazionale non è un problema utilizzando fink. E’ sufficiente verificare quale versione di postgres sia disponibile con:
fink list |grep postgres
Mentre sto scrivendo risulta disponibilie una versione chiamata postgresql80 (cioè Postgresql 8.0). Per installarla:
fink install postgresql80
A questo punto dovrebbe essere sufficiente eseguire il seguente comando per avviare il database:
sudo /sw/bin/pgsql.sh-8.0 start
Il comando funziona ma viene dato un warning
WARNING: You probably need to set your shared memory resources higher for PostgreSQL to function.
e nei log compare un messaggio ancora più esplicito:
FATAL: could not create shared memory segment: Cannot allocate memory DETAIL: Failed system call was shmget (key=5432001, size=3768320, 03600).
Ho avuto problemi simili in passato su OpenBSD, che è configurato con limiti molto bassi sulla massima quantità di memoria condivisa che un processo può allocare. Mac OS X, che è della famiglia BSD, ha lo stesso problema.
Il messaggio di errore dice che il database sta cercando di allocare 3768320 byte di memoria condivisa ma non ci riesce. Il comando per verificare i limiti del sistema è il seguente:
sysctl -a |grep shm kern.sysv.shmmax: 4194304 kern.sysv.shmmin: 1 kern.sysv.shmmni: 32 kern.sysv.shmseg: 8 kern.sysv.shmall: 1024
Una pagina della documentazione di Postgres spiega a cosa servono tutti questi valori.
I valori che possono causare problemi sono kern.sysv.shmmax (la dimensione massima di un blocco di memoria condivisa) kern.sysv.shmmni (il numero massimo di blocchi di memoria condivisa che il sistema può concedere) e in kern.sysv.shmall (la dimensione, in pagine da 4096 byte, massima totale della memoria condivisa fra tutti i blocchi concessi).
Dopo un po’ di sperimentazione scopro che il primo dei tre valori non è un problema al momento (4194304 byte di dimensione massima è maggiore dei 3768320 byte richiesti) ma può diventare un problema in futuro: meglio aumentarlo. Gli altri due valori sono invece troppo bassi e vanno assolutamente aumentati.
La soluzione è creare o modificare il file /etc/sysctl.conf in modo che contenga le seguenti righe:
kern.sysv.shmmax=16777216 kern.sysv.shmmin=1 kern.sysv.shmmni=64 kern.sysv.shmseg=8 kern.sysv.shmall=65536
Questi valori dovrebbero andare bene per qualunque sistema, purché la memoria fisica sia superiore a 256MB.
Una volta salvato il file con le configurazioni è necessario riavviare la macchina. A questo punto postgres dovrebbe partire senza problemi.
Libro su modelli di sistemi informativi
Giampiero Granatella ha recentemente iniziato la pubblicazione di un libro sui modelli di sistemi informativi. Oggi è uscito un nuovo capitolo sui modelli per il project management.
A differenza della maggior parte dei libri sulla modellazione, che si occupano dei formalismi (tipicamente UML), questo è una raccolta di esperienze d’uso dei modelli in specifiche situazioni reali.
Il testo è on-line.
Traduzione del blog
Ho completato il passaggio alla versione italiana di WordPress e la traduzione del tema grafico che utilizzo. In teoria ogni messaggio (incluso le date) visualizzato dovrebbe essere in italiano. Queste cose richiedono sempre molta pazienza. Se trovate qualche messaggio non tradotto o altri problemi con il sito per favore fatemi sapere. Grazie.
Come catturare una pagina web intera in un'immagine
Questa settimana ho dovuto scrivere un documento in cui spiegavo il funzionamento di un’applicazione web. Per rendere gli esempi più concreti, ho voluto includere degli screenshot del browser mentre navigavo l’applicazione.
Se le pagine sono corte, non ci sono problemi: basta fare uno “screen capture” dello schermo. Se invece le pagine sono lunghe, ho usato e consiglio di usare ScreenGrab.
Si tratta di una estensione per Firefox che scorre un pagina web lunga, scatta una “foto” ad intervalli regolari e infine ricompone le varie parti in un’immagine completa, pronta per essere salvata e inclusa nei vostri documenti.
Spalato, Makarska: album foto vacanze 2006
Ieri sera Piero e io abbiamo finalmente messo insieme tutte le foto scattate (incluso quelle di Gabriele, ma mancano quelle di Francesca). Le pubblico per futuro ricordo e sollazzo:
Croazia 2006
Ricordatevi che se vi vegognate troppo di qualche vostra foto, posso sempre toglierla dal sito… alla modica cifra di 100 euro a foto