The most compatible partitioning OSX scheme?

As I wrote in my previous entry, various apple software has issues with HFSX, which is a Leopard interesting option for unix oldies.
I think there is probably no value to have filenames differing only in case (e.g., Readme an README), but, as a matter of fact these things can happen. And checking out project files with same name from subversion can be really annoying.

So, apparently OSX users have to face this decision:


  • HFS+, case insensitive, compatible with photoshop and other (poorly designed) software, but not unix compliant (potential problems with mysql, cvs, svn, etc.)

  • HFSX, case sensitive, unix compliant (mysql, cvs, svn, etc.) but facing potential problems with a lot of apple and third party software (filevault, photoshop CS3, photoshop elements, and probably lot of others)


Not an easy one, though I'd probably have gone for the HFS+. But luckily with Leopard is easy to partition your disk (ie you don't need anymore iPartition or similar), and you can mix and match HFS+ and HFSX partitions. So, to minimize the impact of case sensitivity/insensitivity problem, you can just slice up your disk in - let's say - 3 partitions:


  • The System one, case insensitive. Photoshop CS3 writes things in the /System and /Library folders, and its installer simply quits if you boot your mac from a case sensitive FS.

  • Another one with /Application and /Users, case insensitive. Here you will install all the adobe and other not-unix-compliant software. This will be the default for all your applications. Case insensitive /Users is needed for FileVault.
  • Another one for other unix software, case sensitive. Here you can checkout from cvs/svn, install mysql and so on. You can also mount /Users here if FileVault is not an option for you



To do that, just start DiskUtility (usually in /Applications/Utilities), select your OSX disk and choose the Partition tab. Then add as many partitions you like, and format them as planned. Easily done that said.

Ah, and don't forget to edit your .profile:


bind "set show-all-if-ambiguous On"
bind "set completion-ignore-case On"


so that bash don't get in your way when dealing with filenames differing only in case.
Comments (1) Show Comments

The case for case insensitivity

Well,
when I first discovered that the default file system on OSX was case insensitive, I said it was impossible. I was sure it's case sensitive, it's unix, and unix IS case insensitive, isn't it? The truth was that I had been working on it for more than a year, but my mbp was indeed case insensitive, and I never noticed only it because the bash was shielding me from this detail. I configured bash to be more case-aware (bind "completion-ignore-case On"), but after having some issues with subversion, I decided that my next installation would have been a standard unix case sensitive one.

So, fast forward to present. I decided to install the HFS+ case sensitive file system (aka HFSX), although I had a little voice in my head screaming... I also read some warnings but decided to proceed anyway. After a few months of working on a case sensitive mac, it's time to wrap up:

- Backups. It's reported that backup tools on mac can be confused by case sensitive fs. Indeed, Time Machine didn't recognize its own backup, and suggested me to format again the external firewire (sic!). Ok, I copied the files manually and then started again with time machine. Scaring, isn't it? mmm... perhaps I had to listen to the little voice.
- FileVault. Then I discovered that Filevault simply DOESN'T work on a case sensitive file system. So, if you are planning to use it, beware: you'll have to choose between filevault and case sensitivity. I don't know if FileWault is worth its weight, but this is really annoying. Well, let's go on with our case sensitive FS for a while.
- Adobe. Can you believe it? Photoshop CS3, Photoshop Elements and other well known mainstream apps DON'T work on a case sensitive file system. This was really hard to believe for me, but apparently they can't spend 1 week of their precious engineering time to fix this. Someone managed to workaround the issue (I'd say it's a bug, but the Adobe guys don't think so) but it looks to me very dangerous. The truth is that photoshop is untested on HFSX, and any serious user should not rely on the "hacked" version.
- iPhoto. I have also read some people having issues with iPhoto on HFSX

So, blame on Apple, because they can't manage to make their own apps working well on HFSX, and because they make the case insensitive fs the default. And blame on Adobe, because they are supposed to be a serious software house: in 2008 saying that this is not an issue and/or it's not worth fixing it's kinda lame. C'mon guys, just renaming some files in your VCS and do some regression testing can't be that hard!

Ah, I'll go back with a case insensitive FS as soon as possible. Thanks, Adobe.
Comments

Quale leggenda?

WARNING: SPOILER inside, sia sul libro che sul film

Beh, non ho potuto resistere. Io sono leggenda, di Richard Matheson, è uno dei libri più belli che abbia mai letto. E così stasera ho lasciato i pupi a casa e me ne sono andato subito a vedere il filmone omonimo con Will Smith.

Non sono uno di quelli che dice sempre che i libri sono meglio dei film tratti da essi, manco per sogno: Shining di Kubrick è infinitamente meglio del libro di King, per esempio. Grazie a Kubrick e a Jack Nicholson, certo, ma probabilmente anche grazie al lavoro oscuro degli sceneggiatori. E non sono neanche uno di quelli che vuole che i film siano fedeli ai libri per filo e per segno: è ovvio che i due media abbiano esigenze profondamente diverse, che la trasposizione talvolta avvenga anni ed anni dopo (53 anni in questo caso) e che dunque si debba pesantemente mettere mano alla sceneggiatura, limare qui, togliere la', aggiungere qualcosa di adatto alla sala, togliere cose che non rendano sul grande schermo. Ci sta.

E Will Smith mi piace pure, l'ho apprezzato in Ali e sono stato uno di quei mammoni che si è commosso vedendo "Alla ricerca della felicità" di Muccino, pensa te. E aggiungo pure che "Io sono leggenda" (il film), nel *suo* genere, non è neanche male, un bel film d'azione con scene spettacolari, una NY deserta da brividi, qualche spunto ben riuscito qua e la (i manichini che piazza nei negozi per simulare normalità sono una bella trovata)

Peccato che il genere del film non sia lo stesso del libro, che parla proprio di altro e che è stato completamente stravolto: vadano i leoni e le gazzelle in piena new york, vada pure il solito politically correct pseudoambientalista sulla mutazione genetica creata per errore dall'uomo, vada per la sostituzione dei vampiri con dei più moderni e spaventosi esseri deformati dalla malattia e per tutte le altre differenze qua e la'.

Ma lo spirito del libro non si deve tradire, eccheccazzo: Matheson nel suo libro ci parla di solitudine, di razzismo, della paura del diverso, di come l'orrore si insinui lentamente nella quotidianità diventando a sua volta quotidianità, come dice Evangelisti nella postfazione. E di come sia difficile stabilire chi sia il buono e chi il cattivo: concetto che i film americani tipicamente digeriscono poco, ma che ci volete fare, io sono un ragazzo ottimista e ci speravo.

Matheson usa l'"ultimo uomo sulla terra" per dirci tutto ciò: Robert Neville (quello del libro, non la sua muscolosa controparte cinematografica) è solo, solissimo e ha due occupazioni principali: cercare nel suo villaggio i luoghi dove i vampiri si nascondono, uccidendoli senza pietà, oppure studiare il fenomeno a casa sua, mentre i suoi ex vicini di casa cercano di entrare per farlo diventare uno di loro, un non morto. Delle semplici assi alle finestre e qualche altro ingegnoso espediente li tengono lontani abbastanza facilmente, e Robert Neville in un certo senso si adatta bene alla nuova realtà, sopravvive e studia il fenomeno, vuole capire. E' vero che si ubriaca nei momenti di sconforto, che ascolta un disco al massimo volume per non sentire i lamenti degli "altri" che lo bramano, e che talvolta si deprime un po'. Ma non perde mai la sua umanità e coglie al volo l'occasione di avere compagnia, che si presenterà prima in un cane miracolosamente scampato ai vampiri e poi nella bella Ruth, che amerà con forza, tanta forza da non accorgersi della sua vera natura.

Ma quando "la nuova società" se lo viene a prendere e nel farlo trucida i vampiri "primitivi" nel circondariato, Robert Neville non riesce a non piangere per il suo ex-vicino Ben Cortman, a cui ha pur dato la caccia costantemente negli ultimi mesi (era nascosto nel comignolo, Ben: cosa c'è di più familiare di un bel comignolo di mattoni?). E di colpo capisce di non essere l'ultimo uomo sulla terra, ma solo l'ultimo della vecchia razza, e di avere un solo destino: essere una leggenda.

Status che questo film difficilmente raggiungerà, ma che in fondo in fondo (ma proprio in fondo) consiglio di vedere, in fondo... Se però non avete ancora letto il libro (che cosa ci fate qui??? Avevo scritto SPOILER!), non è mai troppo tardi: prima o dopo il film non farà comunque molta differenza.
Comments (2) Show Comments

Potenza di internet…

non è che sia un esempio particolarmente eclatante o importante, ma...

... ascoltate qui la storia di questo presunto attacco di squalo. (gli squali sono animali che amo, la mia prima - ed unica - società si chiamava proprio shark). La musica di Spielberg, le immagini, il pugno sul muso per liberarsi.

Poi googlate un po' e troverete che il tipo è stato già arrestato, e che probabilmente si è ferito con una finestra in un tentativo di furto.

Quando spariranno definitivamente i giornali? Anche i pochi decentemente online mantengono evidentemente i difetti del cartaceo: due anni? cinque? dieci?
Comments (1) Show Comments

Great fun @ Javapolis…

Ok, it was a BOF, and at 9.00 PM. And, we didn't manage to get the Javapolis tickets in time (ironically, I am also a Jug Leader with a free pass), so we were in the unfortunate position of being speakers withouth the rights to stay at the conference :(

But the talk has been great fun, lot of questions and interaction. Being the last BOF we also used an extra half-hour... and we had the terracotta guys attending the meeting (isn't it strange to hear other people talking about your product? That probably means your baby is moving up in the world), they also helped us on some questions, mostly details on an undocumented feature like the active/active server master Ari mentioned in its response to Bela Ban

Definitely, terracotta is a great product with a very competent team. And me and Sergio had great fun in hacking Jira. Next target: cluster Confluence?
Comments

Scarlet news…

Sergio beat me on time and announced Scarlet beta 2

Well, at least this delay gives me more time to comment on some blog reactions from Terracotta friends Orion and Ari :)

As Ari said, clustering with an invasive situation is really a different beast. I'd add that it could be literally devastating for your legacy project. Atlassian Confluence is a real world example, it has been a 54 man/month effort according to an atlassian presentation given some months ago. Clustering Jira with Terracotta has been much easier than that, and assuming that confluence and jira have the same complexity (which is a reasonable assumption, coming from the same company and sharing a similar architecture), we can safely say that the effort to cluster with TC has been a tiny fraction than 54 man/month, so much much better than that.

Regarding the transparent clustering claim, well... for us it's been more a translucid one ;) Dealing with legacy J2ee code can be very tricky, and using a straightforward terracotta solution (ie simply putting the objects in your shared roots and writing some XML) is not always feasible/performant/possible. We described some of the issues we found in our talk at javaday (which should be replicated at next javapolis, if we can find the air tickets :) ).

For example, dealing with a lot of uncorrectly synchronized home-grown caches forced us to write a common cache adapter on top of them, using a lock-striping solution and than TC-ize that.
Not exactly the kind of stuff you code in the weekend!
Comments

Scarlet rules!

Scarlet is out!

 

The first public beta release of Scarlet is officially out!

Scarlet is a free, open source, clustering extension to Atlassian Jira. Scarlet answers to one of the Jira customer's frequently asked question: how to make an higly available Jira installation? How to make it scale?

This was definitely an insormontable issue until Sergio Bossa attacked the problem using one of the most interesting open source pieces of code available today, Terracotta DSO.

 The first reaction when you see Terracotta at work it's... jawdropping. The second is that you start to think at how many things you can do now with a better performance and/or with less headaches (ie without the app server). Believe me, it's amazing. And if you want to dig deep in terracotta, you'll also make good use of your deep knowledge of Doug Lea's Concurrent Programming and Brian Goetz Concurrency in practice, which is a good thing(tm) Main features:

  • fool-proof setup clustering solution
  • completely transparent: no new things to learn 
  • just plain old java objects with steroids!
Download Scarlet here and let us know what do you think. Ah, and did I mention that we will also be at Javapolis to meet you and describe our code in depth? Stay tuned.
Comments (3) Show Comments

Ulog, the Ugol blog, reloaded!

Ok, I needed one year to write my first post on my new blog, but... hey, it's there. Don't pretend too much.
Ah, and I have a pretty cool name (thanks to Sergio Bossa ) and a pretty cool theme (thanks to... googling ).
More on this later, now let me just update the links :)
Comments (2) Show Comments