Revamping an old MacBook with RAM and SSD

I worked recently on a late 2009  13 inch Apple MacBook (Model A1342, 2.26 Ghz) which was still in good working conditions.  It’s a Intel Core 2 Duo laptop with an 120GB hard disk and 1GB RAM, Mac OSX 10.5. With a little upgrade it’s a decent computer for everyday office work in 2014.

The hardware part is straightforward: I bought an 250 GB SSD from Samsung and 4 GB RAM DDR2 667MHz, took out the battery pack and removed the lateral metal rail to access the RAM slots and the hard drive bay. You need a cross and a torx screw points to remove the rail and free the drive from its cradle.

The software part takes a bit longer: I set for Mac OSX 10.6 Snow Leopard which is stable, tested and actively supported. It is possible to import all the old data and settings from a time machine backup or an osx drive during the new installation, just plugging it via USB.

The issue about an SSD drive is that it’s very fast (allowing the SATA bus onboard is not a bottleneck) but its lifespan depens on the read/write cycles it endures. All the optimization recommended for SSD tries to reduce read/writes by tweaking the filesystem and the OS.

The reference for OSX SSD optimization is Martin Matula’s Optimizing MacOS X Lion for SSD which is about OSX 10.7 Lion: all the steps described there are similar to what you do on other Linux/Unix systems and should be adapted to your situation, except the step “Turn off local Time Machine snapshots” using tmutil in the terminal, because tmutil does not exist in 10.6 and local snapshots seem to be a new feature in 10.7.

Since an SSD will fail sooner or later, it’s important to backup. Time Machine on an external drive is the easiest way to do it, however there’s a subtle catch when using File Vault home directory encryption. Time Machine does an encrypted home directory’s backup only when the user is logged off. This is seldom the case on a single-user laptop that is either turned off or logged-in.

It seems that in this case you have to trade off security (home directory encryption with File Vault) with data availability (frequently updated backups). Depending on your risk assessment you may decide to keep data encryption and do manual backups using some other method (such as rsync), or automate backups leaving your data in clear. Think about the risk of having the laptop stolen and your data accessed, vs the risk of an hardware failure and your data lost and activate/disable file Vault accordingly. In either case you need good backups.

Another migration from Movabletype to WordPress

I had to move a very old Movabletype site over to a WordPress install. This is the migration log, for future reference.

The original site was a MT 2.5 install from 2002/2003 that has been running until now, literally untouched since a major server move in 2006, with new posts being added daily and a grand total of 5000 post, mostly medium- and long-form essays and fiction writings.

The site suffered from severe underperformance issues even under moderate load, both caused by its outdated server and by MT’s code inability to cope with a modern web environment. Comments were disabled but trackbacks were not, resulting in huge amounts of pingback spam. No plugins and no customizations other than the site’s own graphic template.

First, I refreshed my memories from 2005 when I migrated a similar site. Then, I discovered this post by David B. Bitton that shows a new way of importing data while preserving old permalinks and SEO. I’ll follow David’s steps, here’s how:

Do a backup of database and files (cgi-bin and document root) and replicate the install on my laptop so that I can set config/memory limits as I please. Logging in the local MT site (let’s call it “local1″) change the “blog config” parameters to reflect the local settings, then rebuilt the site in order to visually check the installation and use it for reference (for the original style, color palette, exact content).

After that, clone “local1″ into “local2″ (mysqldump, new db, restore db, copy files, change mt.cfg settings from local1 to local2). “local1″ will be the reference old installation, “local2″ will be the actual upgrade installation.

The goal here is to upgrade to a Movabletype version where I can do an XML “backup” of the blog, as opposed to a MT “export” in text format. The key difference is that the XML backup keeps the entry IDs of every post, that will be used later in the WordPress import. This feature was first introduced in MT 4.x MT (thanks Mihai Bocsaru in the MT forums for the information). I decided to upgrade straigth to 4.x without hopping through several intermediate upgrades 2.x 3.x 4.x and it worked, but if you have a more complex configuration, comments, plugins and customizations you may prefer the long upgrade path.

Download MT 4.37 (the earliest 4.x available) from Read the documentation on upgrades from the tarball’s docs/mtupgrade.html. The two key issues are that mt-db-pass.cgi is deprecated and mt.cfg has moved to mt-config.cgi.

Go to “local2″ cgi-bin directory, copy mt.cfg to mt-config.cgi, and add a DBPassword “yourdbpassword” statement. Then set execution permissions to mt-config.cgi. Copy the MT 4.37 files over the old installation. Go to localhost/cgi-bin/mt.cgi (or where you installed local2): an upgrade page will walk you through the upgrade process, with a nice progress bar and a helpful upgrade log. I had to check apache2 error.log several times because of missing static files (javascript and such) that I forgot to move to the proper place.

When the upgrade is completed login in the new “local2″ site and check that everything is fine. It is not, actually, because somewhere between MT 2.5 and 4.3 the character encoding has switched from Latin1 to UTF-8 and all accented letters are garbled. Ignore this issue for the time being (it’s not well documented, MT is old software with a long complicated proprietary/open history).

Go to Tools>Backup in your MT dashboard. Do an uncompressed undivided backup. The output is an XML file of all your blog contents. The original MT2.5 database was 100 MB, the XML is just a little above that. Open the XML file with a text editor: in my case half of the contents were pingback/trackback spam which I deleted, final size was 50MB.

(The pingback spam could have beed deleted from the original database via SQL in the first place, but I was not familiar with MT2.5 database. Deleting spam from the db before upgrading is going to make the following process faster.)

Then convert the character encoding of the XML backup file with iconv:
iconv -f ISO-8859-1 -t UTF-8 file > newfile
It still contained illegal characters to be replaced with their UTF-8 equivalents or their XML escape entities, especially apostrophes in the entry titles. I used Firefox to check and validate the XML file every time. (A possible explanation for this character havoc is the accumulation of thousand of posts by dozens of authors over a decade: different word processors, operating systems, writing habits: nice mess!)

From now follow David B. Bitton’s post. I made a local WordPress installation, add the Movable Type Backup Importer plugin and add just after line 407 of class-mt-backup-import.php:
$post->import_id = $id;

Import the XML file and wait, it takes some time for 5000 posts.

Then set the permalink structure, I use the year/month/day/post-title style and slightly different rewrite rules. The key is to redirect existing incoming links to the old permalink structure to WordPress default short (numeric) URLs and redirect the feed subscribers. Here’s the .htaccess (snippet):

RewriteEngine On
RewriteRule ^archives/[0-9]{4}/[0-9]{2}/0*(\d+).html$ /?p=$1 [R=301,NC,L]
RewriteRule ^archives/[0-9]{4}/[0-9]{2}/0*(\d+)print.html$ /?p=$1 [R=301,NC,L]
RewriteRule ^archives/([0-9]{4})_([0-9]{2}).html$ /$1/$2 [R=301,NC,L]
RewriteRule ^archives/cat_([a-z_]*).html$ /categorie/$1 [R=301,NC,L]
RewriteRule ^archives.html$ / [R=301,NC,L]
RewriteRule ^index.rdf$ /feed [R=301,NC,L]
RewriteRule ^index.rss$ /feed [R=301,NC,L]
RewriteRule ^index.xml$ /feed [R=301,NC,L]
RewriteRule ^atom.xml$ /feed [R=301,NC,L]

# BEGIN WordPress

Edit: there are a couple more rules I added depending on the original permalink structure in the old site. I found out checking the apache logs for 404 not found errors.

Now I have a working localhost site with all the original old site content. Check that nothing is missing, verify the users/passwords. Check the old MT media directory (usually /archives) and delete all .xml files (mostly trackback spam), html files (single posts, category archives, date archives) and date directories.

Eventually, move it to a production server (I prefer editing a database dump for this purpose) and enjoy. Keep an eye on the web server logs for 404s, adjust the htaccess rules as needed.

Soluzione al baco grafico in Ubuntu Lucid Lynx

Intel Corporation 82852/855GM Integrated Graphics Device [8086:3582] (rev 02)

Se aggiorni a Ubuntu 10.04 in un pc con questa scheda grafica, X si blocca rendendo inutilizzabile il tutto. Rimane solo un avvio in modalità provvisoria e terminale di root. Delle tante soluzioni elencate qui, vai direttamente al Workaround D: Use a kernel other than 2.6.32 ed installa un kernel 2.6.34 che durerà fintanto che non arriva la prossima 10.10.

Non commento sulla scelta di Ubuntu di far uscire una LTS con un baco così grosso, anche se di rilievo solo per pc vecchiotti.

Una intervista su Nazione Indiana

Antonio Prudenzano di intervista Gianni Biondillo a proposito di Nazione Indiana:

Nel marzo 2003 è apparso su internet uno spazio destinato a rivoluzionare e sdoganare una volta per tutte i blog letterari in Italia: Nazione Indiana (d’ora in avanti NI, ndr). A fondarlo, un ampio e variegato gruppo di intellettuali (non solo scrittori e critici letterari, ma anche artisti). Tra gli obiettivi, quello di pubblicare testi letterari e critici e promuovere iniziative politiche e culturali, il tutto all’insegna dell’interdisciplinarità e del multiculturalismo. Va detto che NI (l’idea per il nome è di Antonio Moresco) è un blog aperto a tutti solo nello spazio (spesso infuocato…) riservato ai commenti, mentre possono pubblicare articoli (post) solo i membri del progetto. A maggio 2005 alcuni membri storici (tra questi, Moresco, Tiziano Scarpa e Dario Voltolini) hanno lasciato NI per fondare la rivista cartacea e online (ma senza la possibilità di commentare i singoli articoli) Il primo amore.  Attualmente, tra i membri più attivi di uno dei blog letterari italiani più famosi c’è lo scrittore-architetto Gianni Biondillo. lo ha intervistato per fare il punto sul progetto NI e per provare a tracciare un bilancio del percorso fin qui compiuto.

Leggi l’intervista completa: Biondillo racconta Nazione Indiana: “A fine maggio siete tutti invitati alla nostra festa…”. L’intervista

Anni che passano

Domenica ore 6 del mattino, parco di periferia: io faccio i miei Km di corsa sulla collina (unica in quella zona della città), mentre gruppi di ragazzi stanno finendo un rave party e pian piano tornano a casa.

Pubblicare per Mondadori?

Helena Janeczek, editor a progetto per Mondadori, scrive sul problema di lavorare e pubblicare per una casa editrice di proprietà di Silvio Berlusconi.

In Mondadori si pubblicava – e si pubblica- dai Meridiani al libro degli Amici di Maria de Filippi. Non esiste linea editoriale perché la produzione è troppa e troppo diversa e la vocazione di fondo è soprattutto commerciale. La casa editrice non si aspetta uguali profitti da ogni collana e continua a mandarne avanti alcune più per prestigio, contando magari pure di rientrare nelle spese con le edizioni economiche. Ma anche chi, come me, si è sempre solo occupata delle collane letterarie, deve misurarsi con il mercato. Nessuno si aspetta che ogni libro diventi un bestseller, ma la regola di fondo è quella del guadagno. Guadagno che non deve essere sempre e solo immediatamente economico, ma contempla pure il ritorno d’immagine o l’investimento su un autore. Gli spazi per scelte di maggiore rischio o per semplicemente fare libri in cui si crede, stanno diventando sempre più ristretti, ma il problema riguarda l’editoria e l’industria culturale nel suo insieme, nemmeno solo quella italiana.

Quel che mi premeva sottolineare è che in Mondadori come altrove vige molto di più l’imposizione del mercato che quella di una linea editoriale “politica”. [...]
La libertà di Mondadori – di Einaudi a maggior ragione- era in qualche modo proporzionata alla scarsa incidenza sul consenso di massa cercato da Berlusconi. I libri sono prodotti di nicchia o di elite, destinati a un consumatore in genere appartenente allo schieramento politico avversario, minoranza della minoranza. L’azionista poteva guadagnare con le aziende gestite secondo normali criteri di mercato – meno che con altre sue attività- senza rischiare nulla sul piano politico. O almeno l’idea che i libri siano innocui e ininfluenti era un corollario del populismo, in tempi in cui la strategia berlusconiana era soprattutto quella di assicurarsi l’approvazione di una maggioranza.
Poi accade che un esordio come Gomorra stampato in cinquemila copie superi i due milioni, che in più il suo autore acceda anche lui alla tivù, e lì le cose, forse, cominciano a cambiare. [...]
Il cambiamento che in tivù mostra soprattutto un volto di censura soft (editoriali di Minzolini a parte) – non dare certe notizie, darle male o in fondo- si appalesa invece sui quotidiani in modi molto più aggressivi. Le prime pagine grondano come non mai di titoli e articoli razzisti, omofobi, cattolici integralisti perché tale è, appunto, l’attuale linea del governo Pdl-Lega. In più, quei giornali passano dal rispecchiare posizioni di destra, anche molto di destra, a sparare con ogni mezzo, diffamazione passabile di querela inclusa, contro la parte avversa. Che tale neomaccartismo coinvolga persino redattori di cultura che si affrettano a ritracciare i nemici in sedi marginalissime come il nostro blog, sembra indicativo.

Pubblicare per Berlusconi? di Helena Janeczek su Nazione Indiana

La ragionevole tristezza del win for life

Chiara Valerio a proposito delle lotterie italiane e della moderata, ragionevole tristezza del win for life: L’uovo oggi e la gallina domani su Nazione Indiana:

Mi perdoni quante estrazioni ci sono al giorno? Dodici estrazioni. Ah, e per quanti giorni alla settimana? Sette, sette giorni. Io volto le spalle perchè essere identificati come precari non è una offesa, ma essere identificati come malati di un gioco che non regala un sogno, una pazzia, o una vita nuova, ma solo la quotidianità che dovrebbe essere accessibile non dico a un singolo ma quantomeno a un nucleo familiare di qualsiasi natura allora no, non ci posso stare.

p2p e privacy in rete con OneSwarm

Privacy-preserving P2P data sharing with OneSwarm - Tomas Isdal, Michael Piatek, Arvind Krishnamurthy, Thomas Anderson – Technical report, UW-CSE. 2009. (PDF)

La privacy – la protezione delle informazioni dagli accessi non autorizzati – è sempre più rara in Internet, eppure sta diventando sempre più importante nel momento in cui ciascuno di noi è diventato sia fruitore, sia produttore di contenuti.

La mancanza di privacy è particolarmente evidente per i programmi di condivisione dati peer-to-peer più diffusi, in cui i meccanismi di rendezvous pubblico e la partecipazione dinamica rendono molto facile sorvegliare il comportamento degli utenti.

In questo saggio presentiamo la progettazione, la realizzazione e l’esperienza pratica di OneSwarm, un nuovo sistema di scambio dati P2P che fornisce agli utilizzatori un controllo esplicito e flessibile sui loro dati: è possibile condividere i dati pubblicamente oppure in modo anonimo, con tutti i propri amici, solo con alcuni amici e non con altri, oppure solo tra i propri computer personali. Leggi il seguito su Nazione Indiana»

cialtroni di talento